1. fichero de login:
Código:
2. fichero de comprobacion de datos (comproba.php)<table> <tr> <form method="post" enctype="multipart/form-data" action='comproba.php'> <td>Login:</td> <td><input name="usuari" value="login... " type="text" size="30" /></td> <td>Password:</td> <td><input name="password" value="El password" type="password" size="30" /></td> <td><input type="submit" value="Entrar" name="enviar" /></td> </form> </tr> </table>
Código:
y finalmente, el código apra comprobar si te has logeado a cada página<?php ob_start(); session_start(); include 'php/conexio.php'; $login =$_POST['usuari']; $pass =$_POST['password']; mysql_real_escape_string($login); mysql_real_escape_string($pass); $query = "SELECT * FROM usuari WHERE nom='".$login."' and passwd = '".$pass."'"; $result=mysql_query($query) or die ((mysql_error())); if(mysql_num_rows($result)>0) { $_SESSION['login']=$login; session_unset($_SESSION['error_login']); header("Location:index.php"); ob_end_flush(); } else { //session_unset(); //session_destroy(); $_SESSION['error_login']="logeo incorrecto"; header("Location:login.php"); } mysql_close($conexio); ob_end_flush(); ?>
Código:
El problema es que en la parte donde comprueba si estas logeado redirige al login como si no hubira pasado la comprobación, cosa que si hace, es decir, dice que la variable $_SESSION['login'] no esta inicializada <?php ob_start(); session_start(); if(!isset($_SESSION['login'])) { $_SESSION['error_login']="Error al logueig - index.php ".session_name(); header("Location:login.php"); ob_end_flush(); } else { ?>