Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/01/2012, 02:45
Avatar de turco_7
turco_7
 
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 11 meses
Puntos: 19
Respuesta: loguearme con PHP

Bueno, espero que sea para aprender, o para algun desafio persona y no para venderlo...

Aca va. Te presento una forma de hacer login, logout y entrar a una pagina para usuario validado, si queres cambiar el label donde dice nick y demas cosas, es otro tema.

Vamos a tener 5 archivos:

index.php
funciones.php
control.php
seguridad.php
pagina.php

index.php va a tener el contenido de la form pidiendo el usuario y password.

Código HTML:
Ver original
  1.     <form action="control.php" method="POST">
  2.     <table>
  3.         <tr>
  4.             <td>Usuario</td>
  5.             <td><input type="text" name="usuario" id="usuario" /></td>
  6.         </tr>
  7.         <tr>
  8.             <td>Password</td>
  9.             <td><input type="password" name="clave" id="clave" /></td>
  10.         </tr>
  11.         <tr>
  12.             <td></td>
  13.             <td><input type="submit" name="submit" id="submit" value="Ingresar" /></td>
  14.         </tr>
  15.         <tr>
  16.             <td>
  17.             </td>
  18.         </tr>
  19.     </table>
  20.     </form>
  21. </body>
  22. </html>

Bien, el siguiente archivo es funciones.php y aca es donde vas la conexion a la base de datos y la consulta para validar el usuario.

Código PHP:
Ver original
  1. <?php
  2. $cn = mysql_connect("localhost","root","");
  3. if (!$cn) {
  4.     echo "Error en la conexion";
  5.     die();
  6. }
  7.  
  8. mysql_select_db("mi_base",$cn);
  9.  
  10. function validarusuario($usuario, $clave){
  11.           $clave = md5($clave)
  12.           $sql = "select * from usuarios where usuario = '".$usuario."' and clave = '".$clave."'";
  13.           $rs = mysql_query($sql) or die(mysql_error());
  14.           if(mysql_num_rows($rs) == 1){
  15.                     return true;
  16.           }else{
  17.                     return false;
  18.           }
  19. }
  20. ?>

Bien ahora vamos a programar el archivo control.php donde vamos a validar al usuario y vamos a crear una sesion.

Código PHP:
Ver original
  1. <?php
  2. include("funciones.php");
  3. if(validarusuario($_REQUEST['usuario'],$_REQUEST['clave'])){
  4.     session_start();
  5.     $_SESSION["uid"] = $_REQUEST["usuario"];
  6.     header("location: pagina.php");
  7. }else {
  8.     header("location: index.php?msg=error_de_usuario");
  9. }
  10. ?>

Bien ahora el archivo seguridad.php es el que va a ser incluido en cada una de las paginas que querramos que sean accedidas solo por usuarios logueados.

Por ejemplo pagina.php va a tener un include de seguridad.php

Aca vamos con el contenido de seguridad.php

Código PHP:
Ver original
  1. <?php
  2. if (!$_SESSION["uid"]) {
  3.     header("location: index.php?msg=sesion_expirada"); 
  4. }
  5. ?>

Bien y archivo pagina.php tendra el siguiente codigo.

Código PHP:
Ver original
  1. <?php include("seguridad.php"); ?>
  2. <html>
  3. <head></head>
  4. <body>
  5. Bienvenido <?php echo $_SESSION["uid"]; ?>
  6. </body>
  7. </html>

Bueno, espero que te sirva, cualquier cosa consulta.

Saludos!
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!