Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/02/2011, 10:08
hiramhzr
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Validar dato ingresado por un administrador

Ok retomando mi duda, la verdad es que sigo en las mismas este es mi codigo de login:
Código PHP:
Ver original
  1. <?php    
  2. session_start();    
  3. if($_SESSION['myusername'])header("location: index2.php");     
  4. ?>
  5.  
  6. <html>
  7. <body>
  8. <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  9. <tr>
  10. <form name="form1" method="post" action="checklogin.php">
  11. <td>
  12. <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
  13. <tr>
  14. <td colspan="3"><strong>Member Login </strong></td>
  15. </tr>
  16. <tr>
  17. <td width="78">Username</td>
  18. <td width="6">:</td>
  19. <td width="294"><input name="myusername" type="text" id="myusername"></td>
  20. </tr>
  21. <tr>
  22. <td>Password</td>
  23. <td>:</td>
  24. <td><input name="mypassword" type="password" id="mypassword"></td>
  25. </tr>
  26. <tr>
  27. <td>&nbsp;</td>
  28. <td>&nbsp;</td>
  29. <td><input type="submit" name="Submit" value="Login"></td>
  30. </tr>
  31. </table>
  32. </td>
  33. </form>
  34. </tr>
  35. </table>
  36. <body>
  37. <html>

Ahora este es mi checklogin:

Código PHP:
Ver original
  1. <?php
  2. $host="localhost"; // Host name
  3. $username="root"; // Mysql username
  4. $password=""; // Mysql password
  5. $db_name="user"; // Database name
  6. $tbl_name="members"; // Table name
  7.  
  8. // Connect to server and select databse.
  9. mysql_connect("$host", "$username", "$password")or die("cannot connect");
  10. mysql_select_db("$db_name")or die("cannot select DB");
  11.  
  12. // Define $myusername and $mypassword
  13. $myusername=$_POST['myusername'];
  14. $mypassword=$_POST['mypassword'];
  15.  
  16. // To protect MySQL injection (more detail about MySQL injection)
  17. $myusername = stripslashes($myusername);
  18. $mypassword = stripslashes($mypassword);
  19. $myusername = mysql_real_escape_string($myusername);
  20. $mypassword = mysql_real_escape_string($mypassword);
  21.  
  22. $sql="SELECT relacion FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
  23. $result=mysql_query($sql);
  24.  
  25. $myrelacion = 'relacion';
  26.  
  27. // Mysql_num_row is counting table row
  28. $count=mysql_num_rows($result);
  29. // If result matched $myusername and $mypassword, table row must be 1 row
  30.  
  31. if($count==1){
  32. // Register $myusername, $mypassword and redirect to file "login_success.php"
  33. session_register("myusername");
  34. session_register("mypassword");
  35. session_register("myrelacion");
  36. header("location:login_success.php");
  37. }
  38. else {
  39. echo "Wrong Username or Password";
  40. }
  41.  
  42. ?>

Este es mi archivo de logueo satisfactorio:
Código PHP:
Ver original
  1. <html>
  2. <body>
  3. Login Successful
  4. echo "
  5. <script>
  6.  
  7. alert('Bienvenido');
  8.  
  9. location.href='index2.php'
  10.  
  11. </script>";
  12.  
  13. </body>
  14. </html>

Y estes es mi index2.php (el cual muestro cuando el usuario se logueo).
Código PHP:
Ver original
  1. <?php    
  2. if($_SESSION['relacion'] = '1'){
  3. }
  4. else{
  5. echo "No eres administrador";
  6. header("location: index.php");
  7. }
  8. ?>
  9.  
  10. <html>
  11. <body>
  12. Hola Mundo
  13.  
  14. <a href="Logout.php">Salir</a>
  15.  
  16. </body>
  17. </html>

Ok explico de nuevo lo que quiero hacer.

Tengo una tabla members(user,password,relacion) la cual tiene un campo agregado que se llama user:admin pass:admin relacion:1, lo que quiero hacer es que solo me muestre la pagina index2.php cuando el usuario tenga la relacion=1 (de esta forma identificare si es administrador o no lo es) los demas usuarios los agregare por ejemplo con relacion 2 y no debe de mostrarme el index2.php debido a que su relacion es 2 y no 1.

Espero haberme explicado y desde ya muchisimas gracias.