Comunidad de diseño web y desarrollo en internet online

Problema con Sesiones PHP

Citar            
MensajeEscrito el 15 May 2006 04:52 pm
Hola gente!...
Les cuento cual es mi problema...
Tengo un registro MUY largo que lo voy tomando por partes (como diria Jack) para no asustar al usuario... Y una vez tomados todos los datos lo guardo en la DB. Bueno, el problema viene cuando quiero tomar los datos que en teoria grabe en la sesion... no lo toma :roll: ...
El fragmento de codigo donde compruebo que se hayan ingresado todos los datos, y en caso de que esten todos los guardo en la sesion, es este:

Código :

if(!$_POST['name']){
      $missed[0] = FALSE;
      $lastdata[0] = $_POST['name'];
   }
   if(!$_POST['lastname']){
      $missed[1] = FALSE;
      $lastdata[1] = $_POST['lastname'];
   }
   if(!$_POST['ciudad']){
      $missed[2] = FALSE;
      $lastdata[2] = $_POST['ciudad'];
   }
   if(!$_POST['dia']){
      $missed[3] = FALSE;
      $lastdata[3] = $_POST['dia'];
   }
   if(!$_POST['mes']){
      $missed[4] = FALSE;
      $lastdata[4] = $_POST['mes'];
   }
   if(!$_POST['anio']){
      $missed[5] = FALSE;
      $lastdata[5] = $_POST['anio'];
   }
   if(!$_POST['calle']){
      $missed[6] = FALSE;
      $lastdata[6] = $_POST['calle'];
   }
   if(!$_POST['numerocalle']){
      $missed[7] = FALSE;
      $lastdata[7] = $_POST['numerocalle'];
   }
   if(!$_POST['localidad']){
      $missed[8] = FALSE;
      $lastdata[8] = $_POST['localidad'];
   }
   if(!$_POST['cpostal']){
      $missed[9] = FALSE;
      $lastdata[9] = $_POST['cpostal'];
   }
   if(!$_POST['pais']){
      $missed[10] = FALSE;
      $lastdata[10] = $_POST['pais'];
   }
   if(!$_POST['provincia']){
      $missed[11] = FALSE;
      $lastdata[11] = $_POST['provincia'];
   }
   if(!$_POST['tel1']){
      $missed[12] = FALSE;
      $lastdata[12] = $_POST['tel1'];
   }
   if(!$_POST['tel2']){
      $missed[13] = FALSE;
      $lastdata[13] = $_POST['tel2'];
   }
   if($_POST['piso'] == 'Piso'){
      $lastdata[14] = '';
   }else{
      $lastdata[14] = $_POST['piso'];
   }
   if($_POST['depto'] == 'Departamento'){
      $lastdata[15] = '';
   }else{
      $lastdata[15] = $_POST['depto'];
   }
   $error = is_array($missed);
   if($error){
      //FALTAN DATOS
      $_SESSION['missed'] = $missed;
      $_SESSION['lastdata'] = $lastdata;
   }
   //CHEQUEO QUE NO FALTE NINGUN DATO
   if($error){
      //FALTAN DATOS -> LO ENVIO NUEVAMENTE A LA PAGINA DE REGISTRO
      header ('location: '.$raiz.'registro/?missed=TRUE');
      exit;
   }
   //PASO AL FORMULARIO NRO 2 -> LOS DATOS ACTUALES LOS GUARDO EN SESSION
   $_SESSION['formdata'] = $lastdata;
   $_SESSION['frmnro'] = 1;
   for($a = 0; $a < 15; $a++){
      echo $_SESSION['formdata'][$a];
   }
   //header ('location: '.$raiz.'registro/');
   exit;


El tema es que cuando lo quiero imprimir al final, no imprime nada :cry: ... ¿Qué es lo que estoy haciendo mal? Por favor, si alguien tiene una idea, les voy a agradecer muchisimo! :miau:

Saludos!!

Pablo

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 15 May 2006 10:20 pm
Una funcion que te puede servir muchisimo es:

Código :

isset("Nombre_variable");

esta te dice si esta o no definida una variable.:lol:
y para comprobar si existe una variable de sesion seria:

Código :

if(isset($_POST["var"]))
{
 echo ("Existe!!!");
}
else
{
 echo("No existe!!!");
}

Es todo, proba con esto ha ver que pasa, SUERTE. 8) :wink: :wink: :lol:

Por DanielJimenez

70 de clabLevel



Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 16 May 2006 03:57 am
Coincido con DanielJimenez ...

isset(); te ahorarrá muxos dolores de cabeza, me he fijado en tu codigo y veo que usas Sesiones y tambien Header

Muy posiblemente eso te provocará un error creo que es "Headers alredy sends" o algo asi ese lo corregiras usando las funciones

ob_start(); y ob_end_flush(); la primera al principio de tu codigo y la segunda al final encerrando todo el php dentro de tu pagina; eso lo comento por que es un error comun de programación y me ha pasado infinidad de veces, a mi por ejemplo de manera local no me fallaba y cuando lo subi a mi servidor falló y esa fue la solución al problema de usar HEADER y SESIONES.

Saludos ^^

Por DaHouseCat

Claber

1011 de clabLevel

2 tutoriales

Genero:Masculino  

Smarphones Fan Boy

firefox
Citar            
MensajeEscrito el 16 May 2006 01:06 pm
Lo que he probado fue is_array(), la cual me devuelve 1... en teoria, si esto es TRUE, significa que le ha asignado valores a la variable, verdad??
Este es mi problema, no entiendo como, si le asigne valores, al pasar de página pierdo la variable... :S

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2006 10:46 pm
Para saber si tiene valores usas isset(); ...

is_array(); solo te dice si la variable es o no un array ... Saludos ^^

Por DaHouseCat

Claber

1011 de clabLevel

2 tutoriales

Genero:Masculino  

Smarphones Fan Boy

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.