Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/01/2004, 07:39
lailuluelo
 
Fecha de Ingreso: mayo-2003
Mensajes: 125
Antigüedad: 21 años
Puntos: 0
De cookies a PHPSESSID

Hola amigos,

Estoy pasando todo el control de sesiones para que funcione independientemente de que el usuario en su navegador tenga deshabilitadas las cookies.

El código es bastante simple:

Hago un control de usuario y contraseña:

Código PHP:
<?
if ($_POST["login"]!=""$login $_POST["login"];
 else 
$login $_GET["login"];
if (
$_POST["password"]!=""$password md5($_POST["password"]);
 else 
$password md5($_GET["password"]);

//Conexión con la BD
include("./includes/conexionbd.php");
//Sentencia SQL para obtener datos sobre el usuario
$sSQL="SELECT password, perfil_pv FROM acceso WHERE usuario='" $login "' AND password='" $password "'";
$result=mysql_db_query($bd,$sSQL);
//Obtención del perfil del usuario
$row=mysql_fetch_array($result);
$pfl=$row["perfil_pv"]; 

if(
mysql_num_rows($result)!=0)
{
 
session_name(); 
 
session_start(); 
 
session_register("bien");
 
session_encode();
 
$url "Location: default.php?pfl=".$pfl."&PHPSESSID=".$PHPSESSID;
 
header($url);
}else{ 
 
//si no existe le mando otra vez al inicio
 
header("Location: index_err.php");
}
?>
En la pagina destino tengo como include el siguiente codigo:

Código PHP:
<?
<?
//Inicio la sesión
session_name();
session_start("bien");
//Comprobación de autentificación
if (!(session_is_registered("bien")))
{
    
session_destroy();
    
header("Location:index.php");
    exit();
}
?>
Y me pasa algo curioso, ya que deberia funcionar incluso bloqueando todas las cookies. Si le pongo en el navegador hasta proteccion de privacidad alta funciona a las mil maravillas pero si le pongo "bloquear todas las cookies" me muestra:

Código PHP:
Warningsession_start() [function.session-start]: The session id contains illegal charactersvalid characters are only a-zA-and 0-9 in /home/html/back_pv/includes/seguridad.php on line 4

Warning
session_start() [function.session-start]: Cannot send session cache limiter headers already sent (output started at /home/html/back_pv/includes/seguridad.php:4in /home/html/back_pv/includes/seguridad.php on line 4

Warning
session_destroy() [function.session-destroy]: Session object destruction failed in /home/html/back_pv/includes/seguridad.php on line 7

Warning
Cannot modify header information headers already sent by (output started at /home/html/back_pv/includes/seguridad.php:4in /home/html/back_pv/includes/seguridad.php on line 8 
Me habla de caracteres invalidos cuando creo que no los tiene y tb del famoso "headers already sent" que aparece cuando tienes espacios en blanco.

Lo mas curioso del tema es que si estos dos problemas existierna realmente me los tendria que dar en cualqueir caso y no en este.

¿Alguna idea?

Muchas gracias amigos,
__________________
Lailuluelo
El error está en lo obvio