Foros del Web » Programando para Internet » PHP »

probando las sesiones (¿lo tengo correctamente?)

Estas en el tema de probando las sesiones (¿lo tengo correctamente?) en el foro de PHP en Foros del Web. Hola, estoy probando, aprendiendo, el manejo de las sesiones y quisiera saber si el siguiente código lo tengo correcto: (Por cierto que tampoco tengo muy ...
  #1 (permalink)  
Antiguo 25/02/2005, 05:11
 
Fecha de Ingreso: septiembre-2003
Mensajes: 320
Antigüedad: 14 años, 2 meses
Puntos: 3
probando las sesiones (¿lo tengo correctamente?)

Hola, estoy probando, aprendiendo, el manejo de las sesiones y quisiera saber si el siguiente código lo tengo correcto: (Por cierto que tampoco tengo muy claro aún para qué sirven realmente las sesiones, y mira que he leido información sobre ellas...)

Archivo prueba1.php:
-------------------------------------------------------------------------
<?php
session_start();
session_register('snick');
?>
<form name="form1" method="post" action="prueba2.php">
<input type="text" name="nombre">
<input type="submit" name="enviar" value="ENVIAR">
-------------------------------------------------------------------------

Archivo prueba2.php:
-------------------------------------------------------------------------
<?php
session_start();
$_SESSION['snick']=$nombre;
echo $_SESSION['snick'];
?>
  #2 (permalink)  
Antiguo 25/02/2005, 06:42
Avatar de walo  
Fecha de Ingreso: mayo-2004
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 0
Las sesiones sirven para pasar variables en cualquier script sin tener que pasarlas con GET o POST.

Un caso muy comun es un sistema de administracion con login, en donde necesitar comprobar el login en cada script.

Por lo que veo en esos script estas mezclando formas. Pero como el metodo tambien es una duda que me surgio ahora, mejor preguntale a "Cluster".
  #3 (permalink)  
Antiguo 25/02/2005, 07:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No es necesario que me pregunten a mi directamente .. sólo hagan su pregunta en el foro y cualquier persona podrá responder. De hecho . .como son "preguntas y respuestas frecuentes" .. en las FAQ's de este foro PHP tienen como 3 sobre el tema .. donde se explica algo de teoría y como usarlas ..

-----
<?php
session_start();
session_register('snick');
?>

Ya que estás usando los arrays superglobales ($_SESSION) lo cual es lo "seguro" hoy por hoy .. no mezcles .. define tus variables de sesión:

prueba2.php
Código PHP:
<?php
session_start
();
$_SESSION['snick']=$_POST['nombre'];
header ("Location: prueba1.php");
?>
Se trata de definir su valor y redireccionar a otra página (aunque sea a si misma) .. no puedes (o no es real) obtener su valor definido en el mismo flujo del script .. debe ser ante otra "petición" al servidor ..

Por lo comentado .. en prueba 1 podría quedar tipo:

prueba1.php
Código PHP:
<?
sesion_start
();
if (isset(
$_SESSION['snick'])){
echo 
"Hola ".$_SESSION['snick'];
} else {
?>
<form name="form1" method="post" action="prueba2.php">
<input type="text" name="nombre">
<input type="submit" name="enviar" value="ENVIAR">
<?
}
?>
En función de que si está definida o no la variable de sesión "snick" .. se muestra su valor .. o el formulario para el ingreso de esta ...

Un saludo,
  #4 (permalink)  
Antiguo 25/02/2005, 09:10
 
Fecha de Ingreso: septiembre-2003
Mensajes: 320
Antigüedad: 14 años, 2 meses
Puntos: 3
OK!
Pero, una pregunta más... ¿no hace falta registrar la variable de sesión con session_register('var_sesion')?
  #5 (permalink)  
Antiguo 25/02/2005, 09:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No, .. ya lo haces asignando el valor al "indice" del array $_SESSION .. siendo el "indice" tu "variable" .. Se trabaja de igual forma que si fuese un array común y corriente ..sólo que tiene esa "propiedad": que lo tendrás disponible en toda esa sesión y script que lo requieran hasta que te deshagas de ella.

Un saludo,
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 19:38.