Connexion/Inscription

guir2000 Messages postés 9 Statut Membre -  
guir2000 Messages postés 9 Statut Membre -
J'aimerais créer un système d'inscription/connexion en PHP et MySQL mais je ne sais pas comment m'y prendre.

2 réponses

  1. DelNC Messages postés 2360 Statut Membre 2 010
     
    Bonjour guir2000

    Je veux bien vous aider mais çà serai plus sympa de votre aide de dire Bonjour.

    Si il y a besoin de connexion alors il faut utiliser des session start

    Pour l'étape de la connexion (les utilisateurs déjà inscrits)
    <h2>Entrez votre login et votre mot de passe</h2>
    <form method="post" action="user_login_action.php">
    <table class="green">
    <tr><td>login </td><td><input type="text" name="login" ></td></tr>
    <tr><td>password</td><td><input type="password" name="password"></td></tr>
    <tr><td> </td><td><input type="submit" ></td></tr>
    </table>
    </form>

    Les données sont envoyées à la page user_login_action.php afin de vérifier si l'utilisateur est bien inscrit et si le couple login password est correct

    Dans la page user_login_action.php
    <?php
    /*reception valeurs*/
    if(isset($_REQUEST["login" ])) {$login = $_REQUEST["login" ];}
    else {$login = "";}
    if(isset($_REQUEST["password"])) {$password = $_REQUEST["password"];}
    else

    /*mise en session des valeurs*/
    $_SESSION["login" ] = $login;
    $_SESSION["password"] = $password;
    $_SESSION["status" ] = identification($login,$password);

    /*affichages suivant le cas*/
    if (identification($login,$password)=="valid") {
    $_SESSION["id_user"] = sql_get_id_user($login);
    echo "<h2>Le couple LOGIN / PASSWORD est valide.</h2>\n";
    echo "<br/>\n";
    echo " $login ,vous pouvez maintenant accéder aux applications.<br/>\n ";
    echo "<br/>\n";
    echo " Choisissez un volet parmis ceux proposés dans la barre des menus.\n ";
    }//end if
    if (identification($login,$password)<>"valid") {
    echo "<h2>INDENTIFICATION INVALIDE !!!</h2>\n";
    echo "<h3>le login et / ou le password sont erronés</h3>\n";
    echo "<h3><a href='user_login_page.php'> Retour à la page Login &nbsp </a></h3><br/>\n";

    }//end if
    ?>

    Si il y a besoin de vérifier la connexion dans plusieurs pages, je vous conseille de créer une page où il y aura les fonctions comme si ci-dessous afin de ne pas avoir à les réécrire à chaque fois

    Pour appeler la page où il a les fonction il faut mettre
    <?php include("include_php_functions.php"); ?>
    <?php include("include_session_get.php"); ?>
    <?php
    function sql_get_id_user($login) {
    //retourne le id d un login valide
    $query = "SELECT id_user FROM users WHERE login='" . $login . "';";
    $result = execute_query($query);
    $row = mysql_fetch_array($result);
    $result = $row[0];
    return $result;
    }//end function

    function sql_insert_user($user) {
    $query = "INSERT INTO users (id_user, login, password)
    VALUES (NULL, '".$id_user."', '" . $login . "' , '".$password."');";
    $result = execute_query($query);
    }//end function

    function display_error() {
    //sert a afficher un message d'erreur sur une page en cas de login invalide
    if(isset($_SESSION["status"])) {$status = $_SESSION["status"];}
    else {$status = "invalid";}
    if ($status == "invalid") {include('include_error.php');
    }//end if
    }//end function
    ?>

    page include_session_get.php
    <?php
    if(isset($_SESSION["login" ])) {$login = $_SESSION["login" ];}
    else {$login = "";}
    if(isset($_SESSION["password"])) {$password = $_SESSION["password" ];}
    else {$password = "";}
    if(isset($_SESSION["status" ])) {$status = $_SESSION["status" ];}
    else {$status = "invalid";}
    if(isset($_SESSION["id_user" ])) {$id_user = $_SESSION["id_user" ];}
    else {$id_user = 0;}
    ?>

    Pour l'inscription
    <?php session_start (); ?>
    <?php include("include_php_functions.php"); ?>
    <?php include("include_session_get.php"); ?>

    <form method="post" action="user_subscription_action.php">
    <table class="grey">
    <tr><td>login </td><td><input type="text" name="login" ></td></tr>
    <tr><td>password</td><td><input type="text" name="password"></td></tr>
    <tr><td> </td><td><input type="submit" ></td></tr>
    </table>
    </form>

    Enregistrement des utilisateurs
    page user_subscription_action.php
    <?php session_start (); ?>
    <?php include("include_php_functions.php"); ?>
    <?php include("include_session_get.php"); ?>

    <?php
    /*recuperation des donnees d^puis la requete*/
    if(isset($_REQUEST["login" ])) {$login = $_REQUEST["login" ];}
    else {$login = "";}
    if(isset($_REQUEST["password"])) {$password = $_REQUEST["password"];}
    else {$password = "";}

    /*traitement du login*/

    if (($login == "") || (sql_login_exists($login))) {
    echo "<h2>CREATION DU COMPTE IMPOSSIBLE</h2>\n";
    echo "<br/>\n";
    echo "le login : <b>\"" . $login . "\"</b> est invalide ou déjà existant <br/>\n";
    echo "<br/>\n";
    echo "<a href='user_subscription_page.php' >retour à la page inscription </a><br/>\n";
    echo "<br/>\n";
    }//end if
    else {
    $query = "INSERT INTO users (login, password) VALUES ('" . $login . "', '" . $password . "');";
    $result = execute_query($query);
    echo "<h2>COMPTE CREE</h2>\n";
    echo "<br/>\n";
    echo "<a href='user_login_page.php'>Vous pouvez maintenat aller vers la page login</a><br/>\n";
    echo "<br/>\n";
    }//end else
    ?>

    Voilà, bonne continuation
    3
  2. guir2000 Messages postés 9 Statut Membre 1
     
    Bonjour
    Merci beaucoup je vais regarder ça
    1