• # Inscription, vérifs, et préférences (à suivre)

    Posté par . En réponse au message Développement site web. Évalué à 0.

    <?php
    //inscription.php
    //Les vérifs, puis l'inscription si tout est ok :

    // Deux fonctions qui portent bien leur nom

    function genere_password ($int_max=8, $int_min=6)
    {
    mt_srand();
    if ($int_min != 0) { $longueur = mt_rand($int_max, $int_min); }
    else { $longueur = $int_max; }
    $mdp = '';
    for($i=0; $i<$longueur; $i++)
    {
    $quoi= mt_rand(1,3);
    switch($quoi)
    {
    case 1: $mdp .= mt_rand(0,9); break;
    case 2: $mdp .= chr(mt_rand(65,90)); break;
    case 3: $mdp .= chr(mt_rand(97,122)); break;
    }
    }
    return $mdp;
    }

    function checkEmail($email)
    {
    if ( strrpos($email,'.') > strrpos($email,'@')+2 && strrpos($email,'@') > 1 && strlen($email) > strrpos($email,'.')+2 )
    { return true; }
    else { return false; }
    }

    // Vérification des infos envoyées

    if ( checkEmail($_POST[email]) == true )
    {
    $sql0 = "SELECT login FROM membres WHERE login='$_POST[login]'";
    $req0 = mysql_query($sql0) or die('Erreur avec la base !'.mysql_error());
    if ( @mysql_num_rows > 0 )
    { echo "Ce login est déjà pris !"; }
    else
    {
    $pass = genere_password();
    $sql = "INSERT INTO membres (email,login,pass) VALUES ('$_POST[email]','$_POST[login]','".md5($pass)."',0)";
    $req = mysql_query($sql) or die('Erreur avec la base !'.mysql_error());
    mail($_POST[email],"Inscription au tennis","Votre mot de passe : $pass \n\nCordialement \n\nToute l'équipe","From:ton_adresse@email.com");
    }
    }
    else
    { echo "E-mail non valide !"; }

    //Le formulaire :

    echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">
    Votre adresse e-mail : <input name=\"email\" type=\"text\" size=\"15\" maxlength=\"50\" value=\"$_POST[email]\">
    Choisir un login : <input name=\"login\" type=\"text\" size=\"15\" maxlength=\"25\" value=\"$_POST[login]\">
    <input type=\"submit\" value=\"OK\" />
    \n";


    //Login.php
    //Se logger, et créer une session utilisateur (N'oublie pas de commencer toutes tes pages par session_start();)

    session_start();
    if ( $_POST[login] == '' )
    {
    header("location: index.html?erreur=log");
    }
    else
    {
    include "ink/conn.php";
    $sql = "SELECT * FROM members WHERE login = '$_POST[login]' LIMIT 1";
    $req = mysql_query($sql);
    $data = mysql_fetch_array($req);
    if ( md5($_POST[pass]) == $data[pass] )
    {
    $_SESSION[member] = $data;
    $sql2 = "UPDATE members SET dernier_acces = NOW() WHERE id = '".$_SESSION[member][id]."'";
    $req2 = mysql_query($sql2);
    header("location: index.php");
    }
    else
    {
    echo "Mauvais login/mot de passe";
    }
    }

    echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">
    Votre login : <input name=\"login\" type=\"text\" size=\"15\" maxlength=\"25\" value=\"$_POST[login]\">
    Votre mot de passe : <input name=\"pass\" type=\"password\" size=\"15\" maxlength=\"15\" value=\"$_POST[pass]\">
    <input type=\"submit\" value=\"OK\" />
    \n";

    //preferences.php
    //Changer son mail, son mot de passe (pas son login -> N'oublie pas de mettre une clef unique dans ta table MySQL)

    $sql_verif = "SELECT * FROM members WHERE login='".$_SESSION[member][login]."'";
    $req_verif = mysql_query($sql_verif);
    $data_verif = mysql_fetch_array($req_verif);
    if ( md5($_POST[pass_old]) == $data_verif[pass] && $_POST[pass1] == $_POST[pass2] && checkEmail($_POST[email) == true )
    {
    $sql_mod = "UPDATE members SET pass='".md5($_POST[pass1])."',modifie_le=NOW() WHERE id='".$_SESSION[member][id]."'";
    $req_mod = mysql_query($sql_mod);
    $_SESSION[member][email] = $_POST[email]);
    $_SESSION[member][pass] = md5($_POST[pass1]);
    // Ici, tu aurais pu rajouter une vérification d'email, mais là j'ai la flemme...;)
    }

    echo "<form action=\"$_SERVER['PHP_SELF']\" method=\"post\">
    Votre adresse e-mail : <input name=\"email\" type=\"text\" size=\"15\" maxlength=\"50\" value=\"".$_SESSION[member][email]."\">
    Votre mot de passe actuel : <input type=\"password\" name=\"pass_old\" size=\"10\" maxlength=\"20\" />
    Votre nouveau mot de passe : <input name=\"pass1\" type=\"password\" size=\"10\" maxlength=\"20\" />
    Confirmez le nouveau mot de passe : <input name=\"pass2\" type=\"password\" size=\"10\" maxlength=\"20\" />
    <input type=\"submit\" value=\"OK\" />
    \n";

    //admin.php
    //Mets cette page dans un répertoire à part que tu protèges avec htaccess...

    //Donne moi plus de précisions sur tes paris, pronostics, classements pour la suite

    ?>