Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/12/2010, 03:41
nusee
 
Fecha de Ingreso: diciembre-2008
Mensajes: 38
Antigüedad: 16 años
Puntos: 0
Respuesta: Sesión con jQuery, PHP y base de datos

Cita:
Iniciado por maycolalvarez Ver Mensaje
claro, el header location funciona, pero en una petición normal, con AJAX no te sirve de nada, además algo que si te sirve seria borrar la caché, agregarle esto, y no tendrás problemas luego con la caché del navegador :

Código PHP:
Ver original
  1. <?php
  2. //Evitar la caché del navegador:
  3. header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );  // disable IE caching
  4. header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );  
  5. header( "Cache-Control: no-cache, must-revalidate" );  
  6. header( "Pragma: no-cache" );
  7.  
  8.  
  9. if(!isset($_SESSION['username'])){
  10.     if(isset($_POST['username'])){
  11.         $db = new mysqli("localhost", "username", "password", "bd");
  12.         $stmt = $db->prepare("SELECT username FROM users WHERE username = ? AND password = ?");
  13.         $stmt->bind_param('ss', $_POST['username'], $_POST['password']);
  14.         $stmt->execute();
  15.         $stmt->store_result();
  16.        
  17.         if($stmt->num_rows() == 1){
  18.             $stmt->bind_result($username);
  19.             $stmt->fetch();
  20.             $_SESSION['username'] = $username;
  21.             echo "1"; //1 que si valida
  22.             exit; //salir
  23.             //header("Location: http://www.google.com.ar/"); //con AJAX es inútil
  24.         }
  25.     }
  26.     echo "0"; //no valido
  27. }
Muchas gracias de nuevo por los consejos maycolalvarez!

Te molesto con dos consultas más, la primera es para saber como puedo hacer para aumentar el tiempo definido de la sesión a por ejemplo diez horas, y la segunda es para saber si tenes idea de porque el código $("#username").focus(); solo funciona en Safari y Chrome, y no así en Firefox, Opera e IE.

Muchísimas gracias por toda la ayuda!

Suertee! =)