Foros del Web » Programando para Internet » PHP »

Problemas con $_SESSION

Estas en el tema de Problemas con $_SESSION en el foro de PHP en Foros del Web. Envío los datos de un formulario (html) por el método POST a una pagina PHP con este codigo: Código PHP: <? //sesion iniciada session_start (); $_SESSION ...
  #1 (permalink)  
Antiguo 27/07/2011, 11:03
 
Fecha de Ingreso: junio-2009
Mensajes: 80
Antigüedad: 15 años, 4 meses
Puntos: 2
Problemas con $_SESSION

Envío los datos de un formulario (html) por el método POST a una pagina PHP con este codigo:

Código PHP:
<?
//sesion iniciada
session_start();
$_SESSION['1'] = $_POST['asdf'];
echo 
$_SESSION['1'];
?>
me muestra la misma variable que le envié desde el formulario. y quiero que la guarde...

Pero mira por donde.... parece que no hay manera de guardar nada. ya que después recargo la pagina PHP y la pagina esta en blanco cuando tendría que mostrar la variable almacenada...


No es así?

que pasa
  #2 (permalink)  
Antiguo 27/07/2011, 11:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problemas con $_SESSION

Lo que pasa es que siempre estas asignando a $_SESSION['1'] el valor de $_POST, y si recargar obviamente se pierde ese valor.

Tienes que agregar un if() antes para verificar si existe el valor de $_POST para asignarlo y luego imprimir.

Saludos.
  #3 (permalink)  
Antiguo 27/07/2011, 11:12
 
Fecha de Ingreso: junio-2009
Mensajes: 80
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Problemas con $_SESSION

Cita:
Iniciado por GatorV Ver Mensaje
Lo que pasa es que siempre estas asignando a $_SESSION['1'] el valor de $_POST, y si recargar obviamente se pierde ese valor.

Tienes que agregar un if() antes para verificar si existe el valor de $_POST para asignarlo y luego imprimir.

Saludos.
entonces es así?

Código PHP:
<?
//sesion iniciada
session_start();
if (empty(
$_POST['asdf'])){
$_SESSION['1'] = $_POST['asdf'];
}else{
echo 
$_SESSION['1'];
}
?>
porque tampoco funciona...
  #4 (permalink)  
Antiguo 27/07/2011, 11:17
 
Fecha de Ingreso: junio-2009
Mensajes: 80
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Problemas con $_SESSION

Cita:
Iniciado por quiquebg Ver Mensaje
entonces es así?

Código PHP:
<?
//sesion iniciada
session_start();
if (empty(
$_POST['asdf'])){
$_SESSION['1'] = $_POST['asdf'];
}else{
echo 
$_SESSION['1'];
}
?>
porque tampoco funciona...
también probé con:

Código PHP:
<?
//sesion iniciada
session_start();
if (isset(
$_POST['asdf'])){
$_SESSION['1'] = $_POST['asdf'];
}else{
echo 
$_SESSION['1'];
}
?>
y nada

también probé con:

Código PHP:
<?
//sesion iniciada
session_start();
echo 
$_SESSION['1'];
if (empty(
$_SESSION['1'])){
$_SESSION['1'] = $_POST['asdf'];
}else{
exit();
}
?>
nada

en ninguno de los casos se muestra nada
  #5 (permalink)  
Antiguo 27/07/2011, 11:32
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 3 meses
Puntos: 793
Respuesta: Problemas con $_SESSION

Probé el código y me arroja un error tipo notice, al parecer el nombre $_SESSION['1'] no es válido:

Notice: Unknown: Skipping numeric key 1 in Unknown on line 0

tienes que ponerle como nombre "1" ?

Código PHP:
Ver original
  1. <?php
  2. //sesion iniciada
  3.  
  4. if (!isset($_SESSION['prueba'])) {
  5.     $_SESSION['prueba'] = $_POST['asdf'];
  6. }
  7.  
  8. echo $_SESSION['prueba'];
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 27/07/2011 a las 11:38
  #6 (permalink)  
Antiguo 27/07/2011, 11:39
 
Fecha de Ingreso: junio-2009
Mensajes: 80
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Problemas con $_SESSION

Cita:
Iniciado por andresdzphp Ver Mensaje
Probé el código y me arroja un error tipo notice, al parecer el nombre $_SESSION['1'] no es válido:

Notice: Unknown: Skipping numeric key 1 in Unknown on line 0

tienes que ponerle como nombre "1" ?

Código PHP:
Ver original
  1. <?php
  2. //sesion iniciada
  3.  
  4. if (!isset($_SESSION['prueba'])) {
  5.     $_SESSION['prueba'] = $_POST['asdf'];
  6. }
  7.  
  8. echo $_SESSION['prueba'];
gracias!! ese era el problema pero mi server no me lanzaba errores. gracias ^^
  #7 (permalink)  
Antiguo 27/07/2011, 11:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problemas con $_SESSION

Tendría que ser algo así:
Código PHP:
Ver original
  1. <?php
  2.  
  3. if (isset($_POST['asdf']) && !empty($_POST['asdf'])) {
  4.       $_SESSION['var'] = $_POST['asdf'];
  5. }
  6.  
  7. echo $_SESSION['var'];

Saludos.

Etiquetas: session, start
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:37.