Visualizzazione risultati 1 fino 3 di 3

Discussione: aiutoo problema script di registrazione

  1. #1
    animesvillage non è connesso Neofita
    Data registrazione
    09-07-2013
    Messaggi
    2

    Angry aiutoo problema script di registrazione

    ciao a tutti , sono un novellino del php e sto cercando di fare uno script di registrazione utenti , ecco quello che ho fatto fino ad adesso :

    Login.php
    Codice PHP:
    <?php
    //Connessione al database e funzioni
    include('config.php');
    include(
    'funzioni.php');
    //Controllo esistenza dei campi
    if(isset($_POST['nome'],$_POST['cognome'],$_POST['giorno'],$_POST['mese'],$_POST['anno'],$_POST['username'],$_POST['password'],
    $_POST['verpassword'],$_POST['email']))
    {
    // Verifica dei dati
    if(empty($_POST['nome']) xor strlen($_POST['nome'])<3 or strlen($_POST['nome'])>10)
    {
    echo
    "Il tuo nome deve avere un minimo ed un massimo di 3 e 10 caratteri";$stop= TRUE;
    }
    if(empty(
    $_POST['cognome']) xor strlen($_POST['cognome'])<3 or strlen($_POST['cognome'])>10)
    {
    echo
    "Il tuo cognome deve avere un minimo ed un massimo di 3 e 10 caratteri";$stop= TRUE;
    }
    if(empty(
    $_POST['giorno']) or empty($_POST['mese']) or empty($_POST['anno']))
    {
    echo
    "Non hai inserito correttamente la tua data di nascita";$stop= TRUE;
    }
    if(empty(
    $_POST['username']) xor strlen($_POST['username'])<5 or strlen($POST['username']) > 13)
    {
    echo
    "Il tuo username deve avere un minimo ed un massimo di 5 e 13 caratteri";$stop= TRUE;
    }
    if(empty(
    $_POST['password']) xor strlen($_POST['password'])<5 or strlen($_POST['password'])>15)
    {
    echo
    "la tua password deve avere un minimo ed un massimo di 5 e 15 caratteri";$stop= TRUE;
    }
    if(empty(
    $_POST['verpassword']) xor strlen($_POST['verpassword'])<3 or strlen($_POST['verpassword'])>10)
    {
    echo
    "Devi riscrivere la tua password";$stop= TRUE;
    }
    if(
    $_POST['password'] != $_POST['verpassword'])
    {
    echo
    "Le due password non coincidono";$stop= TRUE;
    }
    if(!
    ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$",
    $_POST['email']))
    {
    echo
    "email non valida";$stop= TRUE;
    }
    else
    {
    echo
    "email inserita correttamente";
    }
    }
    if(!
    $stop)
    {
    //Validazione dati
    $nome=mysql_real_escape_string($_POST['nome']);
    $cognome=mysql_real_escape_string($_POST['cognome']);
    $giorno=mysql_real_escape_string($_POST['giorno']);
    $mese=mysql_real_escape_string($_POST['mese']);
    $anno=mysql_real_escape_string($_POST['anno']);
    $username=mysql_real_escape_string($_POST['username']);
    $password=mysql_real_escape_string($_POST['password']);
    $verpassword=mysql_real_escape_string($_POST['verpassword']);
    $email=mysql_real_escape_string($_POST['email']);
    $passkey=passkey();
    //inserimento dai nel database
    $invio=mysql_query("INSERT INTO utenti(nome,cognome,giorno,mese,anno,username,password,verpassword,email,passkey)
    VALUES('
    $nome','$cognome','$giorno','$mese','$anno','$username','md5($password)','$verpassword','$email','$passkey')",$connessione);
    if(!
    $invio)
    {
    echo
    "Problemi durante la query";
    }
    ?>
    <form method ="post" action="<?= $_SERVER['PHP_SELF']; ?>" id="formregistrazione" enctype="multipart/form-data">
    <ul>
    <li>
    <label for="nome">Nome</label><br>
    <input type="text" name="name" id="nome"/>
    </li>
    <li>
    <label for="cognome">Cognome</label><br>
    <input type="text" name="cognome" id="cognome"/>
    </li>
    <li>
    <label for="compleanno">Data di nascita</label><br>
    <select name="giorno">
    <option value="" disabled="disabled" selected="selected">
    <?php for($i=1;$i<32;$i++) { ?>
    <option value="<?php echo $i;?>"><?php echo $i; ?></option>
    </select>
    <select name="mese" value="mese">
    <option value="" disabled="disabled" selected="selected">
    <?php $mese= array('','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre',); for($i=1;$i<13;$i++) { ?>
    <option value="<?php echo $mese[$i];?>"><?php echo $mese[$i]; ?></option>

    </select>
    <select name="anno">
    <option value="" disabled="disabled" selected="selected">
    <?php for($i=1990;$i<2014;$i++) { ?>
    <option value="<?php echo $i;?>"><?php echo $i; ?></option>

    </select>


    </li> <li>
    <label for="username">Username:</label><br>
    <input type="text" id="username" name="username"/>
    </li>

    <li>
    <label for="username">Password</label><br>
    <input type="password" id="password" name="password"/>
    </li> <li>
    <label for="verificapassword">Verifica Password</label><br>
    <input type="password" id="verpassword" name="verpassword"/>
    </li> <li>
    <label for="mail">e-mail:</label><br>
    <input type="text" id="mail" name="mail"/>
    </li>
    <input type="submit" id="invio" name="invio"/>
    </li>
    </ul>
    </form>
    Config.php
    Codice PHP:
    //Connessione al database
    $connessione =mysql_connect("localhost","","password");
    mysql_select_db("my_");
    if(!
    $connessione)
    {
    echo
    "connessione non riuscita";
    }else{
    echo
    "connessione riuscita";
    }
    Funzioni.php
    Codice PHP:
    <?php
    function passkey()
    {
    $str = 'ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789';
    $r = '';
    $l = 8+rand(0,5);
    for(
    $i=0;$i<$l;$i++)
    $r .= $str{rand(0,strlen($str))};
    return
    $r;
    }
    Ecco , nel file login.php mi esce il seguente errore :

    Parse error: syntax error, unexpected $end in /membri/animesvillage/iscrizione.php on line 118

    Perchè non funziona?? nella linea 118 non c'è niente!!

    e poi mi dite come si a mandare una email di conferma iscrizione utente???
    e soprattutto cosa devo mettere nella tabella utenti del mio database???

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,673

    Predefinito

    Beh, hai scritto il sorgente di tutte le pagine, tranne di quella dove hai l'errore (iscrizione.php)! È abbastanza difficile dire qual'é l'errore senza aver il sorgente.

    Per le altre domande, puoi dar un'occhiata a questo scriptino che avevo fatto tempo fa. Spero ti possa esser utile.

    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da animesvillage Visualizza messaggio
    Parse error: syntax error, unexpected $end in /membri/animesvillage/iscrizione.php on line 118

    Perchè non funziona?? nella linea 118 non c'è niente!!
    Solitamente questo errore capita quando c'è una parentesi graffa aperta ma non chiusa quindi ti consiglio di controllare.

    Citazione Originalmente inviato da animesvillage Visualizza messaggio
    e poi mi dite come si a mandare una email di conferma iscrizione utente???
    Per questo basta cercare un po in giro o anche sul forum

    Citazione Originalmente inviato da animesvillage Visualizza messaggio
    e soprattutto cosa devo mettere nella tabella utenti del mio database???
    Nel database devi creare una tabella con i vari dati che ti interessano:
    ID (il quale ti servirà per scorrere tra i valori) che lo devi impostare come: int, not null, chiave primaria e auto increment
    USERNAME, PASSWORD e EMAIL puoi impostarli come: varchar, not null specificandone la dimensione.

    Credo di essere stato chiaro..

Tags for this Thread

Regole di scrittura

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