Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Aggiornamento dinamico

  1. #1

    Aggiornamento dinamico

    Salve a tutti. Ho un form in una pagina php come questo:
    codice HTML:
    <form action="" method="post">
          <input type="file" />
          <input type="text" name="message" />      
          <?php echo $message; ?>
          <input type=submit name="submitted" />
    </form>
    e sulla stessa pagina una funzione come questa:
    Codice PHP:
    <?php
    $message 
    "";

    if(isset(
    $_POST["submitted"])){
          
    $message $_POST["message"];
    }
    ?>
    La mia domanda è fondamentalmente: Come fa questo "costrutto" a funzionare? PHP viene eseguito sul server, no? allora come è possibile aggiornare il contenuto di $messaggio? Sono giorni che ci ragiono per capire, ma non ci riesco.
    Ultima modifica di salvo.pappy; 16-11-2016 a 16:37

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    E' corretto . Di strano non c'è nulla. Se inviata la form tramite submit ovviamente ricarica la pagina. Se presente quindi $_POST['message'] , $message avrà quel valore.

  3. #3
    Quindi la gestione delle varibili e della memoria avviene lato client. Se non fosse così non avrei altre ipotesi per capire come vengono allocate le variabili.

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    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.

  5. #5
    Quote Originariamente inviata da boots Visualizza il messaggio
    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.
    Grazie, era questa la risposta che cercavo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.