Sistema di login

di il
1 risposte

Sistema di login

Ciao ragazzi sono nuovo del forum..sto cercando di realizzare un sistema di login per il mio sito. Ho i relativi file e ora li incollo. Premetto il sistema di login serve per installare cometchat.
mi sapreste dire se è presente qualche errore?

--inizio file configurazione.php--

<?

// connetto al mio database

$db_host = "www.miosito.i ";
$db_user = "robyone ";
$db_password = "miapassword";
$db_name = "roberto";

//connetto il database
$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');


?>

--fine file configurazione.php--

--inizio file install.php--

<?php

include ('configurazione.php');

mysql_query("CREATE TABLE `tabella_registrati` (
`id` INT( 40 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nick` VARCHAR( 255 ) NOT NULL ,
`nome` VARCHAR( 255 ) NOT NULL ,
`mail` VARCHAR( 255 ) NOT NULL ,
`pass` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM") or die ("Errore durante la connessione");

echo "Installazione avvenuta con successo";

?>

--fine file install.php--

--inizio file registrazione.php--
<?php

// includiamo il file di connessione al database

include ('configurazione.php');



// creiamo il nostro modulo di registrazione

?>



<form action='?inviodati=ok' method='POST'>

<b>Nome</b><br>
<input type='text' name='nome'><br>

<b>NickName</b><br>
<input type='text' name='nickname'><br>

<b>Mail</b><br>
<input type='text' name='mail'><br>

<b>Password</b><br>
<input type='password' name='pass'><br>

<b>Ripeti Password</b><br>
<input type='password' name='pass2'><br>

<input type='submit' value='Completa Registrazione'><br>

</form>



<?php

// attraverso un if controlliamo che il form sia stato inviato

if ( $_GET['inviodati'] == "ok" ) {



// recuperiamo i dati inviati con il form


$nome = $_POST['nome'];

$nickname = $_POST['nickname'];

$mail = $_POST['mail'];

$pass1 = $_POST['pass'];

$pass2 = $_POST['pass2'];


// ora controlliamo che i campi siano stati tutti compilati

if ( $nome == TRUE && $mail == TRUE && $nickname == TRUE && $pass1 == TRUE && $pass2 == TRUE ) {


// controlliamo se il campo mail è stato scritto in maniera errata


$email = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail);

if ( $email == TRUE ) {



// controlliamo se l'mail è presente già nel database

$sql = mysql_query("SELECT * FROM tabella_registrati WHERE mail = '$mail'") or die ("Mail già occupata");

$num_rows = mysql_num_rows($sql);

if ( $num_rows == 0 ) {

// ora controlliamo che le password inserite siano identiche

if ( $pass1 == $pass2 ) {


// infine criptiamo la password con md5

$pass_md5 = md5($pass1);

mysql_query("INSERT INTO tabella_registrati
(id , nick , nome , pass , mail )
VALUES
('','$nickname', '$nome', '$pass_md5', '$mail' )") OR DIE(mysql_error());

// e inviamo una mail con la riuscita registazione


mail ($mail, "Registrazione OK", "Complimenti registrazione effettuata con successo", "From: ");

// messaggio da far visualizzare all'utente finale

echo "Complimenti registrazione effettuata con successo.";


} else {

echo "Le password non corrispondono";


}

} else {

echo "Indirizzo mail già utilizzato.";

}

} else {

echo "La tua mail non è idonea, per la registrazione.";

}


} else {

echo "Tutti i campi sono obbligatori.";

}



}

?>

--fine file registrazione.php--


Sono due giorni che sto impazzendo su questo codice se questo sistema funziona è probabile che lo posso integrare con cometchat
Ringrazio in anticipo ciao ciao

1 Risposte

  • Re: Sistema di login

    robyone ha scritto:


    Ciao ragazzi sono nuovo del forum..sto cercando di realizzare un sistema di login per il mio sito. Ho i relativi file e ora li incollo. Premetto il sistema di login serve per installare cometchat.
    mi sapreste dire se è presente qualche errore?

    --inizio file configurazione.php--

    <?

    // connetto al mio database

    $db_host = "www.miosito.i ";
    $db_user = "robyone ";
    $db_password = "miapassword";
    $db_name = "roberto";

    //connetto il database
    $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
    mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');


    ?>

    --fine file configurazione.php--

    --inizio file install.php--

    <?php

    include ('configurazione.php');

    mysql_query("CREATE TABLE `tabella_registrati` (
    `id` INT( 40 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `nick` VARCHAR( 255 ) NOT NULL ,
    `nome` VARCHAR( 255 ) NOT NULL ,
    `mail` VARCHAR( 255 ) NOT NULL ,
    `pass` VARCHAR( 255 ) NOT NULL
    ) ENGINE = MYISAM") or die ("Errore durante la connessione");

    echo "Installazione avvenuta con successo";

    ?>

    --fine file install.php--

    --inizio file registrazione.php--
    <?php

    // includiamo il file di connessione al database

    include ('configurazione.php');



    // creiamo il nostro modulo di registrazione

    ?>



    <form action='?inviodati=ok' method='POST'>

    <b>Nome</b><br>
    <input type='text' name='nome'><br>

    <b>NickName</b><br>
    <input type='text' name='nickname'><br>

    <b>Mail</b><br>
    <input type='text' name='mail'><br>

    <b>Password</b><br>
    <input type='password' name='pass'><br>

    <b>Ripeti Password</b><br>
    <input type='password' name='pass2'><br>

    <input type='submit' value='Completa Registrazione'><br>

    </form>



    <?php

    // attraverso un if controlliamo che il form sia stato inviato

    if ( $_GET['inviodati'] == "ok" ) {



    // recuperiamo i dati inviati con il form


    $nome = $_POST['nome'];

    $nickname = $_POST['nickname'];

    $mail = $_POST['mail'];

    $pass1 = $_POST['pass'];

    $pass2 = $_POST['pass2'];


    // ora controlliamo che i campi siano stati tutti compilati

    if ( $nome == TRUE && $mail == TRUE && $nickname == TRUE && $pass1 == TRUE && $pass2 == TRUE )
    allora, prima di tutto cerca di identare il codice perché così purtroppo è illeggibile... e poi per prima cosa guarda quest'ultimo if: tu prendi il valore digitato nei campi input tramite POST e vuoi che siano dei booleani Puoi correggerlo usando empty:

    if ( !empty($nome) && !empty($mail) etc....

    se identi il codice forse leggo il resto
Devi accedere o registrarti per scrivere nel forum
1 risposte