Ver Mensaje Individual
  #11 (permalink)  
Antiguo 01/08/2013, 18:18
diego_weichafe
 
Fecha de Ingreso: enero-2013
Ubicación: santiago de chile
Mensajes: 9
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Protejer directorio web y acceder solo con $_SESSION

Esto me sale:

Código HTML:
Ver original
  1. array (size=1)
  2.   'k_username' => string '16883597-3' (length=10)

El valor "16883597-3" es el usuario que ingresé previamente.

Voy a responderte todo el esquema hasta que se logra el logeo:

1.- para ingresar y colocar los datos "login.php"

Código HTML:
Ver original
  1. <?php
  2. ob_start(); // outer buffer
  3. ob_start(); // inner buffer to catch URL rewrites and other post processing
  4. session_start();
  5. ?>
  6. <title>NUEVO PROVEEDOR</title>
  7. <link href="sisprod/style.css" rel="stylesheet" type="text/css">
  8. </head>
  9.  
  10. <div class="divtablalogin">
  11. <img src="sisprod/img/logoxxx.jpg">
  12.  
  13.   <form action="validar_usuario.php" method="post" name="form1">
  14.    <tr>
  15.      <th width="136">Rut
  16.        </th>
  17.      <td width="302"><input name="usuario" type="text" maxlength="200" id="rut"/></td>
  18.     </tr>
  19.   <tr>
  20.     <th>Clave
  21.       </th>
  22.     <td><input name="password" type="password" maxlength="200" id="clave"/></td>
  23.     </tr>
  24.    
  25.     <tr>
  26.     <td colspan="2" align="center"><input type="submit" value="ENTRAR" /></td>
  27.     </tr>
  28.   </form>
  29.   </table>
  30.   </div>
  31.   <br>
  32.   <div class="divtablalogin0"> <a href="trab_portal/login.php"><img src="img/bot_sis_tra.jpg" width="400" height="114"></a> </div>
  33.   <br/>
  34. </body>
  35. </html>


2.- luego (en el mismo directorio) se verifica que los datos esten correctos en "validar_usuario.php"

Código PHP:
Ver original
  1. <?php
  2. ob_start(); // outer buffer
  3. ob_start(); // inner buffer to catch URL rewrites and other post processing
  4. ?>
  5. <link href="sisprod/style.css" rel="stylesheet" type="text/css"><?php
  6. //datos para establecer la conexion con la base de mysql.
  7. mysql_connect('localhost','root','xxx')or die ('Ha fallado la conexión: '.mysql_error());
  8. mysql_select_db('zzz')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  9. function quitar($mensaje)
  10. {
  11.     $nopermitidos = array("'",'\\','<','>',"\"");
  12.     $mensaje = str_replace($nopermitidos, "", $mensaje);
  13.     return $mensaje;
  14. }
  15. if(trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
  16. {
  17.     // Puedes utilizar la funcion para eliminar algun caracter en especifico
  18.     //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
  19.     //$password = $HTTP_POST_VARS["password"];
  20.     // o puedes convertir los a su entidad HTML aplicable con htmlentities
  21.     $usuario = strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
  22.     $password = $_POST["password"];
  23.     $passwordMD5 = MD5($password);
  24.     $result = mysql_query('
  25.     SELECT
  26.     zzz.admin.clave,
  27.     zzz.admin.rut
  28.     FROM zzz.admin
  29.     WHERE rut=\''.$usuario.'\'');
  30.     if($row = mysql_fetch_array($result)){
  31.         if($row["clave"] == $passwordMD5){
  32.             $_SESSION["k_username"] = $row['rut'];
  33.            
  34.             echo'
  35.             <div class="divtablalogin">
  36.             <table><tr><th>Has sido logueado correctamente</th></tr><tr><th>'.$_SESSION['k_username'].'</th></tr>
  37.             <tr><th>PRESIONE EL ENLACE</th></tr>
  38.             <tr>
  39.         <th><div align="middle"><a href="sisprod/index.php">Entrar al Sistema</a></div></th><tr></table></div>';
  40.            
  41.            
  42.             //Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
  43.             /*Ingreso exitoso, ahora sera dirigido a la pagina principal.
  44.             <SCRIPT LANGUAGE="javascript">
  45.             location.href = "index.php";
  46.             </SCRIPT>*/
  47.         }else{
  48.             echo '<div class="divtablalogin"><table><tr><th>Password incorrecto</th></tr>
  49.             <tr>
  50.         <th><div align="middle"><a href="login.php">Inicio</a></div></th><tr>
  51.            
  52.             </table></div>';
  53.         }
  54.     }else{
  55.         echo '<div class="divtablalogin"><table><tr><th>Usuario no existente en la base de datos</th></tr><tr>
  56.         <th><div align="middle"><a href="login.php">Inicio</a></div></th><tr>
  57.        
  58.         </table></div>';
  59.     }
  60.     mysql_free_result($result);
  61. }else{
  62.     echo '<div class="divtablalogin"><table><tr><th>Debe especificar un usuario y password</th></tr><tr><th><div align="middle"><a href="login.php">Inicio</a></div></th></tr></table></div>';
  63. }
  64. ?>