Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Get utilizzato come post

    Ragazzi ho questo dubbio:

    se io faccio: miolink.php?dato=ciao&dato1=ciao1

    per recuperare dato e dato1 devo fare get['dato'] e get['dato1']

    ora vi spiego il mio problema.

    Ho la pagina 1 che chiamiamo home e la pagina 2 che chiamiamo operazioni.

    in home c'è un form di registrazione semplice semplice.

    nella pagina operazioni faccio poi (in caso di vari errori tipo dati non inseriti ecc) questo procedimento:

    $url = home.php?id=1&stato=errore
    if($_POST['nome']==''){

    echo "<script type=\"text/javascript\">alert(\"Attenzione: non hai inserito il nome!\")</script>";

    header("refresh: 0; $url");



    }
    Quello che per me è importante è che venga visualizzato id=1 nella pagina dopo. Ma non voglio che viene visualizzato anche stato=errore. Però non so come altro passarlo alla pagina originale. Ma se viene visualizzato stato=errore io potrei anche modificarlo e mettere stato=ok e far sballare i dati. Non so se mi sono spiegato. Come faccio per passare questi dati come get ma fare in modo che solo uno dei due venga visualizzato alla pagina precedente?

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, ti consiglio di non passare errore via get ma di controllare se effettivamente i campi sono corretti direttamente nella pagina operazioni.

  3. #3
    Secondo me la soluzione è più facile di quello che credi...

    Home ha un form, io faccio puntare di nuovo a home.
    Home avrà un controllo che se non esiste una variabile (nel nostro caso la pressione del tasto submit o invio del form in generale) con

    Codice PHP:
    if (isset($_POST['nome_bottone_submit']))
    {
      
    // premuto il tasto
    }
    else
    {
      
    // non lo ha premuto

    Controlli poi di conseguenza, se lo ha premuto controlli i campi, in caso di errore riscrivi tutto il codice iniziale ma sopra metti qualcosa che avvisa l'utente, nel caso sia tutto giusto mandi esegui in questa pagina il codice della pagina operazioni e poi rimandi ad una pagina che vuoi te.

    Nel caso il bottone non sia stato premuto stampi il codice come se fosse la prima visualizzazione della pagina.

  4. #4
    Mi sono spiegato davvero male. A me serve da fare una cosa che in realtà non si può fare come la sto scrivendo. Mi serve da trovare un modo per farla:

    Ho un link che faccio così: partita.php?partita=999&stato=In corso&tempo=Primo Tempo

    A me non va che rimangono visibili stato e tempo anke perchè ho notato che se cambio e metto tempo=Secondo Tempo mi cambia proprio. Quindi ho pensato di usare post al posto di get (tranne per la partita che non va a modificare il database).
    Quindi vorrei fare una cosa così (che ovviamente è sintatticamente sbagliata).

    Link
    <input type="hidden" name="stato" value="In corso">
    <input type="hidden" name="tempo" value="Primo tempo">

    Come posso farla? Voglio passare come get solo partita e come post stato e tempo senza usare il form

  5. #5
    Originariamente inviato da AyeyeBrazorv
    ...senza usare il form
    Non si può.
    L'alternativa è mettere i dati in sessione.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Originariamente inviato da satifal
    Non si può.
    L'alternativa è mettere i dati in sessione.
    Non posso che quotare.

  7. #7
    Originariamente inviato da goikiu
    Non posso che quotare.
    Ho provato con questa cosa:

    Codice PHP:
    echo "<script type=\"text/javascript\">alert(\"Messaggio di errore\")</script>";

                    echo 
    "<form action=\"partita.php?id=$pid\" method=\"post\" id=\"1111\"><input type=\"hidden\" name=\"stato\" value=\"$stato\">
    <input type=\"hidden\" name=\"tempo\" value=\"
    $tempo\"></form><script type=\"text/javascript\">1111.submit()</script>"
    Mi dice missing ; before statement

  8. #8
    hai provato con:
    "> Link

    e quando li ricevi
    $altro = explode("|",base64_decode($_GE['altro']));
    I Love Paris...

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.