Comment faire pour différer b / w et admin utilisateur normal, lorsque l'utilisateur connecte

  • asad_black
  • Graduate
  • Graduate
  • No Avatar
  • Inscription: Juin 11, 2007
  • Messages: 131
  • Loc: pakistan
  • Status: Offline

Message Janvier 8th, 2010, 12:58 pm

Salut je veux créer une page de connexion dans lequel l'utilisateur connecte son nom d'utilisateur et ID...!

En ce qui distingue un administrateur et utilisateur normal lors de leur connexion.

Lorsque la connexion administrateur de les réorienter vers la page d'admin.

Lorsque la connexion utilisateur, nous rediriger vers la page utilisateur normal.

ma base de données contient 4 champs.

ID utilisateur, nom d'utilisateur, mot de passe, la catégorie

catégorie contiennent la valeur "1" ou "0" pour la différence b / w utilisateur soit son administrateur ou un utilisateur normal.

"1" pour l'administrateur
et
"0" pour l'utilisateur normal

mais je ne sais pas comment faire la sécurité dans le codage PHP.

Mon code est:
Code: [ Select ]


<?php
$host="localhost"; // Host name
$username="myweb"; // Mysql username
$password="myweb"; // Mysql password
$db_name="hms"; // Database name
$tbl_name="login"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$cate='1';

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword' and category='1'";

$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
  1. <?php
  2. $host="localhost"; // Host name
  3. $username="myweb"; // Mysql username
  4. $password="myweb"; // Mysql password
  5. $db_name="hms"; // Database name
  6. $tbl_name="login"; // Table name
  7. // Connect to server and select databse.
  8. mysql_connect("$host", "$username", "$password")or die("cannot connect");
  9. mysql_select_db("$db_name")or die("cannot select DB");
  10. // username and password sent from form
  11. $myusername=$_POST['myusername'];
  12. $mypassword=$_POST['mypassword'];
  13. $cate='1';
  14. // To protect MySQL injection (more detail about MySQL injection)
  15. $myusername = stripslashes($myusername);
  16. $mypassword = stripslashes($mypassword);
  17. $myusername = mysql_real_escape_string($myusername);
  18. $mypassword = mysql_real_escape_string($mypassword);
  19. $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword' and category='1'";
  20. $result=mysql_query($sql);
  21. // Mysql_num_row is counting table row
  22. $count=mysql_num_rows($result);
  23. // If result matched $myusername and $mypassword, table row must be 1 row
  24. if($count==1){
  25. // Register $myusername, $mypassword and redirect to file "login_success.php"
  26. session_register("myusername");
  27. session_register("mypassword");
  28. header("location:login_success.php");
  29. }
  30. else {
  31. echo "Wrong Username or Password";
  32. }
  33. ?>
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Janvier 8th, 2010, 12:58 pm

  • nexuslite
  • Newbie
  • Newbie
  • No Avatar
  • Inscription: Fév 11, 2010
  • Messages: 10
  • Loc: Keizer, OR
  • Status: Offline

Message Février 11th, 2010, 6:23 am

vous avez besoin de mettre les infos dont vous avez reçu de la base de données dans un tableau, puis vérifiez la valeur catégorie.

Code: [ Select ]
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword' and category='1'";

$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){

    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword");
    $info = mysql_fetch_array($result);
    if ($info['category'] == 1) {
        header("location:admin_login_success.php");
    }
    else
        header("location:login_success.php");
    }
}
else {
    echo "Wrong Username or Password";
}
  1. $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword' and category='1'";
  2. $result=mysql_query($sql);
  3. // Mysql_num_row is counting table row
  4. $count=mysql_num_rows($result);
  5. // If result matched $myusername and $mypassword, table row must be 1 row
  6. if($count==1){
  7.     // Register $myusername, $mypassword and redirect to file "login_success.php"
  8.     session_register("myusername");
  9.     session_register("mypassword");
  10.     $info = mysql_fetch_array($result);
  11.     if ($info['category'] == 1) {
  12.         header("location:admin_login_success.php");
  13.     }
  14.     else
  15.         header("location:login_success.php");
  16.     }
  17. }
  18. else {
  19.     echo "Wrong Username or Password";
  20. }

Afficher de l'information

  • Total des messages de ce sujet: 2 messages
  • Utilisateurs parcourant ce forum: ScottG et 269 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC