
Originariamente inviata da
boots
No, le variabili php sono "allocate" lato server. In pratica funziona così:
1. Carichi la pagina: viene fatta una richiesta HTTP di tipo GET al server.
Sul server viene allocata la varibile $message ed impostata a null. Non esiste la chiave submitted dell'array $_POST quindi l'if non è eseguito.
Al client arriva il form con in mezzo il valore di $message (che è nullo).
2 Quando clicchi sul submit viene fatta una nuova richiesta HTTP al server della pagina, però di tipo POST. In questa richiesta il payload contiene i dati inseriti nel form che vengono passati a php nell'array $_POST. In questa nuova richiesta $message viene impostato a null, tuttavia $_POST['submitted'] è presente (viene dal post del form) quindi è eseguito il codice del if, che assegna a $message quello che c'è in $_POST['message']. Al client arriva di nuovo il form ma $message varrà quello che è stato inserito in precedenza.