Foros del Web » Programando para Internet » PHP »

Caduca formulario

Estas en el tema de Caduca formulario en el foro de PHP en Foros del Web. Buenas, estoy en un proyecto donde el usuario hace los siguientes pasos: 1. Rellena el formulario para poder descargar la demo del programa. Así la ...
  #1 (permalink)  
Antiguo 09/08/2012, 10:36
 
Fecha de Ingreso: agosto-2010
Ubicación: Barcelona
Mensajes: 22
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Caduca formulario

Buenas, estoy en un proyecto donde el usuario hace los siguientes pasos:

1. Rellena el formulario para poder descargar la demo del programa. Así la empresa recibe un mail con los datos del Form. (página 1)

2. Seleccionan el producto que desean (página2)

3. Seleccionan el Sistema operativo. Entonces se descarga el producto y automaticamente se envia el mail con los datos. (página 3)

Todo funciona a la perfección!

Problema?

Si estás en la página 2 o 3. I quieres ir atrás, te sale un mensaje de caducidad, y/o reenvio de formulario. No hay manera de ir atras i que pueda seleccionar otro producto?

Si pongo un enlace al paso 2, me sale página caducadda igualmente.

Código PHP:
//PHP DEL SEGUNDO PASO
<?
session_start
(); 

if (    isset(
$_REQUEST["Nombre"]) &&
        isset(
$_REQUEST["Apellidos"]) &&
        isset(
$_REQUEST["Empresa"]) &&
        isset(
$_REQUEST["Telefono"]) &&
        isset(
$_REQUEST["Mail"]) &&
        isset(
$_REQUEST["nPC"]) &&
        isset(
$_REQUEST["enviar"])){

        
$variables_form = array(
            
"nombre" => $_REQUEST["Nombre"],
            
"apellidos" => $_REQUEST["Apellidos"],
            
"empresa" => $_REQUEST["Empresa"],
            
"telefono" => $_REQUEST["Telefono"],
            
"mail" => $_REQUEST["Mail"],
            
"npces" => $_REQUEST["nPC"],
        );
        
        
$_SESSION["variables_form"] = $variables_form;
}
else{
    
$error_form "Se ha producido un error. Debe rellenar todos los campos del <a href='http://www.xxxx.com/primerpaso'>formulario</a>.";
}
?>
Código PHP:
//PHP DEL TERCER PASO

<?
session_start
(); 

if(isset(
$_SESSION["variables_form"]) && isset($_REQUEST["producto"])){  
    
$variables_form $_SESSION["variables_form"];
    
$variables_form["producto"] = $_REQUEST["producto"];
    
    
$_SESSION["variables_form_dw"] = $variables_form;
}
else{ 
    
$error_form "Debe seguir todos los pasos para poder descargar el software. Debe volver a rellenar el <a href='http://www.xxxx.com/primerpaso'>formulario</a>.";
}

?>
Muchas gracias!
Christian!
  #2 (permalink)  
Antiguo 09/08/2012, 11:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Caduca formulario

Lo unico que se me ocurre es que compruebes a ver si el problema pude estar en la sesion, mira a ver el id_sesion sigue siendo el mismo en todas.
  #3 (permalink)  
Antiguo 09/08/2012, 13:09
 
Fecha de Ingreso: agosto-2010
Ubicación: Barcelona
Mensajes: 22
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Caduca formulario

Pués la verdad es que no lleva id_sesion! pero le puse

Código PHP:
$_SESSION["variables_form"] = $variables_form
Porque me dijeron que si lo pasaba a ajax, no tendria ese problema, pero ufffff, ajax y yo no somos muy amigos!

Pero tiene que haber alguna manera de hacerlo sin ajax, no?

Gracias!
  #4 (permalink)  
Antiguo 09/08/2012, 14:05
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Caduca formulario

aunque tu no le pongas un id_session, ya de por si cuando haces un session_start() te crea uno.
Si utilizas la funcion session_id()te tendria que devolverte el "id" de la sesion actual.

salu2

Etiquetas: php+formularios, formulario
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 21:31.