Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/05/2011, 04:03
Avatar de CHuLoSoY
CHuLoSoY
 
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Eliminar cookies, no hay manera

Este es el login, lo llamo por AJAX y el redirect lo pillo con substr de javascript:

Código PHP:
Ver original
  1. <?php
  2.  
  3. include("db.php");
  4.  
  5. $sql = " SELECT * FROM usuarios WHERE user='".$_POST['cmpuser']."' AND pass='".md5($_POST['cmppass'])."'";
  6. $rs = mysql_query($sql, $conexion) or die ();
  7.  
  8. if(mysql_num_rows($rs)>0) {
  9.  
  10.     setCookie("usr", md5($_POST['cmpuser']));
  11.     setCookie("pwd", md5($_POST['cmppass']));
  12.    
  13.     $fila = mysql_fetch_object($rs);
  14.  
  15.     setCookie("uf", $fila->ultf);
  16.     setCookie("ui", $fila->ultip);
  17.  
  18.  
  19.     $sql2="UPDATE usuarios SET ultf=now(), ultip='".$_SERVER['REMOTE_ADDR']."' WHERE id=".$fila->id;
  20.     mysql_query($sql2, $conexion) or die ();
  21.  
  22.     include("acceso.php");
  23.  
  24. } else {
  25.  
  26.     echo "redirect:error.php?e=1";
  27.  
  28. }
  29.  
  30. ?>

Bien, loguea, y todo correcto. Y lo siguiente está en la estructura de todas las páginas:

Código PHP:
Ver original
  1. <div id="separacion">
  2.        
  3.             <div id="capaCat">
  4.                 <blockquote class="oval-thought">
  5.                 <p id="capaCatTxt"></p>
  6.                 </blockquote>
  7.             </div>
  8.            
  9.             <div id="menu">
  10.                 <?php include("menu.php"); ?>
  11.             </div>


Ahora, esto es el menu.php

Código PHP:
Ver original
  1. <?php
  2. switch($_COOKIE['idioma']) {
  3.  
  4.    
  5.     case "en":
  6. ?>
  7.         <ul id="navigation">
  8.                    <!-- inglés-->
  9.         </ul>
  10. <?php  
  11.    
  12.     break;
  13.    
  14.     case "pt":
  15. ?>
  16.         <ul id="navigation">
  17.                    <!-- portugués-->
  18.         </ul>
  19. <?php  
  20.    
  21.     break;
  22.  
  23.     default:
  24. ?>
  25.         <ul id="navigation">
  26.                    <!-- español-->
  27.         </ul>
  28. <?php  
  29.     break;
  30. }
  31. ?>

Pues bien, si quito la lectura de la cookie, es decir, saco el switch y lo pongo todo en español, no cierra sesión en el logout.php:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_GET['z'])) {
  3.  
  4.     unset($_COOKIE['usr']);
  5.     unset($_COOKIE['pwd']);
  6.         /* He probado con setCookie("usr", "", time()-60*60*4) la cual antes funcionaba pero ahora tampoco funciona*/
  7.     header("Location: ../index.php");
  8. } else {
  9.  
  10. ?><span class="bold">Va usted a cerrar sesión.</span>
  11. <br><br>
  12. Esta acción eliminará las cookies existentes en su navegador.<br>
  13. Para volver a entrar deberá introducir de nuevo su usuario y contraseña correspondientes.
  14.  
  15. <br><br>
  16.  
  17. ¿Desea continuar?<br><br>
  18. <p align=right><button type="button" class="botoneras" onclick="history.go(-1);">Cancelar</button><button type="button" class="botoneras2" onclick="window.location.href='perfil/p3.php?z';">Aceptar</button></p>
  19.  
  20. <?php } ?>

A ver si me podéis ayudar

saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.