Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50

    Probema con funzione header e get/post

    Salve ho realizzato uno pagina php con un form in modo tale che quando si clicchi sul submit del form parta lo script inserito nella stessa pagina php. Alla fine di esso c'è una funzione header per andare in un'altra pagina. Però in questo modo i dati con il metodo get del form non vengono passati all'altra pagina, come mai??

  2. #2
    sarà probabilmente un problema di come passi i dati nell'header... scrivi il codice interessato perfavore e riusciamo a dirti meglio dove risiede il problema...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50
    Ok, siccome i file in questione sono molto voluminosi, ho realizzato due file d'esempio per rappresentare la logica che ho seguito.


    ecco i due file

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento senza titolo</title> </head>  <?php if(isset($_GET['ciau']))  { header('location:prova20.php'); }  ?>   <form name="ciao" action="" method="get"> <input type="hidden" name="bene" value="come stai?" /> <input type="submit" name="ciau" /> </form>  <body> </body> </html>
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento senza titolo</title> </head> <?php if(isset($_POST['bene']))  { echo"è ok, bravo";}  ?> <body> </body> </html>
    Grazie..

  4. #4
    ciao,

    1) prima di tutto:
    Codice PHP:
     header('location:prova20.php'); 
    è solo un reindirizzamento al secondo script che in quanto tale non passa nessun valore ne via GET nè via POST


    2)secondo:
    se tu nel secondo script (prova20.php) scrivi
    Codice PHP:
     php if(isset($_POST['bene']))  { echo" è ok, bravo";} 
    significa che ti aspetti che ti arrivi (proveniente dal primo script) una variabilie 'bene' spedita via POST.
    Per fare ciò non puoi certo basarti su header('locationrova20.php'); perché non è ingrado di mandare via POST alcunché. (dovresti usare un'altra tecnica)

    3)L'unica maniera per ottenere quello che vuoi senza stravolgere i tuoi script è:

    3a) spedire la variabile 'bene' via GET, questo sì lo puoi fare via header
    Codice PHP:
    header('location:prova20.php?bene=come stai?'); 
    o più correttamente (nel tuo caso)
    Codice PHP:
    header('location:prova20.php?bene='.$_GET['bene']); 
    3b) nel secondo script leggere la variabile che arriva via GET (non più via POST)
    Codice PHP:
     php if(isset($_GET['bene']))  { echo " è ok, bravo";} 
    That's all.


    cmq io fossi in te mi rileggerei un attimo cosa sono i metodi GET e POST e come vengono passati perché mi sembra che non ce l'hai tanto presente

    Saluti
    P.H.

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.