Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    26

    Validare un form in php

    Ciao a tutti
    ho recentemente sviluppato il classico form in php che ti permette di iscriverti ad un determinato servizio. Come in tutto i moduli nel footer del form c'è il trattamento della privacy. Il problema è proprio questo! Ho creato un controllo in php per costringere gli utenti ha rispondere Si nel checkbox. Soltanto che non funziona. In pratica quando mi connetto alla pagina contatti.php mi sparisce di colpo la formattazione (pagina bianca) e mi stampa la scritta: "Errore!Deve accettare l'informativa sulla privacy"

    Ecco il mio codice:

    # controllo campi compilati
    if (( $privacy == "Si" )){
    echo "<h3>Errore!</h3>
    Deve accettare l'informativa sulla privacy

    La preghiamo di <A HREF=\"javascript:history.go(-1)\">tornare indietro e confermare</A>. Grazie";
    exit;
    }

    # inizio elaborazione dei dati


    In cosa ho sbagliato?

  2. #2
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Sicuro di avere register_globals = on nel php.ini?
    Altrimenti usa gli array $_GET o $_POST a seconda di quello che hai usato per passare i dati dal form alla pagina che li processa.

    Inoltre togli un paio di parentesi....
    codice:
    if ($privacy == "Si")
    Fammi sapere

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    26
    Ciao Avalox
    grazie innanzitutto per la tua disponibilità. Come da te suggerito ho provato a fare qualche modifica. Il problema adesso è che non mi convalida il campo. Finisce quindi per validare la registrazione.


    Codice PHP:
    <? 
    # controllo campi compilati 
    if ( $privacy == "Si" ){ 
    echo 
    "<h3>Errore!</h3>
    Deve accettare l'informativa sulla privacy
     
    La preghiamo di <A HREF=\"javascript:history.go(-1)\">tornare indietro e confermare</A>. Grazie"

    exit; 



    # inizio elaborazione dei dati 
    ?>
    Questo l'ho messo in testa alla pagina:
    Codice PHP:
    <?
    if(!isset($_POST)) $_POST=$HTTP_POST_VARS;
    ?>

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    ti faccio un esempio con un semplice form (checkbox + submit)

    ecco il form:
    Codice PHP:
    <form method="post" action="prova.php">
        <
    input type="checkbox" name="privacy">
        <
    input type="submit">
    </
    form
    ...nel codice di controllo puoi fare cosi:

    Codice PHP:
    if ($_POST['privacy'] == TRUE)
    {
        print(
    "hai effettuato il login");
    }
    else
    {
        print(
    "devi accettare la privacy per procedere");

    In pratica controlli che il checkbox sia TRUE...

    Spero sia quello che cercavi

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    26
    Ho partorito questo codice, purtroppo non funzia ancora, nel senso che mi scrive subito errore subito dopo essermi collegato alla pagina contatti.php:

    Codice PHP:
    <?
    # controllo campi compilati 
    if ( $privacy != "Si" ){ 
    echo 
    "<h3>Errore!</h3>
    Deve accettare l'informativa sulla privacy
     
    La preghiamo di <A HREF=\"java-script:history.go(-1)\">tornare indietro e confermare</A>. Grazie"

    exit; 



    # controllo campi compilati 
    if ( $autore != "Si" ){ 
    echo 
    "<h3>Errore!</h3>
    Deve accettare l'informativa sul trattamento delle immagini
     
    La preghiamo di <A HREF=\"java-script:history.go(-1)\">tornare indietro e confermare</A>. Grazie"

    exit; 
    }

    # inizio elaborazione dei dati 
    ?>

  6. #6
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Devi postare il codice del form.... se c'è un errore è sicuramente lì.

    E poi se hai register_globals a off devi usare $_POST['privacy'] e non $privacy....

    Aspetto con ansia

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    26
    codice:
    # controllo campi compilati 
    if ( $_POST['privacy'] != "1" ){ 
    echo "<h3>Errore!</h3>
    Deve accettare l'informativa sulla privacy
     
    La preghiamo di <A HREF=\"java-script:history.go(-1)\">tornare indietro e confermare</A>. Grazie"; 
    exit; 
    } 
    
    
    # inizio elaborazione dei dati 
    
    
    ....
    
    <label> 
    <input name="privacy" type="radio" value="1" />Accetto
    <input name="privacy" type="radio" value="0"  checked  />Non Accetto</label>
    
    
    
    <input type="submit"  value=">> Procedi"  name="submit">
    Sono riuscito a capire uno dei tanti errori che ci saranno: "exit;". Nel senso che questa funzione cancella la formattazione del sito.

    Forse sto saltando qualche passaggio, non riesco a capire.

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.