Visualizzazione risultati 1 fino 3 di 3

Discussione: Aiuto Script Registrazione

  1. #1
    Guest

    Unhappy Aiuto Script Registrazione

    Salve a tutti! :)
    Ho riscontrato un problema, con uno script per la registrazione in php e non so come risolvere, se qualcuno mi può aiutare gli sarei grato ...

    Vi posto il codice
    Questo è il file config
    Codice PHP:
    <?php
    //Connessione al DB
    $dbhost = 'localhost';
    $dbuser = 'user';
    $dbpass = 'passwor';
    $dbname = 'dbname';
    $mysql = mysql_connect($dbhost,$dbuser,$dbpass) or die (mysql_error());
    mysql_select_db($dbname) or die (mysql_error());
    ?>
    Ecco i file per la registrazione:
    Codice PHP:
    <?php
    include ("config.php");

    //Lancia il form
    if (isset($_POST['email'])){


    //Proteggi da XSS
    $search = array("&", "\"", "'", "\\", "<", ">");
    $replace = array("&amp;", "&quot;", "'", "\", "&lt;", "&gt;");

    $var_post = count($_POST);
    $keys = array_keys($_POST);
    for (
    $fix=0; $fix<$var_post; $fix++)
    $_POST = str_replace($search, $replace, $_POST);

    //Variabili di invio dal Form
    $Email=$_POST['email'];
    $Password=$_POST['password'];
    $Password2=$_POST['password2'];
    $Nome=$_POST['nome'];
    $Cognome=$_POST['cognome'];
    $Data=$_POST['data'];
    $Sesso=$_POST['Sesso'];
    $Indirizzo=$_POST['indirizzo'];
    $Citta=$_POST['citta'];
    $Provincia=$_POST['provincia'];
    $Cap=$_POST['cap'];
    $Telefono=$_POST['telefono'];
    $Fax=$_POST['fax'];
    $Cell=$_POST['cell'];
    $Cf=$_POST['cf'];

    //Proteggi da Sql Injection
    if (!preg_match("
    /^[a-z]+$/",$Nome)) { die("ATTENZIONE, il nome ".$Nome." contiene caratteri vietati."); }
    if (!preg_match("
    /^[a-z]+$/",$Cognome)) { die("ATTENZIONE, il cognome ".$Cognome." contiene caratteri vietati."); }
    if (!preg_match("
    /^[a-z]+$/",$Sesso)) { die("ATTENZIONE, il nome ".$Sesso." contiene caratteri vietati."); }

    if (!preg_match("
    ^[a-z0-9]+$",$Password)) { die("ATTENZIONE, la password ".$Password." contiene caratteri vietati."); }
    if (!preg_match("
    /^[a-z0-9]+$/",$Password2)) { die("ATTENZIONE, la password ".$Password2." contiene caratteri vietati."); }
    if (!preg_match("
    /^[a-z0-9]+$/",$Indirizzo)) { die("ATTENZIONE, l'indirizzo ".$Indirizzo." contiene caratteri vietati."); }
    if (!preg_match("/^[a-z]+$/",$Citta)) { die("ATTENZIONE, la Città ".$Citta." contiene caratteri vietati."); }
    if (!preg_match("/^[a-z]+$/",$Provincia)) { die("ATTENZIONE, la Provincia ".$Provincia." contiene caratteri vietati."); }
    if (!preg_match("/^[0-9]+$/",$Cap)) { die("ATTENZIONE, il Cap ".$Cap." contiene caratteri vietati."); }
    if (!preg_match("/^[0-9]+$/",$Telefono)) { die("ATTENZIONE, il numero di Telefono".$Telefono." contiene caratteri vietati."); }
    if (!preg_match("/^[0-9]+$/",$Fax)) { die("ATTENZIONE, il numero di Fax ".$Fax." contiene caratteri vietati."); }
    if (!preg_match("/^[0-9]+$/",$Cell)) { die("ATTENZIONE, il numero di Cell ".$Cell." contiene caratteri vietati."); }

    //Controlla data
    if(!preg_match("/^[0-9]{2}/[0-9]{2}/[0-9]{4}$/", $Data)){
    return false;
    }else{
    $arrayData = explode("/", $Data);
    $Giorno = $arrayData[0];
    $Mese = $arrayData[1];
    $Anno = $arrayData[2];
    if(!checkdate($Mese, $Giorno, $Anno)){
    return false;
    }else{
    return true;
    }
    }


    //Controllo campi obbligatori
    if (!$Email | !$Password | !$Nome | !$Cognome | !$Data | !$Sesso | !$Indirizzo | !$Citta | !$Provincia | !$Cap | !$Telefono | !$Cell | !$Cf ) { die('
    Tutti i campi contrassegnati da un *, devono essere completati, Grazie.');

    //Controlla che l'
    utente non sia già registrato
    if (!get_magic_quotes_gpc()) {
    $Cf = addslashes($Cf);
    }
    $usercheck = $Cf;
    $check = mysql_query("SELECT user_code FROM user WHERE code = '$usercheck'") or die(mysql_error());
    $check2 = mysql_num_rows($check);

    //if Avvisa se questo utente esiste già
    if ($check2 != 0) { die("ATTENZIONE, L'utente ".$Cf." è già presente nei nostri archivi.");
    }

    //Controllo email
    if (!get_magic_quotes_gcp()) {
    $Email = addslashes($Email);
    }
    $mailcheck = $Email;
    $check = mysql_query("SELECT user_email FROM user WHERE user_email = '$mailcheck'") or die(mysql_error());
    $mailcheck2 = mysql_num_rows($check);

    //if Avvisa se questa email esiste già
    if ($mailcheck2 != 0) { die("ATTENZIONE, L'Email ".$Email." è già presente nei nostri archivi.");
    }

    //Verifica se l'email è corretta
    if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]{2,3})$/",$Email)) { die("ATTENZIONE, L'Email ".$Email." è incorretta."); }

    //Verifica la password
    if ($Password != $Password2) { die("Le password non corrispondono."); }

    //Cripta la password in md5
    $Passworr = md5($Password);
    if (!
    get_magic_quotes_gpc()) {
    $Password = addslashes($Password);
    $Email = addslashes($Email);
    }

    //controllo formale del Codice Fiscale
    if( $Cf == '' ) { die(""); }
    if(
    strlen($Cf) !=16) { die("La lunghezza del codice fiscale non &egrave; corretta: il codice fiscale drovrebbe essere lungo esattamente 16 caratteri."); }

    $Cf = strtoupper($Cf);
    if( !
    preg_match("/^[A-Z0-9]+$/", $Cf)) { die("Il codice fiscale contiene dei caratteri non validi: i soli caratteri validi sono le lettere e le cifre."); }


    $s = 0;
    for(
    $i = 1; $i <= 13; $i += 2 ) {
    $c = $Cf[$i];
    if(
    '0' <= $c && $c <= '9' )
    $s += ord($c) - ord('0');
    else
    $s += ord($c) - ord('A');
    }
    for(
    $i = 0; $i <= 14; $i += 2 ) {
    $c = $Cf[$i];
    switch(
    $c ) {
    case
    '0': $s += 1; break;
    case
    '1': $s += 0; break;
    case
    '2': $s += 5; break;
    case
    '3': $s += 7; break;
    case
    '4': $s += 9; break;
    case
    '5': $s += 13; break;
    case
    '6': $s += 15; break;
    case
    '7': $s += 17; break;
    case
    '8': $s += 19; break;
    case
    '9': $s += 21; break;
    case
    'A': $s += 1; break;
    case
    'B': $s += 0; break;
    case
    'C': $s += 5; break;
    case
    'D': $s += 7; break;
    case
    'E': $s += 9; break;
    case
    'F': $s += 13; break;
    case
    'G': $s += 15; break;
    case
    'H': $s += 17; break;
    case
    'I': $s += 19; break;
    case
    'J': $s += 21; break;
    case
    'K': $s += 2; break;
    case
    'L': $s += 4; break;
    case
    'M': $s += 18; break;
    case
    'N': $s += 20; break;
    case
    'O': $s += 11; break;
    case
    'P': $s += 3; break;
    case
    'Q': $s += 6; break;
    case
    'R': $s += 8; break;
    case
    'S': $s += 12; break;
    case
    'T': $s += 14; break;
    case
    'U': $s += 16; break;
    case
    'V': $s += 10; break;
    case
    'W': $s += 22; break;
    case
    'X': $s += 25; break;
    case
    'Y': $s += 24; break;
    case
    'Z': $s += 23; break;
    }
    }
    if(
    chr($s%26 + ord('A')) != $Cf[15] ) { die("Il codice fiscale non &egrave; corretto: il codice di controllo non corrisponde."); }
    { die(
    ""); }
    }
    //Scrivi dati sul database Sql
    mysql_connect($dbhost,$dbuser,$dbpass);

    mysql_select_db($dbname);
    $sql="INSERT INTO `shop`.`user` (`user_id`, `user_name`, `user_cogn`, `user_email`, `user_password`, `user_sex`, `user_nascita`, `user_code`, `user_soci`, `user_iva`, `user_via`, `user_provincia`, `user_stato`, `user_citta`, `user_cap`, `user_tel`, `user_cel`, `user_fax`) VALUES (NULL, '$Nome', '$Cognome', '$Email', '$Password', '$Sesso', '$Data', '$Cf', NULL, NULL, '$Indirizzo', '$Provincia', '$Stato', '$Citta', '$Cap', '$Telefono', '$Cell', NULL);";
    if (
    mysql_query($sql)){
    echo
    "Registrazzione avvenuta con successo";
    }else{
    echo
    "Registrazione fallita, riprova";
    }
    }
    ?>
    <form action='register.php' method='post'>
    <table border='0'>
    <tr><td>Email login:</td><td>
    <input type='text' name='Email' maxlength='60'>
    </td></tr>
    <tr><td>Password:</td><td>
    <input type='password' name='Password' maxlength='16'>
    </td></tr>
    <tr><td>Conferma Password:</td><td>
    <input type='password' name='Password2' maxlength='16'>
    </td></tr>
    <tr><td>Nome:</td><td>
    <input type='text' name='Nome' maxlength='60'>
    </td></tr>
    <tr><td>Cognome:</td><td>
    <input type='text' name='Cognome' maxlength='60'>
    </td></tr>
    <tr><td>Data di nascita:(gg/mm/yyyy)</td><td>
    <input type='text' name='Data' maxlength='60'>
    </td></tr>
    <tr><td>Sesso:</td><td>
    Maschio:<input type='checkbox' name='Sesso' value='Maschio' />Femmina:<input type='checkbox' name='Sesso' value='Femmina' />
    </td></tr>
    <tr><td>Indirizzo:</td><td>
    <input type='text' name='Indirizzo' maxlength='60'>
    </td></tr>
    <tr><td>Città:</td><td>
    <input type='text' name='Citta' maxlength='60'>
    </td></tr>
    <tr><td>Provincia:</td><td>
    <input type='text' name='Provincia' maxlength='60'>
    </td></tr>
    <tr><td>Cap:</td><td>
    <input type='text' name='Cap' maxlength='6'>
    </td></tr>
    <tr><td>Telefono:</td><td>
    <input type='text' name='Telefono' maxlength='60'>
    </td></tr>
    <tr><td>Cellulare:</td><td>
    <input type='text' name='Cell' maxlength='60'>
    </td></tr>
    <tr><td>Codice Fiscale:</td><td>
    <input type='text' name='Cf' maxlength='60'>
    </td></tr>

    <tr><th colspan=2><input type='submit' name='Submit' value='Registrati'></th></tr> </table>
    </form>
    Allora il problema è il seguente: lo script php non sembra segnarmi nessun tipo di errore, ma quando vado a testare il tutto i dati non vengono salvati nel DB....
    Ultima modifica di infoliberatutti : 03-12-2010 alle ore 01.56.17

  2. #2
    Guest

    Talking

    Hmm...ma in
    Codice PHP:
    <?php
    //Connessione al DB
    $dbhost = 'localhost';
    $dbuser = 'user';
    $dbpass = 'passwor';
    $dbname = 'dbname';
    $mysql = mysql_connect($dbhost,$dbuser,$dbpass) or die (mysql_error());
    mysql_select_db($dbname) or die (mysql_error());
    ?>
    al posto di 'user', 'dbname' e di 'passwor' metti i tuoi dati,(cioè 'infoliberatutti', 'my_infoliberatutti', e ''),vero?xD
    ------------------------------------------------------------------------------
    Forse per evidenziare il problema devi cambiare:
    Codice PHP:
    if (mysql_query($sql)){
    echo
    "Registrazzione avvenuta con successo";
    }else{
    echo
    "Registrazione fallita, riprova";
    }
    con:
    Codice PHP:
    mysql_query($sql))or die(mysql_error());
    così dovrebbe evidenziarti il problema,se c'è xD

  3. #3
    Guest

    Predefinito

    "echo"Registrazzione avvenuta con successo"; " è fantastico, sembra corretto nella forma ma sicuramente ci sarà qualche parentesi non chiusa o punteggiatura mancante. Problemucci ridicoli che però compromettono il tutto.
    Ultima modifica di andreafallico : 29-09-2011 alle ore 12.45.02

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
  •