Foros del Web » Programando para Internet » PHP »

problemas con sessiones

Estas en el tema de problemas con sessiones en el foro de PHP en Foros del Web. que tal, pues la verdad no soy muy nuevo en esto de PHP pero ahora si que estoy blqueado, tengo un problema con sessiones, nunca ...
  #1 (permalink)  
Antiguo 18/10/2004, 12:29
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
problemas con sessiones

que tal, pues la verdad no soy muy nuevo en esto de PHP pero ahora si que estoy blqueado, tengo un problema con sessiones, nunca me habia dado problemas.
el asunto esta asi, tengo un script que loguea a los usuarios, al procesar el login creo 2 variables de sesion y doy un link para continuar e ir a una zona de usuarios. En la zona de usuarios solicito las variables de sesion y si no estan creadas redirecciono al formulario de login. El problena es que en ocaciones puedo hacer login y en ocaciones, antes tenia un problema similar tenia que proporcionar los datos de ingreso unas 3 veces para poder ingresar, pero ese problema creo que lo tenia por que redireccionaba al hacer login.

bueno les dejo el codigo haber si pueden ayudarme.

//este es el script que muestra el formulario y el mismo que procesa el login y
Código PHP:
crea las variables de sesion

<?
require_once('../Connections/conecta.php');
mysql_select_db($database_portalcomic$conexion);

if(isset(
$HTTP_POST_VARS["user"])){
   
$user addslashes($HTTP_POST_VARS["user"]);
   
$clave addslashes($HTTP_POST_VARS["clave"]);
   
$login mysql_query("SELECT * FROM `autores` WHERE `user` = '$user' AND `clave`='$clave' LIMIT 1");
   if(
mysql_num_rows($login)){
     
$datos mysql_fetch_array($login);
     
$idautor $datos["id"];
     
$autor $datos["nombre"];
     
session_start();
        
//limpio la sesion
     
session_destroy();
     
$_SESSION['idautor'] = $id;
     
$_SESSION['autor'] = $autor;
     
//echo "Location: listado_resena.php";
     //header("Location: http://misitio.com/resenas/listado_resena.php"); 
?>
Sesion iniciada correctamente, precione el siguiente link para continuar.<br>
<a href="http://misitio.com/resenas/listado_resena.php">Continuar</a>
<?
     
exit();
   }else{ 
?>
<script language="javascript1.2">
alert("ID o clave incorrecto.");
</script>
<?
   
}
}

?>
<table border="1" cellpadding="4">
  <form method="post" action="loginautor.php">
  <tr>
    <td colspan="2" align="center"><b>Inicio de Sesión para Autores.</b></td></tr>
  <tr>
    <td>User:</td>
    <td><input type="text" name="user" size="14" value="<?= $HTTP_POST_VARS["user"]; ?>"></td></tr>
  <tr>
    <td>Clave:</td>
    <td><input type="password" name="clave" size="14"></td></tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" value="Entrar">
  </form>
</table>
//este otro es de la zona de usuarios y es el que me manda al formulario
Código PHP:
<?php
session_start
();
if(isset(
$_SESSION['idautor'])){
    
//echo "idautor" . $_SESSION['idautor'];
    
header("Location: loginautor.php");
}
$idautor $_SESSION['idautor'];
$autor $_SESSION['autor'];
  #2 (permalink)  
Antiguo 18/10/2004, 12:58
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
por que haces esto?
session_start();
//limpio la sesion
session_destroy();

eso "mata" la sesion, no la "limpia". Para eliminar las variables de sesion se usa:

session_unset();
  #3 (permalink)  
Antiguo 18/10/2004, 13:14
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
ok, no creo que fuera el problema eso pero, boy a considerarlo. de cualquier forma ya lo repare, cambie el nombre de la variable $idautor por $sidautor, el problema era que el valor de $_SESSION['idautor']; se quedaba vacio y hasta ahora no comprendo por que aun cuando corregi la linea
$_SESSION['idautor'] = $id;
por
$_SESSION['idautor'] = $idautor;
sera por que tienen el mismo nombre ?
bueno de todos modos muchas gracias claudiovega
  #4 (permalink)  
Antiguo 18/10/2004, 13:21
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
por lo que se ve en el codigo, $id no tenia valor, $idautor si tiene, tiene lo que se obtuvo de la bd. El nombre no tiene nada que ver.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:47.