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

    messaggi di errore per inserimento dati form

    Ciao a tutti,
    mi trovo con un problema che non so come risolvere in php!
    Allora:
    ho una pagina chiamata registrazione2.php in cui ho un form, dove un utente deve registrare i suoi dati: login, pw, nome, cognome, codice fiscale, email, tel.
    Quando do l'invio, dopo aver inserito i dati, il form dovrebbe rimandare alla pagina registrazione3.php in cui ho il seguente codice:
    Codice PHP:
    <?php
    session_start
    ();
    require(
    'pg_connect.php');

    #RECUPERO DELLE VARIABILI######################################################
    $login $_POST['login'];
    $password $_POST['password'];
    $ripetipassword $_POST['ripetipassword'];
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    $codfiscale $_POST['codfiscale'];
    $email $_POST['email'];
    $tel $_POST['tel'];

    #MESSAGGI DI ERRORE############################################################
    #manca messaggio: "esiste già un nome di login così"
    #if query(select from privato nomelogin where login="...") != 0 allora messaggio!!!
    $mex "";
    if (empty(
    $login)){   
        
    $mex $mex "[*]Non hai inserito il nome di login\n";
    }
    if (empty(
    $password)){   
        
    $mex $mex "[*]Non hai inserito la password\n";
    }
    if (empty(
    $ripetipassword)){   
        
    $mex $mex "[*]Non hai ripetuto la password\n";
    }
    if (empty(
    $nome)){   
        
    $mex $mex "[*]Non hai inserito il nome\n";
    }
    if (empty(
    $cognome)){   
        
    $mex $mex "[*]Non hai inserito il cognome\n";
    }
    if (empty(
    $codfiscale)){   
        
    $mex $mex "[*]Non hai inserito il codice fiscale\n";
    }
    if(
    strlen($codfiscale)!=16){
        
    $mex $mex "[*]Non hai inserito correttamente il codice fiscale\n";
    }
    if (empty(
    $email)){   
        
    $mex $mex "[*]Non hai inserito l'indirizzo email\n";
    }
    if (empty(
    $tel)){   
        
    $mex $mex "[*]Non hai inserito il numero di telefono\n";
    }
    if(!
    is_numeric($tel)){
        
    $mex $mex "[*]Non hai inserito un numero di telefono valido\n";
    }
    if (
    $password != $ripetipassword){
        
    $mex $mex "[*]Riscrivi la password in modo corretto\n";
    }
    if (
    $mex!=""){
       
    $mex "Attenzione torna indietro…\n" $mex;
       echo 
    $mex;
       include (
    "registrazione2.php");
       exit;
    }
    Lasciando perdere la parte relativa alla connessione al database, ho provato a non inserire dati (sono tutti obbligatori) ma non mi esce alcun messaggio di errore! Anzi mi ritrovo con la pagine registrazione3.php completamente bianca.

    Qualcuno di voi può aiutarmi a capire il perché?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    12
    Scusa ma nn basta mettere echo $mex; in ogni if??

  3. #3
    Sì, l'ho messo nell'ultimo if:
    se $mex != "" allora echo mex;

  4. #4
    Prova così:

    Codice PHP:
    ...
    if (
    $mex!=""){
       
    $mex "Attenzione torna indietro…\n" $mex;
       echo 
    $mex;
       
    header"Location: registrazione2.php" );

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    Codice PHP:
    ...

       echo 
    X;
       
    header); 
    ...
    ... il solito errore... can't modify header information etc etc

  6. #6
    Originariamente inviato da oly1982
    ...
    ... il solito errore... can't modify header information etc etc
    Hai ragione, occorre eliminare l'echo.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    ... ... il solito errore... can't modify header information etc etc
    Potete spiegarmi in parole spicce cosa intendete?
    Vuol dire che non posso usare l'header dopo un echo?

  8. #8
    Originariamente inviato da michellemabelle
    Vuol dire che non posso usare l'header dopo un echo?
    esatto... per quel che riguarda header location

  9. #9
    Ok ho risolto!
    A chi interessa posto la mia soluzione:
    innanzitutto ho questo file registrazione2.php con i form di inserimento dati:
    Codice PHP:
     <?php
        session_start
    ();
    ?>
        <form method="POST" action="registrazione3.php">
            <table width="600" align="center" class="menu"> 
            <tr>
                <td colspan="2">Inserisci i dati richiesti per registrarti</td>
            </tr>
            <tr>
                <td colspan="2">Al termine della registrazione, verrai reindirizzato alla pagina iniziale</td>
            </tr>
            </table>        
            <table align="center" class="testo">
                <tr> 
                    <td width="146">Login</td>
                    <td width="224"><input type="text" name="login" class="testo"></td>
                </tr>
                <tr> 
                    <td>Password</td>
                    <td><input type="password" name="password" class="testo"></td>
                </tr>
                <tr> 
                    <td>Ripeti password</td>
                    <td><input type="password" name="ripetipassword" class="testo"></td>
                </tr>
                <tr> 
                    <td>Nome</td>
                    <td><input type="text" name="nome" class="testo"></td>
                </tr>
                  <tr>
                    <td>Cognome</td>
                    <td><input type = "text" name="cognome" class="testo"></td>
                  </tr>
                <tr>
                    <td>Codice fiscale</td>
                    <td><input type = "text" name="codfiscale" class="testo"></td>
                  </tr>
                 <tr>
                    <td>Email</td>
                    <td><input type = "text" name="email" class="testo"></td>
                  </tr>
                <tr>
                    <td>Telefono</td>
                    <td><input type = "text" name="tel" class="testo"></td>
                  </tr>
                <tr>
                  <td align="center" class="testo"><input type="submit" value="Invia"></td>
                  <td align="center" class="testo"><input type="reset" value="Cancella"></td>
                </tr>
            </table>
        </form>
    Il tasto invia mi rimanda al file registrazione3.php in cui ho incluso queryregistrazione.php con questo codice:
    Codice PHP:
    <?php
    session_start
    ();
    require(
    'pg_connect.php');
    ?>

    <link href="stili.css" rel="stylesheet" type="text/css" />
    <table>
    <tr>

    <?php
    #RECUPERO DELLE VARIABILI######################################################
    $login $_POST['login'];
    $password $_POST['password'];
    $ripetipassword $_POST['ripetipassword'];
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    $codfiscale $_POST['codfiscale'];
    $email $_POST['email'];
    $tel $_POST['tel'];

    #MESSAGGI DI ERRORE############################################################
    #manca messaggio: "esiste già un nome di login così"
    #if query(select from privato nomelogin where login="...") != 0 allora messaggio!!!
    $mex "";
    if (empty(
    $login)){   
        
    $mex $mex "[*]Non hai inserito il nome di login\n";
    }
    if (empty(
    $password)){   
        
    $mex $mex "[*]Non hai inserito la password\n";
    }
    if (empty(
    $ripetipassword)){   
        
    $mex $mex "[*]Non hai ripetuto la password\n";
    }
    if (empty(
    $nome)){   
        
    $mex $mex "[*]Non hai inserito il nome\n";
    }
    if (empty(
    $cognome)){   
        
    $mex $mex "[*]Non hai inserito il cognome\n";
    }
    if (empty(
    $codfiscale)){   
        
    $mex $mex "[*]Non hai inserito il codice fiscale\n";
    }
    if(
    strlen($codfiscale)!=16 && !empty($codfiscale)){
        
    $mex $mex "[*]Non hai inserito correttamente il codice fiscale\n";
    }
    if (empty(
    $email)){   
        
    $mex $mex "[*]Non hai inserito l'indirizzo email\n";
    }
    if (empty(
    $tel)){   
        
    $mex $mex "[*]Non hai inserito il numero di telefono\n";
    }
    if(!
    is_numeric($tel)){
        
    $mex $mex "[*]Non hai inserito un numero di telefono valido\n";
    }
    if (
    $password != $ripetipassword){
        
    $mex $mex "[*]Riscrivi la password in modo corretto\n";
    }
    if (
    $mex!=""){
       
    $mex "Attenzione torna indietro…\n" $mex;
        echo 
    "<span class='testo'>" .$mex"</span>";
    ?>

    <form method="POST" action="registrazione.php"><input type="submit" value="Torna indietro"></form>

    <?php
       
    exit;
    }

    ?>
    </tr>
    </table>
    Così, in questo modo, riesco ad ottenere la mia pagina con gli errori in maniera decente!
    Vi ringrazio per avermi dato qualche dritta!

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.