Foros del Web » Programando para Internet » PHP »

sesiones php

Estas en el tema de sesiones php en el foro de PHP en Foros del Web. Hola, tengo una duda sobre las sesiones de php. Ya que no entiendo muy bien, el uso de session_start(), sesion_register(); y de la variable "SID". ...
  #1 (permalink)  
Antiguo 02/09/2007, 17:00
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 16 años, 8 meses
Puntos: 0
sesiones php

Hola,

tengo una duda sobre las sesiones de php.
Ya que no entiendo muy bien, el uso de session_start(), sesion_register(); y de la variable "SID".

A ver mi problema es que tengo este pequeño ejemplo:
Fichero prueba1.php:

<?

session_start();
?>

<html>
<?

$var = 10;
session_register("var");
$var++;

?>

<a href="prueba2.php" >Prueba2</a>
</html>

Fichero prueba2.php


<?

session_start();
//session_register("var");

echo "var de sesion: ".$var."<br/>";

?>

El problema es que si en el enlace del fichero prueba1.php, no le paso la variable "SID", concatenada, no me llega la sesion al fichero prueba2.php, pero tenia entendido que solo es necesario pasar SID en el url, cuando se tienen desactivadas las cookies, y yo las tengo activadas y es que sin "SID", no me funciona:(.

A ver si alguien me puede aclarar esto, porque estoy desesperando ya:(.

Muchas gracias,

saludos
  #2 (permalink)  
Antiguo 02/09/2007, 17:17
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: sesiones php

La cosa sería ver como pasas el SID por la URL, que en ese código no lo pones.

Te recomiendo usar $_SESSION en vez de session_register().
Código PHP:
// Al inciar
$_SESSION['var'] = 10;
// Después en las demás páginas
$_SESSION['var']++; 
  #3 (permalink)  
Antiguo 02/09/2007, 17:29
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: sesiones php

He probado con eso que me dices y en el fichero prueba2.php, me sigue sin llegar el valor de la variable que esta en sesion. Para que me funcione, y me llegue lo que esta en sesion, tengo que hacer esto:
<a href="prueba2.php?<? echo SID; ?>" >Prueba2</a>.

¿Pero porque es necesario tener que concatener el SID?
  #4 (permalink)  
Antiguo 02/09/2007, 17:41
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: sesiones php

No es necesario enviar el SID por GET, a menos que se tengan las cookies deshabilitadas.
¿Cómo recoger el SID? Porque así como lo muestras, tendrías que partir la URL ya que estás pasando SID como nombre de variable y no como contenido de una variable.
  #5 (permalink)  
Antiguo 02/09/2007, 17:46
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: sesiones php

El problema, es que tengo las cookies habilitadas, y lo que pretendo es que a prueba2.php le llegue la session de manera normal sin pasarle el SID por GET.
¿que puedo estar haciendo mal para que no le llegue al prueba2.php?
  #6 (permalink)  
Antiguo 03/09/2007, 17:42
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: sesiones php

Si estás haciéndolo como dijsite antes,
remember:
Código PHP:
<a href="prueba2.php?<? echo SID?>" >Prueba2</a>.
Entonces, como te dije antes, tendrías que partir la URL por ? para saber el SID. Entonces, casi mejor hacer algo así:
Código PHP:
<a href="prueba2.php?SID=<?=SID?>" >Prueba2</a>.
Luego, claro, recogerlo con $_GET['SID'].
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:21.