Foros del Web » Programando para Internet » PHP »

Sesiones

Estas en el tema de Sesiones en el foro de PHP en Foros del Web. Hola buenos dias: Espero puedan apoyarme en mi codigo por favor: El codigo funciona bien, solo que le agregue para cerrar sesion y no me ...

  #1 (permalink)  
Antiguo 10/06/2011, 08:57
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Sesiones

Hola buenos dias:
Espero puedan apoyarme en mi codigo por favor:
El codigo funciona bien, solo que le agregue para cerrar sesion y no me lo acepta y no me deja accesar, no se que error contiene:

Tengo la pagina (acceso.php) donde contiene el formulario:
Código HTML:
Ver original
  1. <div id="Bienvenidos"><center><font COLOR="003366" size="12">. . Titulo . .</font></center>
  2. <p>&nbsp;</p>
  3. <p>&nbsp;</p>
  4. <table align="center" width="841" border="2">
  5.   <tr>
  6.     <td width="829" height="477"><center>
  7.       <strong><font size="45"> <FONT COLOR="003366">BIENVENIDOS </FONT> </font></strong></center><BR><center>
  8.         <p><font size="16"> <FONT COLOR="003366">CONTROL DE INVENTARIO</FONT></font></p><p>&nbsp;</p><p>&nbsp; </p>
  9.       </center><form action="comprueba.php" method="POST" class="miform">
  10.         <CENTER>
  11.           <p><font size="6"> <FONT COLOR="003366">Login:</FONT>
  12.             <input type="text" name="login">
  13.           </font></p>
  14.         </CENTER>
  15.         <center>
  16.           <p><br>
  17.               <font size="6"> <FONT COLOR="003366">Password: </FONT></font>
  18.             <input type="password" name="pass">
  19.           </p>
  20.         </center>
  21.         <br>
  22.         <center>
  23.           <br>
  24.           <font size="18">
  25.             <input name="submit" type="submit" class="boton"  value="Entrar">
  26.           </font>
  27.           </p>
  28.         </center>
  29.     </form></td>
  30.   </tr>
  31.  
  32.  
  33. <center></center>
  34. </div>


de ahi me pasa a (comprueba.php) y tengo el sig codigo:
Código PHP:
Ver original
  1. <?php
  2. //VERIFICAMOS SI EXISTE VALIDAR SESSION, SI ES ASI EJECUTAMOS UN PROCESO...
  3. if(isset($_REQUEST['verificar_session']))
  4. {
  5.         include("config.php");
  6.         $login = htmlspecialchars(trim($_POST['login']));
  7.         $pass = sha1(md5(trim($_POST['pass'])));
  8.         $link = Conectarse();
  9.         $query = sprintf("SELECT usuarios.login,
  10.                          usuarios.password,
  11.                          usuarios.nombre,
  12.                          usuarios.apaterno,
  13.                          usuarios.amaterno,
  14.                          usuarios.email
  15.                          FROM usuarios WHERE usuarios.login='%s' && usuarios.password = '%s'",
  16.                          mysql_real_escape_string($login),
  17.                          mysql_real_escape_string($pass));
  18.             $result=mysql_query($query,$link);
  19.             if(mysql_num_rows($result))
  20.             {
  21.                 $array=mysql_fetch_array($result);
  22.                 $_SESSION["login"]=$array["login"];
  23.                 $_SESSION["password"]=$array["password"];
  24.                 $_SESSION["nombre"]=$array["nombre"];
  25.                 $_SESSION["apaterno"]=$array["apaterno"];
  26.                 $_SESSION["amaterno"]=$array["amaterno"];
  27.                 $_SESSION["email"]=$array["email"];
  28.                 header("Location:menu_bienvenida.php");
  29.             }
  30.                 else
  31.                     {
  32.                         echo 'Login o Password Incorrectos <a href="acceso.php"> Volver Acceso </a>';
  33.                     }
  34. }
  35. //CADA VEZ QUE SE HAGA UNA LLAMANA A UN DOCUMENTO DONDE ESTE INCLUIDO ESTE ARCHIVO SE VERIFICA
  36. //QUE AUN EXISTA LA SESSION, SI NO EXISTE REDIRECCIONAMOS AL DOCUMENTO QUE QUERAMOS...
  37.  
  38. if(!($_SESSION['login']))
  39. {
  40. header('location:acceso.php');
  41. }
  42.  //VERIFICAMOS SI EXISTE CloseSession, SI ES ASI DESTRUIMOS LA SESSION DEL USUARIO...
  43. if(isset($_REQUEST['CloseSession'])){
  44. }
  45.  ?>

y de ahi me manda al archivo menu_bienvenida: y tengo al incio este codigo:

Código PHP:
Ver original
  1. <?php
  2. if(!($_SESSION['login']))
  3. {
  4. header("acceso.php");
  5. }
  6. ?>


no se si este mal la estructura, porque cuando introduzco los datos, no me pasa a la siguiente pagina, y me deja en acceso sin marcar ningun error..


MMM ahora me manda solo la pagina de comprueba.php en blanco:

Espero puedan orientarme:

Gracias !!!!!

Saludos ........
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #2 (permalink)  
Antiguo 10/06/2011, 09:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Sesiones

lo que pasa es que creas una session y la destruyes inmediatamente.
  #3 (permalink)  
Antiguo 10/06/2011, 09:02
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

pasanos el codigo de tu pagina cerrar
  #4 (permalink)  
Antiguo 10/06/2011, 09:04
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

Gracias !!

y como podria corregirlo, a lo que tengo entendido es que:

Código PHP:
Ver original
  1. if(!($_SESSION['login']))
  2. {
  3. header('location:acceso.php');
  4. }
  5.  //VERIFICAMOS SI EXISTE CloseSession, SI ES ASI DESTRUIMOS LA SESSION DEL USUARIO...
  6. if(isset($_REQUEST['CloseSession'])){
  7. }
  8.  ?>


me lo verifica si esta correcto, hace el proceso, y si no me lo manda al acceso, otra cosa se supone que se realizo asi para que no entren por medio del historial ni por la url, porque asi me pasaba y si lo hacian primero checaba si esta iniciada y si es asi lo permite y si no la destruye y la envia a acceso para que ingrese ......
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #5 (permalink)  
Antiguo 10/06/2011, 09:05
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

en logout.php tengo esto:

Código PHP:
Ver original
  1. <?php
  2. if(!($_SESSION['login'])){
  3. header("acceso.php");
  4. }
  5. ?>
  6.  
  7.  
  8. <?php
  9.  
  10. if(!isset($_SESSION["login"]))
  11.     {
  12.     header("location:login.php");
  13.     }
  14. else
  15.     {
  16.     session_unset();
  17.  
  18.     echo "<h4>Las variables de sesion han sido eliminadas
  19.     <br> <br> La sesion se ha dado por finalizada correctamente
  20.     <br><br> da click <a href='acceso.php'>aqui para salir</a>";
  21.     }
  22. ?>
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #6 (permalink)  
Antiguo 10/06/2011, 09:06
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Sesiones

Hola que tal.

al parecer tu estructura estabien pero cambia esta sentencia en los 2 archivos tanto en comprueba como en la pagina de inicio

Código PHP:
Ver original
  1. if(!($_SESSION['login']))

por

Código PHP:
Ver original
  1. if(!isset($_SESSION['login']))

creo que ese es el error pruebalo y comenta
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #7 (permalink)  
Antiguo 10/06/2011, 09:07
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

Perdon queda asi:

logout.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(!isset($_SESSION["login"]))
  4.     {
  5.     header("location:acceso.php");
  6.     }
  7. else
  8.     {
  9.     session_unset();
  10.  
  11.     echo "<h4>Las variables de sesion han sido eliminadas
  12.     <br> <br> La sesion se ha dado por finalizada correctamente
  13.     <br><br> da click <a href='acceso.php'>aqui para salir</a>";
  14.     }
  15. ?>
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #8 (permalink)  
Antiguo 10/06/2011, 09:07
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

Cita:
Iniciado por Ximenitaa Ver Mensaje
en logout.php tengo esto:

Código PHP:
Ver original
  1. <?php
  2. if(!($_SESSION['login'])){
  3. header("acceso.php");
  4. }
  5. ?>
  6.  
  7.  
  8. <?php
  9.  
  10. if(!isset($_SESSION["login"]))
  11.     {
  12.     header("location:login.php");
  13.     }
  14. else
  15.     {
  16.     session_unset();
  17.  
  18.     echo "<h4>Las variables de sesion han sido eliminadas
  19.     <br> <br> La sesion se ha dado por finalizada correctamente
  20.     <br><br> da click <a href='acceso.php'>aqui para salir</a>";
  21.     }
  22. ?>
tienes que tener el session_start() al principo de tu codigo
  #9 (permalink)  
Antiguo 10/06/2011, 09:10
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

ya cambie las instrucciones y me sigue igual, me manda en blanco comprueba.php como lo indique al inicio ...
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #10 (permalink)  
Antiguo 10/06/2011, 09:12
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

si lo tengo al principio :

Código PHP:
Ver original
  1. <?php
  2. ?>
  3.  
  4. <?php
  5.  
  6. if(!isset($_SESSION["login"]))
  7.     {
  8.     header("location:acceso.php");
  9.     }
  10. else
  11.     {
  12.     session_unset();
  13.  
  14.     echo "<h4>Las variables de sesion han sido eliminadas
  15.     <br> <br> La sesion se ha dado por finalizada correctamente
  16.     <br><br> da click <a href='acceso.php'>aqui para salir</a>";
  17.     }
  18. ?>


no se si sea asi como lo tenia :

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(!isset($_SESSION["login"]))
  4.     {
  5.     header("location:acceso.php");
  6.     }
  7. else
  8.     {
  9.     session_unset();
  10.  
  11.     echo "<h4>Las variables de sesion han sido eliminadas
  12.     <br> <br> La sesion se ha dado por finalizada correctamente
  13.     <br><br> da click <a href='acceso.php'>aqui para salir</a>";
  14.     }
  15. ?>
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #11 (permalink)  
Antiguo 10/06/2011, 09:13
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

SIGUE saliendome en blanco..
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #12 (permalink)  
Antiguo 10/06/2011, 09:14
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

viste el ejemplo que le puse a ofertasdiariass en http://www.forosdelweb.com/f18/sesio...ml#post3885276
??
  #13 (permalink)  
Antiguo 10/06/2011, 09:18
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

si claro:

hice igual mis pruebas me quedo asi:

Código PHP:
Ver original
  1. <?php
  2. if ($_SESSION['login'] != NULL)
  3. {
  4.         include("config.php");
  5.         $login = htmlspecialchars(trim($_POST['login']));
  6.         $pass = sha1(md5(trim($_POST['pass'])));
  7.         $link = Conectarse();
  8.         $query = sprintf("SELECT usuarios.login,
  9.                          usuarios.password,
  10.                          usuarios.nombre,
  11.                          usuarios.apaterno,
  12.                          usuarios.amaterno,
  13.                          usuarios.email
  14.                          FROM usuarios WHERE usuarios.login='%s' && usuarios.password = '%s'",
  15.                          mysql_real_escape_string($login),
  16.                          mysql_real_escape_string($pass));
  17.             $result=mysql_query($query,$link);
  18.             if(mysql_num_rows($result))
  19.             {
  20.                 $array=mysql_fetch_array($result);
  21.                 $_SESSION["login"]=$array["login"];
  22.                 $_SESSION["password"]=$array["password"];
  23.                 $_SESSION["nombre"]=$array["nombre"];
  24.                 $_SESSION["apaterno"]=$array["apaterno"];
  25.                 $_SESSION["amaterno"]=$array["amaterno"];
  26.                 $_SESSION["email"]=$array["email"];
  27.                 header("Location:menu_bienvenida.php");
  28.             }
  29.                 else
  30.                     {
  31.                         echo 'Login o Password Incorrectos <a href="acceso.php"> Volver Acceso </a>';
  32.                     }
  33. }
  34. else
  35. header('location:acceso.php');
  36. ?>
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #14 (permalink)  
Antiguo 10/06/2011, 09:21
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

gracias ....deja lo hago nuevamente .....
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #15 (permalink)  
Antiguo 10/06/2011, 09:58
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Sesiones

Ximenita, a primera instancia no tienes por que tener en tu menú de bienvenida

<?php
session_start();
if(!($_SESSION['login']))
{
header("acceso.php");
}
?>


tu archivo Comprueba.php ya esta haciendo esas validaciones...
basta con que lo incluyas en tus archivos...

tampoco necesitas el archivo logout.php
por que en Comprueba.php tienes el cierre de session

if(isset($_REQUEST['CloseSession'])){
session_destroy();
}


basta con que le envies la variable CloseSession
para que se destruya cualquier session...
y aunque se acceda por el historial u otro lugar no tiene por que acceder por que la session esta destruida...
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #16 (permalink)  
Antiguo 10/06/2011, 10:08
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

OK ya quite lo de la sesion en bienvenida, ya quiete el logout, ......

LO que no entiendo es porque no me accede y me dja en la misma pagina de acceso
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #17 (permalink)  
Antiguo 10/06/2011, 10:13
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

va de nuevo: organizando ideas

esto es el acceso:
Código PHP:
Ver original
  1. <table align="center" width="841" border="2">
  2.   <tr>
  3.     <td width="829" height="477"><center>
  4.       <strong><font size="45"> <FONT COLOR="003366">BIENVENIDOS </FONT> </font></strong></center><BR><center>
  5.         <p><font size="16"> <FONT COLOR="003366">CONTROL DE INVENTARIO</FONT></font></p><p>&nbsp;</p><p>&nbsp; </p>
  6.       </center><form action="comprueba.php" method="POST" class="miform">
  7.         <CENTER>
  8.           <p><font size="6"> <FONT COLOR="003366">Login:</FONT>
  9.             <input type="text" name="login">
  10.           </font></p>
  11.         </CENTER>
  12.         <center>
  13.           <p><br>
  14.               <font size="6"> <FONT COLOR="003366">Password: </FONT></font>
  15.             <input type="password" name="pass">
  16.           </p>
  17.         </center>
  18.         <br>
  19.         <center>
  20.           <br>
  21.           <font size="18">
  22.             <input name="submit" type="submit" class="boton"  value="Entrar">
  23.           </font>
  24.           </p>
  25.         </center>
  26.     </form></td>
  27.   </tr>
  28.  
  29. </table>

esto es comprueba.php
Código PHP:
Ver original
  1. <?php
  2. //VERIFICAMOS SI EXISTE VALIDAR SESSION, SI ES ASI EJECUTAMOS UN PROCESO...
  3. if(isset($_REQUEST['verificar_session']))
  4. {
  5.         include("config.php");
  6.         $login = htmlspecialchars(trim($_POST['login']));
  7.         $pass = sha1(md5(trim($_POST['pass'])));
  8.         $link = Conectarse();
  9.         $query = sprintf("SELECT usuarios.login,
  10.                          usuarios.password,
  11.                          usuarios.nombre,
  12.                          usuarios.apaterno,
  13.                          usuarios.amaterno,
  14.                          usuarios.email
  15.                          FROM usuarios WHERE usuarios.login='%s' && usuarios.password = '%s'",
  16.                          mysql_real_escape_string($login),
  17.                          mysql_real_escape_string($pass));
  18.             $result=mysql_query($query,$link);
  19.             if(mysql_num_rows($result))
  20.             {
  21.                 $array=mysql_fetch_array($result);
  22.                 $_SESSION["login"]=$array["login"];
  23.                 $_SESSION["password"]=$array["password"];
  24.                 $_SESSION["nombre"]=$array["nombre"];
  25.                 $_SESSION["apaterno"]=$array["apaterno"];
  26.                 $_SESSION["amaterno"]=$array["amaterno"];
  27.                 $_SESSION["email"]=$array["email"];
  28.                 header("Location:menu_bienvenida.php");
  29.             }
  30.                 else
  31.                     {
  32.                         echo 'Login o Password Incorrectos <a href="acceso.php"> Volver Acceso </a>';
  33.                     }
  34. }
  35. //CADA VEZ QUE SE HAGA UNA LLAMANA A UN DOCUMENTO DONDE ESTE INCLUIDO ESTE ARCHIVO SE VERIFICA
  36. //QUE AUN EXISTA LA SESSION, SI NO EXISTE REDIRECCIONAMOS AL DOCUMENTO QUE QUERAMOS...
  37. if(!isset($_SESSION['login']))
  38. {
  39. header('location:acceso.php');  // se supone k si no esta iniciada me manda a accesar
  40. }
  41.  //VERIFICAMOS SI EXISTE CloseSession, SI ES ASI DESTRUIMOS LA SESSION DEL USUARIO...
  42. if(isset($_REQUEST['CloseSession'])){
  43. }
  44.  ?>

y en bienvenida ya no le deje nada .......... hasta ahi voy bien??

y al respecto a lo que me dice memoadin
Cita:
lo que pasa es que creas una session y la destruyes inmediatamente.
no tiene algo que ver??
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #18 (permalink)  
Antiguo 10/06/2011, 10:16
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Sesiones

Cita:
Iniciado por Hugo_Euan Ver Mensaje
Ximenita, a primera instancia no tienes por que tener en tu menú de bienvenida

<?php
session_start();
if(!($_SESSION['login']))
{
header("acceso.php");
}
?>


tu archivo Comprueba.php ya esta haciendo esas validaciones...
basta con que lo incluyas en tus archivos...
Si debe tenerlo para que no accedan por la URL a la pagina de bienvenida sin tener la sesión iniciada

Cita:
Iniciado por Hugo_Euan Ver Mensaje
tampoco necesitas el archivo logout.php
por que en Comprueba.php tienes el cierre de session

if(isset($_REQUEST['CloseSession'])){
session_destroy();
}


basta con que le envies la variable CloseSession

para que se destruya cualquier session...
El comprueba es otra cosa, necesita cerrar la sesión en logout.php por la petición de cierre del usuario, no sería lógico enviar a comprueba.php al cerrar la sesión.

Cita:
Iniciado por Hugo_Euan Ver Mensaje
y aunque se acceda por el historial u otro lugar no tiene por que acceder por que la session esta destruida...
exacto.

ximenita!!! 3 cosas:

1.- no te he ayudado por que tienes ayuda de sobra!
2.- fijate en los session_start() que tienen impresiones antes como en logout.php, no puedes hacer eso
3.- si vas a hacer un header de location en alguna pagina como en menu_bienvenida, no puedes imprimir texto después, agrega un else o algo así:

Código PHP:
<?php
session_start
();
if(!(
$_SESSION['login']))
{
header("acceso.php");
}else{
?>
<html>...</html>
<?php ?>
para asegurarte de que no sea posible que se haga el header y la impresión en la misma página.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #19 (permalink)  
Antiguo 10/06/2011, 10:26
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

Y LO de memoadin que me dice que creo la sesion y se destruye, es cierto? porque si la accedo y la destruyo obvio me regresa a la de acceso, yo creo que por eso no pasa a menu bienvenida .. o no?

gracias stramin, yo se que siempre estas pendiente... pero creo si ya me enrede .
ya corregi lo que me comentaste:
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #20 (permalink)  
Antiguo 10/06/2011, 10:31
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Sesiones

Lo que te recomiendo es que tengas los achivos por separados sin ninguna liga o inclusion ya que te puede ocasionar errores.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #21 (permalink)  
Antiguo 10/06/2011, 10:35
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Sesiones

Cita:
Iniciado por stramin Ver Mensaje
Si debe tenerlo para que no accedan por la URL a la pagina de bienvenida sin tener la sesión iniciada
Estas muy equivocado, es irrelevante que tenga en varias paginas una comprobacion de la session, si incluye el archivo comprueba.php esa validacion se hace cada vez que haga una peticion, no tiene por que haber mas...

Cita:
Iniciado por stramin Ver Mensaje
necesita cerrar la sesión en logout.php
si eres atento antes de decir eso, fijate muy bien que en el archivo comprueba tiene

if(isset($_REQUEST['CloseSession'])){
session_destroy();
}


lo cual quiere decir que la session solo sera destruida cuando se envie
la variable ClosseSession...
por lo que tu idea de incluir un archivo logout.php sigue siendo irrelevante...

para que quieres 2 si con uno basta ??
ahora bien... si en comprueba.php no tuviera
if(isset($_REQUEST['CloseSession'])){
session_destroy();
}


pues ahi si puedes optar por incluir logout.php
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #22 (permalink)  
Antiguo 10/06/2011, 10:35
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Sesiones

pues, la sesión se cierra solo si existe la variable $_REQUEST['CloseSession'], y que yo vea NUNCA existe así que nunca puedes cerrar la sesión, a no ser que tengas por ahi un boton de salir con esta url

logout.php?CloseSession=1

y en el logout algo así, nada mas:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_REQUEST['CloseSession']))
  3. {
  4.     session_unset();
  5.     echo "<h4>Las variables de sesion han sido eliminadas
  6.    <br> <br> La sesion se ha dado por finalizada correctamente
  7.    <br><br> da click <a href='acceso.php'>aqui para salir</a>";
  8. }
  9. ?>
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #23 (permalink)  
Antiguo 10/06/2011, 10:39
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Sesiones

Es cierto lo que dicen, creo que no leí bien el código pero se me hizo lo más lógico porque te sacaba al momento de entrar.

en fin dejo a los que te están ayudando.
  #24 (permalink)  
Antiguo 10/06/2011, 10:41
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

ok tengo mi acceso.php que es el formulario:
Código PHP:
Ver original
  1. <table align="center" width="841" border="2">
  2.   <tr>
  3.     <td width="829" height="477"><center>
  4.       <strong><font size="45"> <FONT COLOR="003366">BIENVENIDOS </FONT> </font></strong></center><BR><center>
  5.         <p><font size="16"> <FONT COLOR="003366">CONTROL DE INVENTARIO</FONT></font></p><p>&nbsp;</p><p>&nbsp; </p>
  6.       </center><form action="comprueba.php" method="POST" class="miform">
  7.         <CENTER>
  8.           <p><font size="6"> <FONT COLOR="003366">Login:</FONT>
  9.             <input type="text" name="login">
  10.           </font></p>
  11.         </CENTER>
  12.         <center>
  13.           <p><br>
  14.               <font size="6"> <FONT COLOR="003366">Password: </FONT></font>
  15.             <input type="password" name="pass">
  16.           </p>
  17.         </center>
  18.         <br>
  19.         <center>
  20.           <br>
  21.           <font size="18">
  22.             <input name="submit" type="submit" class="boton"  value="Entrar">
  23.           </font>
  24.           </p>
  25.         </center>
  26.     </form></td>
  27.   </tr>
  28.  
  29. </table>


en forma teorica me tiene que hacer esto:

Código PHP:
Ver original
  1. <?php
  2. PROCESO...
  3. if(isset($_REQUEST['verificar_session']))
  4. {
  5.        
  6. ME HACE EL PROCESO, INICIALMENTE ESTA BIEN .......
  7.  
  8.  
  9. }
  10.  
  11. if(!isset($_SESSION['login']))
  12. {
  13. header('location:acceso.php');  //  SI NO EXISTE ABIERTA LA SESION ME MANDA A ACCESO  Y LA DESTRUYE
  14. }
  15.  
  16. if(isset($_REQUEST['CloseSession']))
  17. {
  18. }
  19.  ?>
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #25 (permalink)  
Antiguo 10/06/2011, 10:42
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Sesiones

Cita:
Iniciado por stramin Ver Mensaje
pues, la sesión se cierra solo si existe la variable $_REQUEST['CloseSession'], y que yo vea NUNCA existe así que nunca puedes cerrar la sesión, a no ser que tengas por ahi un boton de salir con esta url
sin intencion de ofensa, pero como mas piensas cerrar una session ??
si no es con un boton o con un link ??
por arte de magia ???

es obvio que debe haber un boton o un link que envie esa variable....
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #26 (permalink)  
Antiguo 10/06/2011, 10:45
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Sesiones

como me metí en esto? XD

Cita:
Iniciado por Hugo_Euan Ver Mensaje
Estas muy equivocado, es irrelevante que tenga en varias paginas una comprobacion de la session, si incluye el archivo comprueba.php esa validacion se hace cada vez que haga una peticion, no tiene por que haber mas...

si eres atento antes de decir eso, fijate muy bien que en el archivo comprueba tiene

if(isset($_REQUEST['CloseSession'])){
session_destroy();
}


lo cual quiere decir que la session solo sera destruida cuando se envie
la variable ClosseSession...
eso sería correcto si el archivo estuviese incluido como dices, sin embargo no lo está, es una buena idea en todo caso, ximenita podría hacer include(); y evitarse esas lineas.

sin embargo son archivos distintos, como tu mismo ya notaste pero no te has dado cuenta, logout.php cierra la sesion si el usuario hace click en "cerrar sesion", mientras que comprueba es para chequear si la sesión existe, se entiende?

soy atento, creeme XD


Cita:
Iniciado por Hugo_Euan Ver Mensaje
por lo que tu idea de incluir un archivo logout.php sigue siendo irrelevante...
creo que tienes un serio problema con este concepto, deberías redefinir el significado de la palabra irrelevante.

irrelevante es algo que no tiene importancia, sin embargo la usas como la palabra "innecesario", en este caso deberías decir "innecesario".

usa la palabra "irrelevante" cuando quieras referirte a algo que no tendrá efecto en el contexto...

Cita:
Iniciado por Hugo_Euan Ver Mensaje
para que quieres 2 si con uno basta ??
ahora bien... si en comprueba.php no tuviera
if(isset($_REQUEST['CloseSession'])){
session_destroy();
}


pues ahi si puedes optar por incluir logout.php
pues como verás ximenita se equivoca exagerando su seguridad XD, es cierto que no es necesario poner 2 session_destroy, pero su página está hecha así, ella sabe lo que hace, aunque no sepa como hacerlo :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #27 (permalink)  
Antiguo 10/06/2011, 10:46
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Sesiones

a lo que se referia stramin es que mande el parametro logout, al mismo tiempo que crea la sessión, que es lo que yo imaginé
  #28 (permalink)  
Antiguo 10/06/2011, 10:49
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Sesiones

lo siento, chicos, ya se molestaron por mi culpa pero quede en lo mismo .... pero bueno gracias por su ayuda y con lo que cada quien me ayudo, seguire intentado ....

Gracias ....
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #29 (permalink)  
Antiguo 10/06/2011, 10:51
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: Sesiones

Cita:
Iniciado por memoadian Ver Mensaje
a lo que se referia stramin es que mande el parametro logout, al mismo tiempo que crea la sessión, que es lo que yo imaginé
bueno si envia verificar_session y closeSession al mismo tiempo lo que hace es crear y destruir la session al mismo tiempo, pero no creo que Ximenita este enviando esos dos valores al mismo tiempo...
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #30 (permalink)  
Antiguo 10/06/2011, 10:53
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Sesiones

solo dije que es lo que crei, y lo que dijo stramin para explicar mi respuesta. pero fue la primera respuesta. no habian 28 respuestas de analisis de código.

Etiquetas: sesiones
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 14:35.