bonjour,

je suis nouveau en php j'ai commencé à développer un système d'authentification et j'aimerais avoir 3 types de users genre user1 ayant type1 accède à page1 / user2 ayant type2 accède à page2 etc..

pouvez vous m'aider s'il vous plait ?
Modifié par mse123 (12 Aug 2014 - 19:27)
Modérateur
mse123 a écrit :


je suis nouveau en php j'ai commencé à développer un système d'authentification


Salut,

As tu un bout de code à nous présenter ? Parce qu'un système d'authentification présenté de cette manière, c'est vague tout de même.....
Modifié par niuxe (12 Aug 2014 - 23:26)
le voilà :

**************************
<?php

include ('database_connection.php');
if (isset($_POST['formsubmitted'])) {

session_start();
    $error = array();

    if (empty($_POST['e-mail'])) {
        $error[] = 'You forgot to enter  your Email ';
    } else {

        if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['e-mail'])) {
           
            $Email = $_POST['e-mail'];
        } else {
             $error[] = 'Your EMail Address is invalid  ';
        }

    }

    if (empty($_POST['Password'])) {
        $error[] = 'Please Enter Your Password ';
    } else {
        $Password = $_POST['Password'];
    }


       if (empty($error))
    { 
   
        $query_check_credentials = "SELECT * FROM members WHERE (Email='$Email' AND password='$Password') AND Activation IS NULL";
 
        $result_check_credentials = mysqli_query($dbc, $query_check_credentials);
        if(!$result_check_credentials){ 
            echo 'Query Failed ';
        }

        if (@mysqli_num_rows($result_check_credentials) == 1)
        {
      
           $_SESSION = mysqli_fetch_array($result_check_credentials, MYSQLI_ASSOC);
           
            header("Location: page.php");
          
        }else
        { 
            
            $msg_error= 'Either Your Account is inactive or Email address /Password is Incorrect';
        }

    }  else {
             
echo '<div class="errormsgbox"> <ol>';
        foreach ($error as $key => $values) {
            
            echo '	<li>'.$values.'</li>';
       
        }
        echo '</ol></div>';
    }
 
   
    if(isset($msg_error)){
        
        echo '<div class="warning">'.$msg_error.' </div>';
    }
    mysqli_close($dbc);
}

?>


****************************************************
j'ai un champ type sur la table members qui contient trois types on va dire par exp typeA, typeB et type C donc les utilisateurs ayant le typeA accèdent à la page A ceux de typeB accèdent à la page B et ainsi de suite.. j'espère que l'idée est claire
Modifié par mse123 (13 Aug 2014 - 18:07)
Modérateur
mse123 a écrit :

j'ai un champ type sur la table members qui contient trois types on va dire par exp typeA, typeB et type C donc les utilisateurs ayant le typeA accèdent à la page A ceux de typeB accèdent à la page B et ainsi de suite.. j'espère que l'idée est claire



1. peux tu stp rééditer ton post où il y a le code et te conformer aux règles du forum (règle 13). Par avance, je te remercie (les modos t'enverront un bon point pour bonne conduite)

2. Ce n'est pas une bonne idée d'insérer un champ dans ta table (très mauvaise pratique -> doublon, redondance, non conforme à une normalisation, etc.). Je t'invite à utiliser une clef étrangère et la relier à ta table membres. tu peux appeler cette table owners par exemple

3. lorsque le user se connecte, tu mets en session son id et son droit. Je pense que tu veux afficher un type de menu suivant le type de user. Avec le tableau session, tu fais un comparatif
d'abord je tiens à te remercier pour tes réponses, j'ai édité mon post j'espère que c'est bon cette fois-ci et oui c'est exactement ce que je souhaite faire d'ailleurs je vous remercie pour le conseil mais comme je débute en php je ne sais pas encore comment procéder