Visualizzazione risultati 1 fino 1 di 1

Discussione: Controllo registrazione.php

  1. #1
    Guest

    Predefinito Controllo registrazione.php

    premetto che ho usato il tasto "cerca"! Allora, io utilizzo il seguente codice per controllare se la registrazione va a buon fine:
    reg_control.php

    Codice PHP:
    <?

    $username
    = $_POST['username'];
    $password= sha1($_POST['password']);

    if(
    trim($username) == "" OR trim($password == ""))
    {
    echo
    "Alcuni campi non sono stati compilati! <br />";
    echo
    "<a href=\"javascript:history.back()\">Torna Indietro</a><br><br><br>";
    }

    else if (
    strlen($username) < 6) // controllo che il nome inserito non sia < di 3 caratteri
    {
    echo
    "L' <b>username</b> deve contenere da 6 a 12 caratteri!<br />";
    echo
    "<a href=\"javascript:history.back()\">Torna Indietro</a>";
    }

    else if (!
    eregi("^([a-zA-Z]{3})([a-zA-Z0-9]*)$", $username))//il nome utente inizia per forza con tre lettere
    {
    echo
    "L' <b>username</b> contiene caratteri invalidi<br />";
    echo
    "<a href=\"javascript:history.back()\">Torna Indietro</a>";
    }

    else if (
    eregi("^((root)|(bin)|(daemon)|(adm)|(lp)|(sync)|(shutdown)|(halt)|(mail)|(html)|(xhtml)|
    (news)|(uucp)|(operator)|(MOD-)|(games)|(mysql)|(httpd)|(nobody)|(dummy)|
    (www)|(cvs)|(shell)|(ftp)|(irc)|(debian)|(mod)|(m0d-)|(|(ns)|(download))$"
    , $username)) // controllo che l'utente non inserisca nomi riservati
    {
    echo
    "L' <b>username</b> contiene caratteri non accettati!<br />";
    echo
    "<a href=\"javascript:history.back()\">Torna Indietro</a>";
    }
    ?>
    I problemi sono 4:

    1)Quando lascio il capo "password" vuoto, la registrazione va a buon fine!
    2)Quando inserisco il codice per controllare se la passowrd contiene 5 caratteri, basta inserirne 1 e la registrazione va a buon fine!
    3)Se inserisco il codice per controllare se l' username è già in uso, è come se non l'ho inserito e la registrazione va a buon fine anche con 2 username!
    4)Se inserisco il codice per vedere se la registrazione è andata a buon fine, il messaggio non spunta!

    Uso i seguenti codici:

    1)
    Codice PHP:
    if(!$_POST['password']) { die('Errore: Il campo password risulta non compilato');
    }
    2)
    Codice PHP:
    else if (strlen($password) < 5)
    {
    echo
    "La <b>password</b> deve contenere da 5 a 12 caratteri!<br />";
    echo
    "<a href=\"javascript:history.back()\">Torna Indietro</a>";
    }
    3)
    Codice PHP:
    if($q3->username == $_POST['username']) {
    die(
    'Username già preso! Per favore ne scelga un altro.');
    }
    4)
    Codice PHP:
    case REG_SUCCESS:
    echo
    "Registrazione avvenuta con successo.<br>";
    }

    Potete aggiustarmi questo codice, risolvendo i 4 errori? Vi ringrazio e, se non bastasse, la registrazione.php è questa:
    Codice PHP:
    <?php

    if(!isset($_POST['submit'])){
    echo
    '<form method="post" action="#">
    <center>
    <div>
    <p>
    <p><font size="+3">Registrazione gratuita</font></p>
    <font size="+1">Username (12 caratteri):</font>
    <input type="text" name="username"><br>
    <p>
    <font size="+1">Password (12 caratteri):</font>
    <input type="password" name="pass"><br>
    <p>
    <input type="submit" value="Registrati" name="submit"><br>
    <input type="reset" value="Reset campi">
    <p>

    <title>Registrazione</title>
    <body bgcolor="#FFFF00">

    <table align="center" width="99%" cellpadding="1" cellspacing="1">
    <tr>
    <td style="border-bottom:groove #000022 1px"><sup><strong></strong></sup></td>
    </tr>

    <p><font size="+1">Registrati ed esegui il login qui sotto:</font>
    </p><a href="/login.php"><font size="+1">Clicca qui per eseguire il login</font></a><a
    </form>'
    ;
    } else {

    include
    'config.php';
    include
    'connect.php';


    $user = mysql_real_escape_string($_POST['username']);
    $pass = mysql_real_escape_string($_POST['pass']);

    $query = "INSERT INTO Utenti (username,password) VALUES ('{$user}','{$pass}');";

    $result = mysql_query($query,$conn);
    if (
    $result) {
    (
    "Errore nella query");
    }
    }
    ?>
    Ultima modifica di javascripter : 12-01-2012 alle ore 00.32.33 Motivo: +[php], -[b]

Regole di scrittura

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