Visualizzazione dei risultati da 1 a 10 su 26

Discussione: Domanda GET POST

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    a volte è preferibile usare le modalità di invio dati su due file: uno con il form e un altro per elaborare i dati inviati.
    Nell'usare uno stesso file, sia per il form sia per la elaborazione dei dati, bisogna prestare attenzione al flusso, esempio con il controllo IF:
    if (se c'è un particolare evento) { elabora tali dati} esleif(se invece avviene un altro evento) {elabora questi altri dati}else{ altrimenti se non ci sono i primi due eventi fai questo!}

    codice:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Test</title>
    </head>
    <body>
    
    <?php
    if (isset($_POST['nome'])) {
      print "nome = ".$_POST['nome'];
    $valorenome=$_POST['nome'];
    $name=$_POST['nome'];
    $valore=$_POST['nuovo'];
    $valval=$_POST['submit'];
    
    print("<br/>valorenome: $valorenome</br>name: $name</br>valore: $valore</br>valval: $valval</br>");
    //qui sopra non va nulla
    //qui sotto nemmeno XD
    
    print("<form action='$_SERVER[PHP_SELF]' method='post'>
    </br><input type='text' name='mnome'>
          <input type='checkbox' name='mnuovo' value='msi'>
          <input type='submit' name='msubmit' value='minvia'></br>");
          
          
    }elseif(isset($_POST['mnome']))
    {
    $mvalorenome=$_POST['mnome'];
    $mname=$_POST['mnome'];
    $mvalore=$_POST['mnuovo'];
    $mvalval=$_POST['msubmit'];
    print("<br>mvalorenome: $mvalorenome</br>mname: $mname</br>mvalore: $mvalore</br>mvalval: $mvalval<br>");
    }
    else{
    ?>
    
    
    
    <form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
          <input type="text" name="nome">
          <input type="checkbox" name="nuovo" value="si">
          <input type="submit" name="submit" value="invia">
    </form>
    <br>
    <?php
    }
    ?>
    
    </body>
    </form>
    </html>
    testasto e funziona

  2. #2
    Quote Originariamente inviata da ttcc Visualizza il messaggio
    a volte è preferibile usare le modalità di invio dati su due file: uno con il form e un altro per elaborare i dati inviati.
    Nell'usare uno stesso file, sia per il form sia per la elaborazione dei dati, bisogna prestare attenzione al flusso, esempio con il controllo IF:
    if (se c'è un particolare evento) { elabora tali dati} esleif(se invece avviene un altro evento) {elabora questi altri dati}else{ altrimenti se non ci sono i primi due eventi fai questo!}
    codice:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Test</title>
    </head>
    <body>
    
    <?php
    if (isset($_POST['nome'])) {
      print "nome = ".$_POST['nome'];
    $valorenome=$_POST['nome'];
    $name=$_POST['nome'];
    $valore=$_POST['nuovo'];
    $valval=$_POST['submit'];
    
    print("<br/>valorenome: $valorenome</br>name: $name</br>valore: $valore</br>valval: $valval</br>");
    //qui sopra non va nulla
    //qui sotto nemmeno XD
    
    print("<form action='$_SERVER[PHP_SELF]' method='post'>
    </br><input type='text' name='mnome'>
          <input type='checkbox' name='mnuovo' value='msi'>
          <input type='submit' name='msubmit' value='minvia'></br>");
          
          
    }elseif(isset($_POST['mnome']))
    {
    $mvalorenome=$_POST['mnome'];
    $mname=$_POST['mnome'];
    $mvalore=$_POST['mnuovo'];
    $mvalval=$_POST['msubmit'];
    print("<br>mvalorenome: $mvalorenome</br>mname: $mname</br>mvalore: $mvalore</br>mvalval: $mvalval<br>");
    }
    else{
    ?>
    
    
    
    <form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
          <input type="text" name="nome">
          <input type="checkbox" name="nuovo" value="si">
          <input type="submit" name="submit" value="invia">
    </form>
    <br>
    <?php
    }
    ?>
    
    </body>
    </form>
    </html>
    testasto e funziona
    Hai ragione, ora funziona...
    L'ho modificato per portarlo alla seconda pagina: prova.php e funziona...
    Il link è ancora valido:
    http://fiorefix.altervista.org/Slot/Test.php
    (poi a giorni lo rimuoverò).
    Ho visto le modifiche, e ok, ma il problema iniziale che avevo, lo ho ancora, e adesso vi spiego:
    Se faccio una pagina che refresha se stessa:
    Codice PHP:
    print("<input type='hidden' name='rep' value='$rep'>");
    $casereply=$_POST['rep'];
    print(
    "</br>Variabile POST: $casereply</br>Variabile Diretta: $rep"); 
    Verificando la stampa, $rep va bene, mentre $casereply carica il valore al secondo caricamento della pagina, questo ritardo, me lo trovo anche nella seconda pagina se modifico l'action, che è dove mi servirebbe il valore, che per com'è fatta la prima pagina, risulta sempre lo stesso...

    Quello che mi fa andare di matto, è che ho pure delle altre variabili, scritte allo stesso modo, e funzionano bene...

  3. #3
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    non so se ho capito bene....
    bisogna vedere da dove vengono le variabili. Nel tuo caso potrebbe essere un discorso di
    Codice PHP:
    $_SESSION[''

Tag per questa discussione

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.