Ver Mensaje Individual
  #10 (permalink)  
Antiguo 11/06/2009, 12:13
Avatar de rompeguesos
rompeguesos
 
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Problema raro con las sesiones

Vale empezando por el formulario del login y el comprueba del formulario:

login.php

Código PHP:
<?php
session_start
();

if(isset(
$_SESSION['login'])){
header("location: index.php");
}

if (isset(
$_GET['error'])){
$error_accion_ms[1]= "* Faltan Datos.";
$error_accion_ms[2]= "* El password introducido es incorrecto";
$error_accion_ms[3]= "* El usuario introducido es incorrecto";
$error_accion_ms[4]= "* Los campos no pueden quedar vacios";
$error_accion_ms[5]= "* No tienes permisos suficientes para acceder a esta seccion<br>registrate con otro login e intentalo de nuevo";
$error_accion_ms[6]="* Debes de registrarte para poder acceder!";
$error_cod $_GET['error'];
}

<
form action="comprueba.php" method="post" name="login" class="Estilo3">
<
table>
    <
tr>
        <
td colspan="2" align="center">Accede a la zona personal</td>
    </
tr>
    <
tr>
        <
td colspan="2" align="center" class="error">&nbsp;<?php echo($error_accion_ms[$error_cod]); ?></td>
    </tr>
    <tr>
        <td align="right">Email:</td>
        <td align="left"><input name="login" type="text" size="18" maxlength="40"/></td>
    </tr>
    <tr>
        <td align="right">Contraseña:</td>
        <td align="left"><input type="password" name="pass" /></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><input name="Submit" type="submit" class="acceder" value="Acceder" /></td>
    </tr>
    <tr>
        <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
        <td colspan="2" align="center"><a href="http://www.forosdelweb.com/f18/reg/formreg.php">Regístrate</a></td>
    </tr>
</table>
</form>
comprueba.php:

Código PHP:
<?php    
session_start
();    
include(
"../reg/config.php");    
$login $_POST['login'];    
$pass $_POST['pass'];    
$qry="SELECT id, password, userlevel FROM usu WHERE email='$login'";   
//echo $qry."<br>";   
$result=mysql_query($qry) or die(mysql_error());   
//echo "Las filas encontradas son ".mysql_num_rows($result);   
if(mysql_num_rows($result)==0)
{    
    
header("location: index.php?error=3");    
    exit();    

else 
{    
    
$array=mysql_fetch_array($result);    
    if(
$array["password"]!=md5($pass))
    {    
        
header("Location: index.php?error=7");
        exit();    
    }
    else
    {
        
        
$_SESSION["login"]=$array['login'];    
        
$_SESSION["id"] = $array['id'];
        
$_SESSION["userlevel"] = $array["userlevel"];  
        
header("Location: index.php");    
        exit();    
    }    
}    
?>
Si esta a diferente nivel, el esquema seria una cosa asi:

Pagina principal (En directorio)
usuarios(carpeta)--> dentro de usuarios esta: usu(carpeta) <-- en esta carpeta esta login.php y comprueba.php

Si hasta aqui lo ves todo bien sigo mostrando mas archivos.