Visualizzazione risultati 1 fino 14 di 14

Discussione: Errore di sintassi, ma dove?

  1. #1
    Guest

    Predefinito Errore di sintassi, ma dove?

    Salve ragazzi ho creato un codice per la registrazione un pò personalizzato ma qaundo mi registro mi esce scritto:
    DEVI ACETTARE LE CONDIZIONE E PRIVACY.
    DEVI ACETTARE LE CONDIZIONE E PRIVACY.
    Column count doesn't match value count at row 1
    il mio codice è questo:

    Codice PHP:
    <?php
    //include header.php
    include('login/header.php');
    //collegamento dal database
    require_once('login/config.php');
    //controlla se l'utente è già loggato
    if($_SESSION['logged_in'] == 1)
    {
    //reindirizzamento alla home page : edita il parametro con il tuo indirizzo
    header('Location: http://www.zomer.altervista.org/home.php');
    exit();
    }
    //l'utente non è loggato
    else
    {
    //il modulo non è stato ancora inviato
    if(!empty($_POST['submit']))
    {
    //controlla dati relativi al nome
    if(empty($_POST['nome']))
    {
    die(
    'Attenzione : il campo nome è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');

    //controlla lunghezza nome
    $len = strlen($_POST['nome']);

    //sostituisce caratteri non ammessi
    $_POST['nome'] = str_replace($bad, '', $_POST['nome']);
    $dato = $_POST['nome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo nome!');
    }
    //controlla dati relativi al Cognome
    if(empty($_POST['cognome']))
    {
    die(
    'Attenzione : il campo cognome è vuoto');
    }
    //controlla lunghezza cognome
    $len = strlen($_POST['cognome']);

    //sostituisce caratteri non ammessi
    $_POST['cognome'] = str_replace($bad, '', $_POST['cognome']);
    $dato = $_POST['cognome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo cognome!');
    }
    //controlla dati relativi al nome
    if(empty($_POST['anno']))
    {
    die(
    'Attenzione : il campo anno è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=');

    //controlla lunghezza nome
    $len = strlen($_POST['anno']);

    //sostituisce caratteri non ammessi
    $_POST['anno'] = str_replace($bad, '', $_POST['anno']);
    $dato = $_POST['anno'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo anno!');
    }
    //controlla dati relativi all'username
    if(!$_POST['username']) die('Attenzione : il campo username è vuoto');

    //Controlla se l'username è già utlizzato nel database...
    $q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
    $q3 = mysql_fetch_object($q2);

    if(
    $q3->username == $_POST['username']) {
    die(
    'Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br /><br />
    Per favore ne scelga un altro.'
    );
    }
    //controlla dati relativi alla password
    if(!$_POST['password']) {
    die(
    'Errore: Il campo password risulta non compilato');
    }
    if(!
    $_POST['verify_password']) {
    die(
    'Errore: Il campo verfica password risulta non compilato');
    }
    if(
    $_POST['password'] != $_POST['verify_password']) {
    die(
    'Errore: Le passwords non corrispondono.');
    }
    //controlla dati relativi al tc
    if($tc){echo"checked";}//verifico che il checkbox sia attivo (ON oppure 1 oppure TRUE)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LE CONDIZIONE E PRIVACY.</span><br>";
    }
    //controlla dati relativi al py
    if($py){echo"checked";}//verifico che il checkbox sia attivo (ON oppure 1 oppure TRUE)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LE CONDIZIONE E PRIVACY.</span><br>";
    }
    //Inserisce il nuovo membro nel database
    $insert ="INSERT INTO `utenti` (nome, cognome, sesso, anno, username, password, email) VALUES ('".$_POST['username']."',

    '"
    .md5($_POST['password'])."', '".$_POST['email']."')";

    $insert2 = mysql_query($insert);
    if(!
    $insert2) die(mysql_error());
    //Edita i parametri sottostanti con i dati relativi al tuo sito
    $web_site = 'http://www.zomer.altervista.org';
    $webmaster = 'Zomer';
    $web_mail = 'help@zomer.it';
    // Fine modifica
    //Passa i dati per il login a variabili da mandare via mail all'utente
    $nome_utente = $_POST['username'];
    $pass_utente = $_POST['password'];
    $mail_utente = $_POST['email'];
    $header = "From: ". $web_site . " <" . $web_mail . ">\r\n";
    // Edita l'oggetto e il messaggio
    $subject = "Benvenuto su Zomer";
    $message = "Gentile $nome_utente, da adesso sei un utente registrato su $web_site.
    Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
    Username:
    $nome_utente
    Password:
    $pass_utente

    Conserva queste informazioni o meglio ancora stampa questa mail.
    Non scordarti di invitare amici!
    Grazie infinite,
    $webmaster";
    // Spedisce la mail
    mail($mail_utente, $subject, $message, $header);
    echo(
    'Registrazione avvenuta, Benvenuto !!!<br />
    Le informazioni che ci hai fornito ti sono state spedite via mail.'
    );
    }
    //il modulo non è stato ancora compilato
    else {
    ?>
    <form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
    <fieldset>
    <legend>Compila il modulo per registrarti sul nostro sito</legend>
    <dl>
    <dt>
    <label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
    </dt>
    <dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="cognome">Cognome : <br /></label>
    </dt>
    <dd><input type="text" id ="cognome" name="cognome" value="" maxlength="37" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="sesso">Sesso : <br /></label>
    </dt>
    <dd><select name="sesso">
    <option>Maschio</option>
    <option>Femmina</option>
    <option>Altro</option>
    </select>
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="username">Username : <br /> (sono permessi solo lettere e numeri)</label>
    </dt>
    <dd><input type="text" id ="username" name="username" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="password">Password : <br />(minimo 6 caratteri)</label>
    </dt>
    <dd><input type="password" id="password" name="password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="verify_password">Verifica Password : </label>
    </dt>
    <dd><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="email">Email : </label>
    </dt>
    <dd><input type="text" id="email" name="email" value="" size="30" />
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="anno">Anno : <br /> (es: 1990)</label>
    </dt>
    <dd><input type="text" id ="anno" name="anno" value="" maxlength="10" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="condizionei">Termini e condizioni d'uso : <br /></label>
    </dt>
    <dd> <INPUT TYPE="CHECKBOX" NAME="tc" VALUE=""> </dd>
    </dl>
    <dl>
    <dt>
    <label for="privacy">Info sulla tua privacy : <br /></label>
    </dt>
    <dd> <INPUT TYPE="CHECKBOX" NAME="py" VALUE="" > </dd>
    </dl>
    </fieldset>
    <fieldset>
    <input type="submit" id="submit" name="submit" value="Invia" />
    </fieldset>
    </form>
    <?
    } //fine utente non loggato
    } //fine modulo non inviato
    ?>

  2. #2
    Guest

    Predefinito

    Codice PHP:
    if($tc)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LE CONDIZIONE E PRIVACY.</span><br>";
    }

    if(
    $py)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LE CONDIZIONE E PRIVACY.</span><br>";
    }
    Come avevi fatto tu veniva eseguito il blocco di codice che dichiaravi nella stessa riga dell'if. Quindi il blocco in cui visualizzavi il messaggio "DEVI ACCETTARE..." non centrava niente con la condizione dell'if, ma era una cosa a se, quindi veniva eseguito sempre.

    Per l'errore di MySQL non ti so dire.

    Ciao!

  3. #3
    Guest

    Talking

    ok , chi mi può aiutre a risovere l'errore riguardante il MySQL ovvereo l'errore
    Column count doesn't match value count at row 1
    il mio codice ora è:

    Codice PHP:
    <?php
    //include header.php
    include('login/header.php');
    //collegamento dal database
    require_once('login/config.php');
    //controlla se l'utente è già loggato
    if($_SESSION['logged_in'] == 1)
    {
    //reindirizzamento alla home page : edita il parametro con il tuo indirizzo
    header('Location: [url]http://www.zomer.altervista.org/home.php');[/url]
    exit();
    }
    //l'utente non è loggato
    else
    {
    //il modulo non è stato ancora inviato
    if(!empty($_POST['submit']))
    {
    //controlla dati relativi al nome
    if(empty($_POST['nome']))
    {
    die(
    'Attenzione : il campo nome è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');

    //controlla lunghezza nome
    $len = strlen($_POST['nome']);

    //sostituisce caratteri non ammessi
    $_POST['nome'] = str_replace($bad, '', $_POST['nome']);
    $dato = $_POST['nome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo nome!');
    }
    //controlla dati relativi al Cognome
    if(empty($_POST['cognome']))
    {
    die(
    'Attenzione : il campo cognome è vuoto');
    }
    //controlla lunghezza cognome
    $len = strlen($_POST['cognome']);

    //sostituisce caratteri non ammessi
    $_POST['cognome'] = str_replace($bad, '', $_POST['cognome']);
    $dato = $_POST['cognome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo cognome!');
    }
    //controlla dati relativi al nome
    if(empty($_POST['anno']))
    {
    die(
    'Attenzione : il campo anno è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=');

    //controlla lunghezza nome
    $len = strlen($_POST['anno']);

    //sostituisce caratteri non ammessi
    $_POST['anno'] = str_replace($bad, '', $_POST['anno']);
    $dato = $_POST['anno'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo anno!');
    }
    //controlla dati relativi all'username
    if(!$_POST['username']) die('Attenzione : il campo username è vuoto');

    //Controlla se l'username è già utlizzato nel database...
    $q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
    $q3 = mysql_fetch_object($q2);

    if(
    $q3->username == $_POST['username']) {
    die(
    'Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br /><br />
    Per favore ne scelga un altro.'
    );
    }
    //controlla dati relativi alla password
    if(!$_POST['password']) {
    die(
    'Errore: Il campo password risulta non compilato');
    }
    if(!
    $_POST['verify_password']) {
    die(
    'Errore: Il campo verfica password risulta non compilato');
    }
    if(
    $_POST['password'] != $_POST['verify_password']) {
    die(
    'Errore: Le passwords non corrispondono.');
    }
    if(
    $tc)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LE CONDIZIONE.</span><br>";
    }

    if(
    $py)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LA TUTELA DELLA PRIVACY.</span><br>";
    }
    //Inserisce il nuovo membro nel database
    $insert ="INSERT INTO `utenti` (nome, cognome, sesso, anno, username, password, email) VALUES ('".$_POST['username']."',

    '"
    .md5($_POST['password'])."', '".$_POST['email']."')";

    $insert2 = mysql_query($insert);
    if(!
    $insert2) die(mysql_error());
    //Edita i parametri sottostanti con i dati relativi al tuo sito
    $web_site = 'http://www.zomer.altervista.org';
    $webmaster = 'Zomer';
    $web_mail = 'help@zomer.it';
    // Fine modifica
    //Passa i dati per il login a variabili da mandare via mail all'utente
    $nome_utente = $_POST['username'];
    $pass_utente = $_POST['password'];
    $mail_utente = $_POST['email'];
    $header = "From: ". $web_site . " <" . $web_mail . ">\r\n";
    // Edita l'oggetto e il messaggio
    $subject = "Benvenuto su Zomer";
    $message = "Gentile $nome_utente, da adesso sei un utente registrato su $web_site.
    Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
    Username:
    $nome_utente
    Password:
    $pass_utente

    Conserva queste informazioni o meglio ancora stampa questa mail.
    Non scordarti di invitare amici!
    Grazie infinite,
    $webmaster";
    // Spedisce la mail
    mail($mail_utente, $subject, $message, $header);
    echo(
    'Registrazione avvenuta, Benvenuto !!!<br />
    Le informazioni che ci hai fornito ti sono state spedite via mail.'
    );
    }
    //il modulo non è stato ancora compilato
    else {
    ?>
    <form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
    <fieldset>
    <legend>Compila il modulo per registrarti sul nostro sito</legend>
    <dl>
    <dt>
    <label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
    </dt>
    <dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="cognome">Cognome : <br /></label>
    </dt>
    <dd><input type="text" id ="cognome" name="cognome" value="" maxlength="37" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="sesso">Sesso : <br /></label>
    </dt>
    <dd><select name="sesso">
    <option>Maschio</option>
    <option>Femmina</option>
    <option>Altro</option>
    </select>
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="username">Username : <br /> (sono permessi solo lettere e numeri)</label>
    </dt>
    <dd><input type="text" id ="username" name="username" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="password">Password : <br />(minimo 6 caratteri)</label>
    </dt>
    <dd><input type="password" id="password" name="password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="verify_password">Verifica Password : </label>
    </dt>
    <dd><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="email">Email : </label>
    </dt>
    <dd><input type="text" id="email" name="email" value="" size="30" />
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="anno">Anno : <br /> (es: 1990)</label>
    </dt>
    <dd><input type="text" id ="anno" name="anno" value="" maxlength="10" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="condizionei">Termini e condizioni d'uso : <br /></label>
    </dt>
    <dd> <INPUT TYPE="CHECKBOX" NAME="tc" VALUE=""> </dd>
    </dl>
    <dl>
    <dt>
    <label for="privacy">Info sulla tua privacy : <br /></label>
    </dt>
    <dd> <INPUT TYPE="CHECKBOX" NAME="py" VALUE="" > </dd>
    </dl>
    </fieldset>
    <fieldset>
    <input type="submit" id="submit" name="submit" value="Invia" />
    </fieldset>
    </form>
    <?
    } //fine utente non loggato
    } //fine modulo non inviato
    ?>

  4. #4
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Nell'insert, manca il passaggio dei valori, inerenti a "nome, cognome, sesso, anno".
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  5. #5
    Guest

    Wink

    Grazie, ho capito che l'errore stà in questa righa:

    Codice PHP:
    //Inserisce il nuovo membro nel database
    $insert ="INSERT INTO `utenti` (nome, cognome, sesso, anno, username, password, email) VALUES ('".$_POST['username']."',
    ho controllato il codice e tutti i campi estistono

    cosa devo modificare?

  6. #6
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Esisteranno anche, ma non li passi nell' insert

    Codice PHP:
    $insert ="INSERT INTO `utenti` (nome, cognome, sesso, anno, username, password, email) VALUES ('".$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['sesso']."', '".$_POST['anno']."', '".$_POST['username']."', '".$_POST['password']."', '".$_POST['email']."')";
    Ultima modifica di LastWings : 13-06-2009 alle ore 17.06.19
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  7. #7
    Guest

    Predefinito

    ok, ho modificato il mio codice e sono riuscito a registrarmi ma quando porvo ad accedere mi dice che la password e username sono errati...

    codice di registraizone:

    Codice PHP:
    <?php
    //include header.php
    include('login/header.php');
    //collegamento dal database
    require_once('login/config.php');
    //controlla se l'utente è già loggato
    if($_SESSION['logged_in'] == 1)
    {
    //reindirizzamento alla home page : edita il parametro con il tuo indirizzo
    header('Location: http://www.zomer.altervista.org/home.php');
    exit();
    }
    //l'utente non è loggato
    else
    {
    //il modulo non è stato ancora inviato
    if(!empty($_POST['submit']))
    {
    //controlla dati relativi al nome
    if(empty($_POST['nome']))
    {
    die(
    'Attenzione : il campo nome è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');

    //controlla lunghezza nome
    $len = strlen($_POST['nome']);

    //sostituisce caratteri non ammessi
    $_POST['nome'] = str_replace($bad, '', $_POST['nome']);
    $dato = $_POST['nome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo nome!');
    }
    //controlla dati relativi al Cognome
    if(empty($_POST['cognome']))
    {
    die(
    'Attenzione : il campo cognome è vuoto');
    }
    //controlla lunghezza cognome
    $len = strlen($_POST['cognome']);

    //sostituisce caratteri non ammessi
    $_POST['cognome'] = str_replace($bad, '', $_POST['cognome']);
    $dato = $_POST['cognome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo cognome!');
    }
    //controlla dati relativi al nome
    if(empty($_POST['anno']))
    {
    die(
    'Attenzione : il campo anno è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=');

    //controlla lunghezza nome
    $len = strlen($_POST['anno']);

    //sostituisce caratteri non ammessi
    $_POST['anno'] = str_replace($bad, '', $_POST['anno']);
    $dato = $_POST['anno'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo anno!');
    }
    //controlla dati relativi all'username
    if(!$_POST['username']) die('Attenzione : il campo username è vuoto');

    //Controlla se l'username è già utlizzato nel database...
    $q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
    $q3 = mysql_fetch_object($q2);

    if(
    $q3->username == $_POST['username']) {
    die(
    'Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br /><br />
    Per favore ne scelga un altro.'
    );
    }
    //controlla dati relativi alla password
    if(!$_POST['password']) {
    die(
    'Errore: Il campo password risulta non compilato');
    }
    if(!
    $_POST['verify_password']) {
    die(
    'Errore: Il campo verfica password risulta non compilato');
    }
    if(
    $_POST['password'] != $_POST['verify_password']) {
    die(
    'Errore: Le passwords non corrispondono.');
    }
    if(
    $tc)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LE CONDIZIONE.</span><br>";
    }

    if(
    $py)
    {
    echo
    "<span style=\"color:red;\"><b><u></u></b> DEVI ACETTARE LA TUTELA DELLA PRIVACY.</span><br>";
    }
    //Inserisce il nuovo membro nel database
    $insert ="INSERT INTO `utenti` (nome, cognome, sesso, anno, username, password, email) VALUES ('".$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['sesso']."', '".$_POST['anno']."', '".$_POST['username']."', '".$_POST['password']."', '".$_POST['email']."')";

    $insert2 = mysql_query($insert);
    if(!
    $insert2) die(mysql_error());
    //Edita i parametri sottostanti con i dati relativi al tuo sito
    $web_site = 'http://www.zomer.altervista.org';
    $webmaster = 'Zomer';
    $web_mail = 'help@zomer.it';
    // Fine modifica
    //Passa i dati per il login a variabili da mandare via mail all'utente
    $nome_utente = $_POST['username'];
    $pass_utente = $_POST['password'];
    $mail_utente = $_POST['email'];
    $header = "From: ". $web_site . " <" . $web_mail . ">\r\n";
    // Edita l'oggetto e il messaggio
    $subject = "Benvenuto su Zomer";
    $message = "Gentile $nome_utente, da adesso sei un utente registrato su $web_site.
    Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
    Username:
    $nome_utente
    Password:
    $pass_utente

    Conserva queste informazioni o meglio ancora stampa questa mail.
    Non scordarti di invitare amici!
    Grazie infinite,
    $webmaster";
    // Spedisce la mail
    mail($mail_utente, $subject, $message, $header);
    echo(
    'Registrazione avvenuta, Benvenuto !!!<br />
    Le informazioni che ci hai fornito ti sono state spedite via mail.'
    );
    }
    //il modulo non è stato ancora compilato
    else {
    ?>
    <form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
    <fieldset>
    <legend>Compila il modulo per registrarti sul nostro sito</legend>
    <dl>
    <dt>
    <label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
    </dt>
    <dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="cognome">Cognome : <br /></label>
    </dt>
    <dd><input type="text" id ="cognome" name="cognome" value="" maxlength="37" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="sesso">Sesso : <br /></label>
    </dt>
    <dd><select name="sesso">
    <option>Maschio</option>
    <option>Femmina</option>
    <option>Altro</option>
    </select>
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="username">Username : <br /> (sono permessi solo lettere e numeri)</label>
    </dt>
    <dd><input type="text" id ="username" name="username" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="password">Password : <br />(minimo 6 caratteri)</label>
    </dt>
    <dd><input type="password" id="password" name="password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="verify_password">Verifica Password : </label>
    </dt>
    <dd><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="email">Email : </label>
    </dt>
    <dd><input type="text" id="email" name="email" value="" size="30" />
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="anno">Anno : <br /> (es: 1990)</label>
    </dt>
    <dd><input type="text" id ="anno" name="anno" value="" maxlength="10" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="condizionei">Termini e condizioni d'uso : <br /></label>
    </dt>
    <dd> <INPUT TYPE="CHECKBOX" NAME="tc" VALUE=""> </dd>
    </dl>
    <dl>
    <dt>
    <label for="privacy">Info sulla tua privacy : <br /></label>
    </dt>
    <dd> <INPUT TYPE="CHECKBOX" NAME="py" VALUE="" > </dd>
    </dl>
    </fieldset>
    <fieldset>
    <input type="submit" id="submit" name="submit" value="Invia" />
    </fieldset>
    </form>
    <?
    } //fine utente non loggato
    } //fine modulo non inviato
    ?>

    pagina login:

    Codice PHP:
    <?
    include('login/header.php');
    require_once(
    'login/config.php');
    //controlla se la sessione è già attiva
    if(isset($_SESSION['username']) && isset($_SESSION['password'])) {
    //in tal caso ci reindirizza verso la homepage del sito o dovunque vogliate
    header('Location: http://www.zomer.altervista.org/home.php');
    }
    //fine sessione attiva
    //se il modulo è stato inviato
    if(isset($_POST['submit'])) {
    //campo username vuoto
    if(!$_POST['username']) die("Errore: Devi inserire il tuo username per continuare");
    //campo password vuoto
    if(!$_POST['password']) die("Errore: Devi inserire la tua password per continuare.");
    //se abbiamo spuntato il campo ricordami crea il cookie
    if(isset($_POST['ricordami'])) {
    $joined =''.$_POST['username'].'[]'.md5($_POST['password']).'';
    setcookie($nome_cookie, $joined, time()+$scadenza, $percorso, $dominio);
    }
    //verifica utente
    $get_user = mysql_query("SELECT * FROM `utenti` WHERE username = '".$_POST['username']."' AND
    user_password = '"
    .md5($_POST['password'])."'");
    $q = mysql_fetch_object($get_user);
    if(!
    $q) die("Login fallito ! Verifica se hai inserito correttamente il tuo username e password.");
    //login avvenuto
    //imposta le variabili della sessione
    $_SESSION['logged_in'] = 1;
    $_SESSION['username'] = $_POST['username'];
    $_SESSION['password'] = $_POST['password'];
    session_write_close();
    //reindirizza verso la tua homepage
    header('Location: http://www.zomer.altervista.org/home.php');
    } else {
    //visualizza il form login
    ?>
    <form name="login" method="post" action="<? $_SERVER['PHP_SELF']; ?>">
    <table cellpadding="5">
    <tr>
    <td>
    <b>Username:</b>
    <input type="text" id="username" name="username"><b>Password:</b><input type="password" id="password" name="password">
    <td align="right">
    <input type="image" value="Invia" name="submit" id="submit" class="button" src="http://zomer.altervista.org/immagini/button/button_accedi.gif" alt="Login" </td>
    </tr>
    <tr>
    <td>
    <b>Ricordami </b><input type="checkbox" name="ricordami[]" value="ON" class="check">
    </td>
    </tr>
    <tr>

    </td>
    </tr>
    </table>
    </form>
    <?
    }
    ?>

  8. #8
    Guest

    Predefinito

    prova a modificare questo
    Codice PHP:
    $q = mysql_fetch_object($get_user);
    if(!
    $q) die("Login fallito ! Verifica se hai inserito correttamente il tuo username e password.");
    //login avvenuto
    con questo
    Codice PHP:
    if(mysql_num_rows($get_user) == 0)
    die(
    "Login fallito ! Verifica se hai inserito correttamente il tuo username e password.");

  9. #9
    Guest

    Predefinito

    ancora niente!....comuque grazie della tua risposta non so più cosa fare vi prego aiutatemi....

    PS: oggi e il mio compleanno vi prego mi aiutate a risolvere questo errore

  10. #10
    Guest

    Predefinito

    prova con questo
    Codice PHP:
    $get_user=mysql_query("SELECT * FROM utenti WHERE username='".$_POST['username']."' AND user_password='".md5($_POST['password'])."'");
    if(
    mysql_num_rows($get_user)==0){ die("Login fallito ! Verifica se hai inserito correttamente il tuo username e password.");}

  11. #11
    Guest

    Cool

    niente ancora dice sempre la stessa cosa login fallito! controllare username e password

    ecco il codice per il login , se vi serve qualcos' altro ditemelo...che so la tabella del mysql

    Codice PHP:
    <?
    include('login/header.php');
    require_once(
    'login/config.php');
    //controlla se la sessione è già attiva
    if(isset($_SESSION['username']) && isset($_SESSION['password'])) {
    //in tal caso ci reindirizza verso la homepage del sito o dovunque vogliate
    header('Location: http://www.zomer.altervista.org/home.php');
    }
    //fine sessione attiva
    //se il modulo è stato inviato
    if(isset($_POST['submit'])) {
    //campo username vuoto
    if(!$_POST['username']) die("Errore: Devi inserire il tuo username per continuare");
    //campo password vuoto
    if(!$_POST['password']) die("Errore: Devi inserire la tua password per continuare.");
    //se abbiamo spuntato il campo ricordami crea il cookie
    if(isset($_POST['ricordami'])) {
    $joined =''.$_POST['username'].'[]'.md5($_POST['password']).'';
    setcookie($nome_cookie, $joined, time()+$scadenza, $percorso, $dominio);
    }
    //verifica utente
    $get_user = mysql_query("SELECT * FROM `utenti` WHERE username = '".$_POST['username']."' AND
    user_password = '"
    .md5($_POST['password'])."'");
    //STIAMO MODIFICANDO QUESTA PARTE
    $get_user=mysql_query("SELECT * FROM utenti WHERE username='".$_POST['username']."' AND user_password='".md5($_POST['password'])."'");
    if(
    mysql_num_rows($get_user)==0){ die("Login fallito ! Verifica se hai inserito correttamente il tuo username e password.");}
    //imposta le variabili della sessione
    $_SESSION['logged_in'] = 1;
    $_SESSION['username'] = $_POST['username'];
    $_SESSION['password'] = $_POST['password'];
    session_write_close();
    //reindirizza verso la tua homepage
    header('Location: http://www.zomer.altervista.org/home.php');
    } else {
    //visualizza il form login
    ?>
    <form name="login" method="post" action="<? $_SERVER['PHP_SELF']; ?>">
    <table cellpadding="5">
    <tr>
    <td>
    <b>Username:</b>
    <input type="text" id="username" name="username"><b>Password:</b><input type="password" id="password" name="password">
    <td align="right">
    <input type="image" value="Invia" name="submit" id="submit" class="button" src="http://zomer.altervista.org/immagini/button/button_accedi.gif" alt="Login" </td>
    </tr>
    <tr>
    <td>
    <b>Ricordami </b><input type="checkbox" name="ricordami[]" value="ON" class="check">
    </td>
    </tr>
    <tr>
    </td>
    </tr>
    </table>
    </form>
    <?
    }
    ?>

  12. #12
    Guest

    Predefinito

    Codice PHP:
    //verifica utente
    $get_user = mysql_query("SELECT * FROM `utenti` WHERE username = '".$_POST['username']."' AND
    user_password = '"
    .md5($_POST['password'])."'");
    //STIAMO MODIFICANDO QUESTA PARTE
    $get_user=mysql_query("SELECT * FROM utenti WHERE username='".$_POST['username']."' AND user_password='".md5($_POST['password'])."'");
    Qui stai effettuando 2 volte la stessa query ... Non penso abbia molto senso .

    Comunque, ricontrollando il codice di registrazione, ho notato che, quando inserisci il nuovo utente nel database non cripti la password in md5, cosa che invece fai per il controllo del login. Cripatala anche in fase di registrazione e dovrebbe funzionare.

  13. #13
    Guest

    Predefinito

    ok, grazie credo che sia propio uqesto l'errore ma come posso criptare la password al montento della registraizone......ho fatto un tnetativo cosi chene dite....

    Codice PHP:
    //Inserisce il nuovo membro nel database
    $insert ="INSERT INTO `utenti` (nome, cognome, sesso, anno, username, password, email) VALUES ('".$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['sesso']."', '".$_POST['anno']."', '".$_POST['email']."', '"$_POST['username'].'[]'.md5($_POST['password'])."')";
    Ciauzz

  14. #14
    Guest

    Predefinito

    Aspetta però, non ho capitoun po' di cose.

    1) Nella pagina di registrazione usi il campo `password` per salvarci la password dell'utente, mentre nel login nella query di controllo usi il campo `user_password`. Quale dei due?

    2) Tu nel campo della password della tabella `utenti` devi salvare solo l'hash md5 della password o anche lo username? Perchè mi sembra che in quel codice gli stai inserendo lo stesso valore che vai a salvare quando imposti il cookie.

    Adesso ti posto il codice corretto ammettendo che: il campo della tabella per la password sia `password` e che gli salvi dentro solo l'hash md5 della password.

    Quindi ecco la query di registrazione
    Codice PHP:
    <?php
    /* ... */
    $insert = "INSERT INTO `utenti` ( `nome`, `cognome`, `sesso`, `anno`, `username`, `password`, `email` )
    VALUES
    ( '"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['sesso']."', '".$_POST['anno']."', '".$_POST['email']."', '" . md5( $_POST['password'] ) . "' )";
    /* ... */
    ?>
    e quella di login
    Codice PHP:
    <?php
    /* ... */
    $get_user = mysql_query( "SELECT * FROM `utenti` WHERE `username` = " .
    $_POST['username'] . " AND `password` = " . md5( $_POST['password'] ) );
    /* ... */
    ?>
    Spero ti sia utile, ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •