Newsgroup: it.comp.www.php
Titolo: Metodo POST

Spiego brevemente quello che vorrei realizzare:
In una pagina WWW ho una textarea che contiene un messaggio di lunghezza 
arbitraria (quindi anche superiore ai 255 caratteri).
Cliccando il pulsante 'SUBMIT' viene inviata ad un script mailer.php che 
controlla la correttezza formale di un valore di posta elettronica
dopodich�, nel caso il controllo fallisca, vorrei ricaricare la pagina 
iniziale di invio mail, segnalando l'errore, e contenente il messaggio 
digitato.
Non posso usare il metodo GET perch� potrei benissimo superare i 255 
caratteri consentiti, come potrei fare ?
Qualcuno potrebbe suggerirmi di fare questo controllo a lato client usando i 
javascript; lo faccio ma vorrei farlo anche a lato server in
quanto l'utente potrebbe aver disabilitato javascript.
Grazie per le risposte
DeltaElectronics 
 

caratteri consentiti, come potrei fare?
 
Vediamo un po': ci sono due metodi, POST e GET; GET e' il caso di non
usarlo; davvero non ti viene in mente niente? :-D
 
E per mostrare il messaggio semplicemente NON FAI redirect, ma mostri
il messaggio all'interno di mailer.php.
 
Ovvero, modifichi la tua form in modo che riempia i campi *se* questi
sono definiti:
 
	<textarea name="message"><?php
		if (isset($_REQUEST['message'])) {
			print $_REQUEST['message'];
		}
	?></textarea>
 
e anche magari:
 
	<?php
		if (isset($ErrorMessage)) {
	?>
		...altro HTML di formattazione...
		<?php print $ErrorMessage; ?>
		...
	<?php
		}
	?>
 
dopodiche' metti la form dentro form.php.
 
E in mailer.php:
 
	if ($good) {
		// Invia la mail,
		// spero per te a un indirizzo HARD CODED e non
		// qualcosa passato in _POST
	} else {
		$ErrorMessage = "Eh! Non va minga bene.";
		include "form.php";
	}
 
Leonardo
 
-- 
 
Then felt I like some watcher of the skies, when a new planet swims into his ken;
Or like stout Cortez when with eagle eyes, he star'd at the Pacific; and all his men
Look'd at each other with a wild surmise - silent, upon a peak in Darien.

 usarlo; davvero non ti viene in mente niente? :-D
 
HEAD?
 
 
-- 
Andrea
 

 HEAD?
 
e PUT?


Rilancio: PATCH
 
Bye.


Perchè non aprire un Websocket?
 
 
-- 
g4b0, linux user n. 369000
http://brosulo.net
 


Eh no, i Websockets non sono HTTP
AFAIK
 
-- 
I fatti mi cosano

 
E come lo uso il metodo post nel mio script mailer.php ?
Non ho un form......
Grazie per le risposte
"Andrea D'Amore"  ha scritto nel messaggio 
news:l4k71q$2t2$1...@virtdiesel.mng.cu.mi.it...



venga voglia di darti la risposta ovvia e banale
 
<form> ...
 
if({ ...


Scusa uso Live Messanger.... con un <form> dovrei prevedere un pulsante 
submit, invece il ridirezionamento dovrebbe essere automatico, senza che
l'utente debba premere dei pulsanti o altro.
Grazie per la risposta.
DeltaElectronics
 
"Marco Albarelli (fu Motosauro) @fisso "  ha scritto nel messaggio 
news:l58kd9$m0b$2...@speranza.aioe.org...


 DeltaElectronics
cut...
 
-- 
I cosi mi fattano

Probabilmente mi sono spiegato male; cerco di spiegarmi meglio:
1-) L'utente invia il messaggio ad uno script php (mailer.php) che controlla 
a lato server la correttezza dei campi compilati.
2-) Lo script mailer.php, dopo aver riscontrato l'errore formale (ad esempio 
sulla mail) deve ridirezionare  automaticamente alla pagina web del
    form indicando l'errore e rimandando i campi compilati a quest'ultima.
Non so proprio come fare.
Spero di essere stato più chiaro.
Grazie ancora per l'aiuto.
DeltaElectronics
 
"Marco Albarelli (fu Motosauro) @laptop"  ha scritto nel messaggio 
news:l5atpd$7ff$1...@speranza.aioe.org...


 DeltaElectronics
ci sono diversi modi per fare quello che vuoi
 
lo script mailer.php in caso di errore ridirezione alla pagina con il form
 
metodo brutale e zozzo
header( 'Location: 
http://www.tuosito.com/pagina_con_il_form.php?errore=mesaaggio_errore
' ) ;
e dal form intercetti la querystring errore.
 
<?php
       if ($_GET['errore'])
       {
           echo $_GET['errore'];
       }
?>
 
oppure
 
il controllo della validità dei campi lo fai all'interno dello script 
del form (in questo caso però non disaccoppi il form dai controlli)
e il POST non avviene su mailer.php ma su se stesso.
 
oppure molto meglio utilizzi un framework mvc che disaccoppia il tutto e 
ti permette di gestire la cosa con facilità
 
e altri ma inizia a vedere se i primi due sono adatti
 
Ciao

....
 
Sì, hai perfettamente ragione ma io vorrei anche valorizzare i campi di 
"pagina_con_il_form"
precedentemente compilati e il metodo GET non è certo quello indicato, visto 
che è facilissimo
superare i 255 caratteri.
Grazie per l'aiuto.
DeltaElectronics 
 

 DeltaElectronics
 
Utilizza la sessione, da mailer.php quando intercetti l'errore valorizzi 
i campi e il messaggio di errore in una sessione, e fai il redirect alla 
pagina con il form
 
nella pagina con il form prendi i dati di sessione.
 
mailer.php
session_start();
$_SESSION['errore'] = 'TUO MESSAGGIO ERRORE';
$_SESSION['campo1'] = $campo1
 
 
 
nel form mail
session_start();
echo $_SESSION['errore'];
echo $_SESSION['campo1'];
 
Ciao