• Martes 19 de Noviembre de 2024, 14:41

Autor Tema:  Duda sobre sesiones  (Leído 1180 veces)

akiestudio

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Duda sobre sesiones
« en: Sábado 6 de Junio de 2009, 16:21 »
0
Hola buenas , tengo sobre sesiones no se si lo estoy haciendo bien o no , tengo este codigo , el problema es que cuando hago un logout , deberia de cerrar la sesion , pero dano el boton retroceso del navegador me vuelve aparecer la pagina donde estaba logeado , asi que no creo que este destruyendo la sesion , podeis decirme que hago mal,...

Código: PHP
  1.  
  2. <script language=javascript>
  3.  
  4. function passwordinvalido()
  5. {
  6.    // parent.location.href = 'NotLogin.php';
  7.     parent.central.location.href='NotLogin.php';
  8.        
  9. }
  10. function usuarioinvalido()
  11. {
  12.     parent.central.location.href='usuarioinvalido.php';
  13.  
  14. }
  15. function administrador1()
  16. {
  17.    
  18.     parent.arriba.location.href='barrabotones.php';
  19.  
  20. }
  21. function administrador2()
  22. {
  23.     parent.central.location.href='bienvenido.php';
  24. }
  25.  
  26. function usuario1()
  27. {
  28.     parent.arriba.location.href='barrabotonesusuario.php';
  29. }
  30. function usuario2()
  31. {
  32.     parent.central.location.href='bienvenido.php';
  33. }
  34.  
  35. function destuirsession1()
  36. {
  37.    
  38.     parent.arriba.location.href='barraLogin.php'
  39.    
  40.    
  41. }
  42. function destuirsession2()
  43. {
  44. parent.central.location.href='cierresesion.php';
  45. }
  46.  
  47. </script
  48. <?php
  49.     session_name("loginUsuario");
  50.     session_start();
  51.     include "dblogin.php";
  52.     $dblogin = new  cdbLogin;
  53.     $odbc_sat_server = "SatReparacionesOdbc";
  54.     $odbc_sat_USER=  "";
  55.     $odbc_sat_PASS=  "";
  56.     $dblogin->conexion($odbc_sat_server, $odbc_sat_USER, $odbc_sat_PASS);
  57.     //$_SESSION['loged'] = 0;
  58.     error_reporting(0);
  59.    
  60.    
  61.     $disabledusario='""';   
  62.     $disabledcontraseña='""'; 
  63.     $disabledlogin='""';   
  64.     $class ='class =    "textlogin"';
  65.     $classtabla='""';
  66.     if ( !empty( $_GET ) )
  67.     {
  68.         $acceder = $_GET['acceder'];
  69.        
  70.     }
  71.     if( isset($_GET['acceder']) )
  72.         $acceder = $_GET['acceder'];
  73.  
  74.     $_SESSION['permiso'] = 0;  
  75.         switch ( $acceder)
  76.         {
  77.             case 'login':
  78.                 if( $_SESSION['permiso'] == 0 )
  79.                 {
  80.                     $check_user = $_GET['usuario'];
  81.                     $existeUsuario = $dblogin->usuarioexite($check_user);
  82.                    
  83.                     if ( $existeUsuario != 0 )
  84.                     {
  85.                
  86.                         if( isset ( $_GET['contraseña']) )
  87.                         {   
  88.                             $password = $_GET['contraseña'];
  89.                             $existeContraseña = $dblogin->contraseñaExiste($check_user,$password);
  90.                    
  91.                             if ($existeContraseña != 0 )
  92.                             {
  93.                    
  94.                                 $permiso = $dblogin->login($check_user,$password);
  95.                                 if ( $permiso == 1 )
  96.                                 {
  97.                                     $_SESSION['permiso'] = $permiso;
  98.                                     /*$redirect = $_SERVER['PHP_SELF'];
  99.                                     header("Refresh:5;URL =marco2.php?redirect=$redirect");*/
  100.                                    
  101.                                    
  102.                                     ?>
  103.                                         <script language=javascript>administrador1()</script>
  104.                                     <?php;
  105.                                     ?>
  106.                                         <script language=javascript>administrador2()</script>
  107.                                     <?php;
  108.                                    
  109.                                     $disabledusario='disabled="disabled"'; 
  110.                                     $disabledcontraseña='disabled="disabled"'; 
  111.                                     $disabledlogin='disabled="disabled"';   
  112.                                     $class ='class = "inputtext"';
  113.                                     $classtabla='class = "inputtext"';
  114.                                    
  115.                                 }
  116.                         // DE MOMENTO SOLO HAY DOS POSIBILIDADES PERMISO = 1 E = 2 , EN UN FUTURO HABRA QUE IMPLEMENTAR ESTAS OPCIONES
  117.                                 else
  118.                                 {
  119.                                    
  120.                                     $disabledusario='disabled="disabled"'; 
  121.                                     $disabledcontraseña='disabled="disabled"'; 
  122.                                     $disabledlogin='disabled="disabled"';   
  123.                                     $class ='class = "inputtext"';
  124.                                     $classtabla='class = "inputtext"';
  125.                                     $_SESSION['permiso'] = $permiso;
  126.                                     $_SESSION['auntentificado'] = true;
  127.                                    
  128.                                     ?>
  129.                                         <script language=javascript>usuario1()</script>
  130.                                     <?php;
  131.                                     ?>
  132.                                         <script language=javascript>usuario2()</script>
  133.                                     <?php;
  134.                                    
  135.                                 }
  136.                        
  137.                             }
  138.                             else
  139.                             {
  140.                                 ?>
  141.                                     <script language=javascript>passwordinvalido()</script>
  142.                                 <?php;
  143.                    
  144.                             }
  145.                         }
  146.                     }
  147.                     else
  148.                     {
  149.                         ?>
  150.                             <script language=javascript>usuarioinvalido()</script>
  151.                         <?php;
  152.                     }
  153.                 }
  154.                 else
  155.                 {
  156.                     echo ( "debes cerrar la session primero");
  157.                 }
  158.                
  159.                 break;
  160.                
  161.             case 'logout':
  162.                
  163.                 /*session_unset();
  164.                 session_destroy();*/
  165.                 ?>
  166.                     <script language=javascript>destuirsession1()</script>
  167.                     <script language=javascript>destuirsession2()</script>
  168.                 <?php;
  169.                 session_name("loginUsuario");
  170.                 $_SESSION = array();
  171.                 session_unset('permiso');
  172.                 session_destroy();
  173.                 break; 
  174.         }
  175.        
  176.    
  177. ?>
  178.    
  179. <html>
  180. <head>
  181. <title>
  182. </title>
  183. <link href="Css1/style_new1.css"  rel="stylesheet" type="text/css" />
  184. </head>
  185. <body class="tablebotonesprincipales">
  186. <form action ="lateral.php" method = "GET">
  187. <input type ="hidden" name="redirect" value="<?php echo $_GET['redirect'];?>">
  188. <?php
  189. echo '<TABLE width="130" height = "380"  CELLSPACING="1" CELLPADDING="1" align = "center" >
  190. <tr>
  191.     <td>
  192.     <table width="55%" height = "60%"   CELLSPACING="1" CELLPADDING="1" align = "center" >
  193.     <TR>
  194.     <TD ' . $classtabla . '    >Usuario:<br><INPUT  ' . $class .' TYPE ="TEXT"   NAME="usuario" alight = "left"  ' . $disabledusario .' ></input>
  195.     </td>
  196.     </TR>   
  197.     <TD ' . $classtabla . '    >Contraseña:<br><INPUT  ' . $class .'  type="password"  NAME="contraseña" alight = "left" ' . $disabledcontraseña .'></input>
  198.     </td>
  199.     </tr>';?>
  200.    
  201.     <td align = "center">
  202.     <?php
  203.             if ( $_SESSION['permiso'] != 0 )
  204.             {   
  205.  
  206.                 echo
  207.                 '<input type = "submit"  name = "acceder" value="login" disabled="disabled" ' . $class . '></input> 
  208.                 Usuario conectado:
  209.                 ' . $check_user . ' ';
  210.             }
  211.             else
  212.             {
  213.                 echo
  214.                 '<input type = "submit"  class ="button" name = "acceder" value="login" ></input>'; 
  215.             }
  216.     ?>     
  217.    
  218.     </tr>
  219.     <tr>
  220.     <TD height = "15%" align = "center">
  221.    
  222.     </td>
  223.     </tr>
  224.     <tr>
  225.     <td align = "center">
  226.     <?php
  227.             if ( $_SESSION['permiso'] != 0 )
  228.             {   
  229.  
  230.                 echo
  231.                 '<input type = "submit"  class ="button"  name = "acceder" value="logout"  >';
  232.             }
  233.             else
  234.             {
  235.                 echo
  236.                 '<input type = "submit"  class ="button" name = "acceder" value="logout" disabled="disabled" >';
  237.             }
  238.     ?>     
  239.     </td>
  240.     </tr>
  241.     </TABLE>
  242. </td>
  243. <td>
  244. </tr>
  245. </table>
  246. </form>
  247. <?php
  248.  
  249. ?>
  250. </body>
  251. </html> 
  252.  
  253.  

Otra duda que tengo , cuando uso el iexplorer no me consigue logearse , y aparece el nombre de la funciones de java , el iexplore no soporta esas funciones? como puedo solucionarlo? muchas gracias a todos

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Duda sobre sesiones
« Respuesta #1 en: Sábado 6 de Junio de 2009, 23:21 »
0
En primera instancia, veo que no cerraste bien el tag script, ya que te hace falta el > al final de la etiqueta de cierre (en la línea 47); supongo que esa es la razón por la que iexplorer muestra el nombre de las funciones de javascript.

Cuando cierres una sesión, procura hacer un llamado a header("Location: $url"), donde $url es la URL donde quieres que el usuario se dirija cuando haga un logout, de esa forma (creo) el historial no queda con una página con una sesión abierta.

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas