PDA

Ver la Versión Completa : variables de sesion


sarga
29-06-2004, 03:32:37
Hola a todos again!


Estoy declarando una variable de sesion en el HOME.PHP luego llamo otra pagina MOSTRAR.PHP y la trato de imprimir y no se imprime sale nula o vacia
cual puede ser el error?

Tambien intente declarar una variable asi:*** global $usuario; *** y no funciona;

Tambien intente colocar al inicio session_start() EN EL HOME.PHP;
pero sale el siguiente error O WARNING:
Cannot send session cokie-headers already sent by(output started at HOME.PHP);
Que debo hacer ?..... Agradezco su colaboracion......


estos son los dos scripts que hice:

********************************************
HOME.PHP

<html><body>

<?php
$_SESSION['usuario']="pedro";
?>

<BR><a href="MOSTRAR.PHP">ver usuario</a></body></html>

***********************************************

***********************************************
MOSTRAR.PHP <Supuestamente deberia mostrar hola pedro pero no lo hace>

<html><body>

<?php
print("hola ".$_SESSION['usuario']);
?>


</body></html>

jachguate
29-06-2004, 10:04:15
En ninguno de los dos casos has puesto el session_start. Te recomiendo que como primera opción acudás al manual de php, que podes encontrar en línea en manual de php en español (http://www.php.net/manual/es).

Verás que alli se aclara que la llamada a sesion_start, cuando se usan sesiones basadas en cookies, debe realizarse antes que se produzca cualquier salida del navegador (usual al usar cookies). Si queres aclararte un poco mas, te recomiendo buscar en el manual la página para session_start y para set_cookie.

Por otro lado, te recomiendo que utilices la etiqueta [ php ] (sin espacios) para publicar trozos de código php (también estan disponibles [ delphi ] [ sql ] y [ code ]).

Un ejemplo de home.php seria:

<?php session_start(); ?>
<html><body>

<?php
$_SESSION['usuario']="pedro";
?>

<BR><a href="MOSTRAR.PHP">ver usuario</a></body></html>


Hasta luego.

;)

kayetano
07-07-2004, 13:43:06
Hola

Vamos por pasos:

- Para trabajar con una sesion tienes que inicializarla en cada página que la necesites con "session_start()" como bien dice jachguate;

- En el caso de definir una variable como global no sirve para acceder a ella desde diferentes páginas, una variable global sirve para acceder a ella desde cualquier parte del código ya sea función o no
Ejemplo

global $a = 5;
mi_funcion();
echo $a // devolvería 4

function mi_funcion() {
$a = 4;
}

roman
07-07-2004, 17:38:09
global $a = 5;
mi_funcion();
echo $a // devolvería 4

function mi_funcion() {
$a = 4;
}



global debe usarse dentro de la definición de una función para indicar cuáles variables del contexto exterior se importan:


$a = 5;
mi_funcion();
echo $a;

function mi_funcion()
{
global $a;
$a = 4;
}


// Saludos

kayetano
08-07-2004, 08:41:47
Las prisas y no probar el código son malos consejeros :-)

Gracias por la corrección roman.