Foros del Web » Programando para Internet » PHP »

Pierdo la sesion al redireccionar con Location

Estas en el tema de Pierdo la sesion al redireccionar con Location en el foro de PHP en Foros del Web. Hola: Tengo un problema, al redireccionar con location se me pierde la sesion y me da otros datos que no son los del usuario. Este ...
  #1 (permalink)  
Antiguo 21/04/2009, 20:21
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Pierdo la sesion al redireccionar con Location

Hola:

Tengo un problema, al redireccionar con location se me pierde la sesion y me da otros datos que no son los del usuario. Este es mi código:

Código PHP:
<?
session_start
(); 
$_SESSION['x'] = $x
// incluye los archivos de función para esta aplicación
require_once("funciones.php");
$fecha $_POST['fecha'];
$tipo $_POST['tipo'];
$categorias $_POST['categorias'];
$producto $_POST['producto'];
$nombre_prod $_POST['nombre_prod'];
$ctdad $_POST['ctdad'];
$tallon $_POST['tallon'];
$tallita $_POST['tallita'];
$talla $_POST['talla'];

$conexion db_connect();
if (!
$conexion)
return 
0;

$sql"INSERT INTO articulos (fecha, tipo, categorias, producto, nombre_producto, ctdad, tallon, tallita, talla) " .
"VALUES ('$fecha', '$tipo', '$categorias', '$producto', '$nombre_producto', '$ctdad', '$tallon', '$tallita', '$talla')";
$res mysql_query($sql) or die ( "Error MySQL dice: " mysql_error() );

$consultar mysql_query("SELECT cod_articulo FROM articulos WHERE nombre_producto='$nombre_producto'");
while (
$registro mysql_fetch_array($consultar)) {
$cod_articulo $registro["cod_articulo"];

}
for (
$i=0;$i<count($talla);$i++) 
{
mysql_query("INSERT INTO talla (cod_articulo, talla) VALUES ('$cod_articulo', {$talla[$i]})");
}

for (
$i=0;$i<count($color);$i++)    
{
$sql1"INSERT INTO colores (cod_articulo, color) VALUES ('$cod_articulo', '$color[$i]')";
$res2 mysql_query($sql1) or die ( "Error MySQL dice: " mysql_error() );
 }
}
header ("Location:guardar.php");
?>
Por qué me pasa esto?
  #2 (permalink)  
Antiguo 21/04/2009, 21:00
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Pierdo la sesion al redireccionar con Location

en el lugar donde donde redirecionas tienes session_start(); ?? recuerda que debe ir en todas las paginas
  #3 (permalink)  
Antiguo 21/04/2009, 21:05
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Pierdo la sesion al redireccionar con Location

si la tengo en todas....?????
  #4 (permalink)  
Antiguo 21/04/2009, 21:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pierdo la sesion al redireccionar con Location

pues en el script que nos muestras... solo asignas a $_SESSION['x']


¿¿donde están los demás datos que pregonas???

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/04/2009, 21:24
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Pierdo la sesion al redireccionar con Location

cuáles datos? no entiendo
  #6 (permalink)  
Antiguo 21/04/2009, 21:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pierdo la sesion al redireccionar con Location

si si... los datos o variables de sesión....

osea, en este script solo creas una variable "x" ....

¿¿donde están las demás variables que asignas a la sesión???

recuerda que no se agregan solos los datos.... debes hacerlo tu (igual que como hiciste con "x")

Código PHP:
$_SESSION['x'] = $x;  

// ...

$_SESSION['mi_variable'] = $mi_valor
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 21/04/2009, 21:38
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Pierdo la sesion al redireccionar con Location

en esa variable yo guardo el usuario que es el que me sirve para seguir en las otras páginas. No sé si estoy equivocada. Dime si tengo que guardar otros datos. no entiendo. Gracias.
  #8 (permalink)  
Antiguo 21/04/2009, 21:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Pierdo la sesion al redireccionar con Location

¿Cómo estás tratando de recuperar el dato de la sesión? ¿De dónde proviene el valor de $x?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 21/04/2009, 21:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pierdo la sesion al redireccionar con Location

Cita:
[...] Dime si tengo que guardar otros datos [...]
eso solo lo sabes tu...

Cita:
[...] me da otros datos que no son los del usuario [...]
¿a que datos te refieres???

¿como los estas leyendo???


NOTA que cada dato que desees conservar en la sesión debes asignarlo después de session_start() usando la super-global $_SESSION (repito, tal como haces con "x")

¿me explico?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 21/04/2009, 21:47
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Pierdo la sesion al redireccionar con Location

antes de esta pagina que se llama carga_prod.php, tengo una que tiene un formulario donde cargo los datos de un producto. En carga_prod.php guardo en la Bd los datos del form y luego redirecciono nuevamente a guardar.php que es donde está el formulario para que el usuario pueda cargar un nuevo producto. La sesion empieza cuando el usuario hace login y entra en su panel de control desde donde puede cargar productos y hacer otras operaciones.
  #11 (permalink)  
Antiguo 21/04/2009, 21:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Pierdo la sesion al redireccionar con Location

Como te dije, para que podamos ayudarte, debes contarnos qué datos pretendes guardar en las variables de sesión y cómo estás tratando de recuperar esos datos (y de dónde viene el valor de $x ¿?)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 21/04/2009, 22:03
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Pierdo la sesion al redireccionar con Location

ya encontré el problema. Era que colocaba asi $_SESSION['x'] = $x; y me dio cuando la cambié en todas las páginas así: $x = $_SESSION['x'];

Nota: $x = $_SESSION['x']; es $usuario = $_SESSION['usuario'];

Esto está bien así???

y otra pregunta tengo que mantener la sesion solo con el usuario o debería incluir otro dato??

Gracias
  #13 (permalink)  
Antiguo 21/04/2009, 22:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Pierdo la sesion al redireccionar con Location

Debes incluir los datos que vayas a necesitar durante el transcurso de la sesión, si el nombre de usuario es el único dato que vas a necesitar, pues, sólo incluye ese .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 21/04/2009, 22:14
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Pierdo la sesion al redireccionar con Location

ah chevere, mil gracias por tu ayuda. y gracias también a pateketrueke y acoevil.
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 11:46.