Programación Web y Scripting > PHP

 Duda sobre sesiones

(1/1)

akiestudio:
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 --- <script language=javascript>  function passwordinvalido(){   // parent.location.href = 'NotLogin.php';    parent.central.location.href='NotLogin.php';        }function usuarioinvalido(){    parent.central.location.href='usuarioinvalido.php'; }function administrador1(){        parent.arriba.location.href='barrabotones.php'; }function administrador2(){    parent.central.location.href='bienvenido.php';} function usuario1(){    parent.arriba.location.href='barrabotonesusuario.php';}function usuario2(){    parent.central.location.href='bienvenido.php';} function destuirsession1(){        parent.arriba.location.href='barraLogin.php'        }function destuirsession2(){parent.central.location.href='cierresesion.php';} </script<?php    session_name("loginUsuario");     session_start();    include "dblogin.php";    $dblogin = new  cdbLogin;    $odbc_sat_server = "SatReparacionesOdbc";    $odbc_sat_USER=  "";    $odbc_sat_PASS=  "";    $dblogin->conexion($odbc_sat_server, $odbc_sat_USER, $odbc_sat_PASS);    //$_SESSION['loged'] = 0;    error_reporting(0);            $disabledusario='""';       $disabledcontraseña='""';      $disabledlogin='""';        $class ='class =    "textlogin"';    $classtabla='""';    if ( !empty( $_GET ) )     {        $acceder = $_GET['acceder'];            }    if( isset($_GET['acceder']) )        $acceder = $_GET['acceder'];     $_SESSION['permiso'] = 0;           switch ( $acceder)         {            case 'login':                if( $_SESSION['permiso'] == 0 )                 {                    $check_user = $_GET['usuario'];                    $existeUsuario = $dblogin->usuarioexite($check_user);                                        if ( $existeUsuario != 0 )                     {                                        if( isset ( $_GET['contraseña']) )                        {                               $password = $_GET['contraseña'];                            $existeContraseña = $dblogin->contraseñaExiste($check_user,$password);                                                if ($existeContraseña != 0 )                             {                                                    $permiso = $dblogin->login($check_user,$password);                                if ( $permiso == 1 )                                 {                                    $_SESSION['permiso'] = $permiso;                                    /*$redirect = $_SERVER['PHP_SELF'];                                    header("Refresh:5;URL =marco2.php?redirect=$redirect");*/                                                                                                            ?>                                        <script language=javascript>administrador1()</script>                                    <?php;                                    ?>                                        <script language=javascript>administrador2()</script>                                    <?php;                                                                        $disabledusario='disabled="disabled"';                                      $disabledcontraseña='disabled="disabled"';                                     $disabledlogin='disabled="disabled"';                                       $class ='class = "inputtext"';                                    $classtabla='class = "inputtext"';                                                                    }                         // DE MOMENTO SOLO HAY DOS POSIBILIDADES PERMISO = 1 E = 2 , EN UN FUTURO HABRA QUE IMPLEMENTAR ESTAS OPCIONES                                else                                {                                                                        $disabledusario='disabled="disabled"';                                      $disabledcontraseña='disabled="disabled"';                                     $disabledlogin='disabled="disabled"';                                       $class ='class = "inputtext"';                                    $classtabla='class = "inputtext"';                                    $_SESSION['permiso'] = $permiso;                                    $_SESSION['auntentificado'] = true;                                                                        ?>                                        <script language=javascript>usuario1()</script>                                    <?php;                                    ?>                                        <script language=javascript>usuario2()</script>                                    <?php;                                                                    }                                                    }                            else                            {                                ?>                                    <script language=javascript>passwordinvalido()</script>                                <?php;                                                }                        }                    }                    else                    {                        ?>                            <script language=javascript>usuarioinvalido()</script>                        <?php;                    }                }                else                {                    echo ( "debes cerrar la session primero");                }                                break;                            case 'logout':                                /*session_unset();                session_destroy();*/                ?>                    <script language=javascript>destuirsession1()</script>                    <script language=javascript>destuirsession2()</script>                <?php;                session_name("loginUsuario");                 $_SESSION = array();                session_unset('permiso');                session_destroy();                break;          }            ?>    <html><head><title></title><link href="Css1/style_new1.css"  rel="stylesheet" type="text/css" /></head><body class="tablebotonesprincipales"><form action ="lateral.php" method = "GET"><input type ="hidden" name="redirect" value="<?php echo $_GET['redirect'];?>"> <?phpecho '<TABLE width="130" height = "380"  CELLSPACING="1" CELLPADDING="1" align = "center" ><tr>    <td>    <table width="55%" height = "60%"   CELLSPACING="1" CELLPADDING="1" align = "center" >    <TR>    <TD ' . $classtabla . '    >Usuario:<br><INPUT  ' . $class .' TYPE ="TEXT"   NAME="usuario" alight = "left"  ' . $disabledusario .' ></input>    </td>    </TR>       <TD ' . $classtabla . '    >Contraseña:<br><INPUT  ' . $class .'  type="password"  NAME="contraseña" alight = "left" ' . $disabledcontraseña .'></input>    </td>    </tr>';?>        <td align = "center">    <?php             if ( $_SESSION['permiso'] != 0 )             {                    echo                 '<input type = "submit"  name = "acceder" value="login" disabled="disabled" ' . $class . '></input>                 Usuario conectado:                ' . $check_user . ' ';            }            else            {                echo                '<input type = "submit"  class ="button" name = "acceder" value="login" ></input>';             }    ?>              </tr>    <tr>    <TD height = "15%" align = "center">        </td>    </tr>    <tr>    <td align = "center">    <?php             if ( $_SESSION['permiso'] != 0 )             {                    echo                 '<input type = "submit"  class ="button"  name = "acceder" value="logout"  >';            }            else            {                echo                 '<input type = "submit"  class ="button" name = "acceder" value="logout" disabled="disabled" >';            }    ?>          </td>    </tr>    </TABLE></td><td></tr></table></form><?php ?></body></html>   
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:
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:

Navegación

[0] Índice de Mensajes

Ir a la versión completa