Foros del Web » Programando para Internet » PHP »

como manejar sesiones

Estas en el tema de como manejar sesiones en el foro de PHP en Foros del Web. hola amigos del mundo ooooooooooooooooooom php. por favor como manejo las sesiones, que es lo mas importante a tener en cuenta? donde encuentro ejemplos practicos ...
  #1 (permalink)  
Antiguo 08/07/2005, 21:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 65
Antigüedad: 13 años
Puntos: 1
como manejar sesiones

hola amigos del mundo ooooooooooooooooooom php.



por favor como manejo las sesiones, que es lo mas importante a tener en cuenta? donde encuentro ejemplos practicos al respecto ojala talleres.


gracias
__________________
contactenme a
[email protected]

[email protected] :aplauso: :aplauso:
  #2 (permalink)  
Antiguo 09/07/2005, 07:39
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 3 meses
Puntos: 5
http://www.desarrolloweb.com/articul....php?manual=12

Espero que te sirva.
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #3 (permalink)  
Antiguo 09/07/2005, 17:57
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 13 años, 9 meses
Puntos: 2
Voy a tratat de hacerlo lo mas simple posible:

En todas las paginas que quieras sesiones, inmediatamente despues de <?
deberás escribir
session_start();
O sea, deberia quedarte asi:
Código PHP:
<?
session_start
();
?>
<html>
<head>
.....
</head>
<body>
...
</body>
</html>
Lo que hace session_start() es iniciar una sesion.

Luego, para "registrar" una sesion, utilizas el siguiente codigo:

Código PHP:
session_register("apellido,direccion,mail");
$_SESSION["apellido"]= "Gonzalez";
$_SESSION["direccion"]= "Juan B. Justo 569";
$_SESSION["mail"]= "[email protected]"
Lo que se acaba de hacer es "registrar" tres sesiones:
Una contiene el apellido, otra contiene la direccion o domicilio, y la otra contiene el e-mail.

Y, finalmente, para destruir una sesion utilizas:
Código PHP:
session_destroy(); 
La principal ventaja de las sesiones sobre las cookies es que estas ultimas no son aceptadas en todos los ordenadores del mundo.

La principal característica de seguridad de las sesiones es que, una vez que cierras completamente el navegador, la sesion se destruye.

Espero que te haya servido. Te dejo mi e-mail:
[email protected]
  #4 (permalink)  
Antiguo 09/07/2005, 18:01
okram
Invitado
 
Mensajes: n/a
Puntos:
alejoluc, es necesario poner la linea
session_register("apellido,direccion,mail");
cuando quiero registrar una variable de sesión?
yo lo hago sin esa linea, osea solo coloco
$_SESSION["apellido"]= "Gonzalez";
$_SESSION["direccion"]= "Juan B. Justo 569";
$_SESSION["mail"]= "[email protected]";
y me funciona normal.... es realmente necesaria esa linea? porque?
  #5 (permalink)  
Antiguo 09/07/2005, 18:11
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 13 años, 9 meses
Puntos: 2
Cita:
Iniciado por okram
alejoluc, es necesario poner la linea
session_register("apellido,direccion,mail");
cuando quiero registrar una variable de sesión?
yo lo hago sin esa linea, osea solo coloco
$_SESSION["apellido"]= "Gonzalez";
$_SESSION["direccion"]= "Juan B. Justo 569";
$_SESSION["mail"]= "[email protected]";
y me funciona normal.... es realmente necesaria esa linea? porque?
Para serte sincero yo tambien probé así y me funciono, pero me parece que es mejor hacerlo.
Quiero hacer una correccion donde tu pusiste:
Cita:
session_register("apellido,direccion,mail");
Es session_register("apellido","direccion","mail"); Fijate que cada una esta entre comillas, y no todas entre las mismas comillas.



Saludos
  #6 (permalink)  
Antiguo 09/07/2005, 18:16
okram
Invitado
 
Mensajes: n/a
Puntos:
ok un saludo
  #7 (permalink)  
Antiguo 09/07/2005, 21:30
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 3 meses
Puntos: 5
No es necesario usar session_register(). Esa es la metología vieja de PHP.

Si quieres que tus sesiones funcionen independientemente de register_globals, deberás usar el array superglobal $_SESSION. Te recomiendo por experiencia propia no usar session_register() nunca. Usa en defecto $_SESSION que te permitirá controlar las variables.

Cuando se estadarize PHP 5, el uso de session_register() será practicamente nulo. Recuerda que siempre hay que tratar de trabajar con register_globals OFF por mayor seguridad, por lo tanto, recurrir a los arrays superglobales es la mejor decisión que puedes tomar.

Te pego aca un fragmento de PHP.net en:
http://ve.php.net/manual/es/function...n-register.php

Si desea que su script funcione independientemente de register_globals, necesita usar en su lugar la matriz $_SESSION, dado que las entradas de $_SESSION son registradas automáticamente. Si su script usa session_register(), no funcionará en entornos en donde la directiva PHP register_globals esté deshabilitada.

Saludos,
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #8 (permalink)  
Antiguo 10/07/2005, 15:27
 
Fecha de Ingreso: julio-2005
Mensajes: 43
Antigüedad: 12 años, 5 meses
Puntos: 0
pues yo tengo el siguiente codigo y no me funciona:

<?php
session_start();
?>
<html>
<head>
<?php
echo "Hola <b>$dentro</b>";
if ($dentro != "si") {
echo "<h1>Esto es una zona restringida, identifiquese por favor!</h1>";
exit;}
?>

y en otro archivo le paso al de arriba esto y no me guarda el contenido de la variable "dentro"

$_SESSION["dentro"]="si";
header("Location: admin.phtml");


No se si me habeis entendido
  #9 (permalink)  
Antiguo 10/07/2005, 15:46
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 13 años, 9 meses
Puntos: 2
Cita:
Iniciado por marco1983
pues yo tengo el siguiente codigo y no me funciona:

<?php
session_start();
?>
<html>
<head>
<?php
echo "Hola <b>$dentro</b>";
if ($dentro != "si") {
echo "<h1>Esto es una zona restringida, identifiquese por favor!</h1>";
exit;}
?>

y en otro archivo le paso al de arriba esto y no me guarda el contenido de la variable "dentro"

$_SESSION["dentro"]="si";
header("Location: admin.phtml");


No se si me habeis entendido
Y en el archivo que pones el siguiente codigo:
[QUOTE]$_SESSION["dentro"]="si";
header("Location: admin.phtml");[/QUOTE ]
Pones session_start(); al principio?

__________________
De mucho estudiar nadie se murió, pero mas vale no arriesgarse
  #10 (permalink)  
Antiguo 10/07/2005, 17:14
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 3 meses
Puntos: 5
"dentro" es una variable de SESION, no es una variable común. Por lo tanto, siempre que vayas a llamarla deberás usar el array superglobal $_SESSION. Además, siempre que vayas a trabajar con una variable de sesión deberás hacer session_start() al inicio de la página.

Saludos,
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #11 (permalink)  
Antiguo 10/07/2005, 19:31
okram
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo tiene razon

Cita:
Iniciado por marco1983
pues yo tengo el siguiente codigo y no me funciona:

<?php
session_start();
?>
<html>
<head>
<?php
echo "Hola <b>$dentro</b>";
if ($dentro != "si") {
echo "<h1>Esto es una zona restringida, identifiquese por favor!</h1>";
exit;}
?>

y en otro archivo le paso al de arriba esto y no me guarda el contenido de la variable "dentro"

$_SESSION["dentro"]="si";
header("Location: admin.phtml");


No se si me habeis entendido
salu2, takitei tiene razón... para llamar una variable de sesión debees usar $_SESSION["variable"]... tu codigo admin.phtml quedaria asi

Código PHP:
<?php 
session_start
();
?>
<html>
<head>
<?php
echo "Hola <b>".$_SESSION["dentro"]."</b>";
if (
$_SESSION["dentro"] != "si") {
echo 
"<h1>Esto es una zona restringida, identifiquese por favor!</h1>";
exit;}
?>
y para grabar la variable:
Código PHP:
<?
session_start
();
$_SESSION["dentro"]="si";
header("Location: admin.phtml");
?>
un saludo
  #12 (permalink)  
Antiguo 11/07/2005, 02:03
 
Fecha de Ingreso: julio-2005
Mensajes: 43
Antigüedad: 12 años, 5 meses
Puntos: 0
lo siento donde grabo la variable si hago session_start(); y hago lo que ustedes me dicen pero sigue sin pasar el contenido de la variable "dentro".
  #13 (permalink)  
Antiguo 11/07/2005, 08:09
okram
Invitado
 
Mensajes: n/a
Puntos:
postea el codigo completo de las 2 paginas q usas para poder ayudarte mas graficamente... salu2
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 16:50.