Foros del Web » Creando para Internet » HTML »

Formulario multiple = multiple dolor de cabeza

Estas en el tema de Formulario multiple = multiple dolor de cabeza en el foro de HTML en Foros del Web. Hola amigos... Me han dado una tarea para desarrollar un formulario con modulos múltiples, esto es tres formularios en una sola pagina. Para complicar la ...
  #1 (permalink)  
Antiguo 04/07/2011, 17:52
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Formulario multiple = multiple dolor de cabeza

Hola amigos...

Me han dado una tarea para desarrollar un formulario con modulos múltiples, esto es tres formularios en una sola pagina.

Para complicar la misión, se me ocurrio meter cada modulo en "spry tabbed panels" y aunque se ve muy bonito no tengo una idea clara de como hacer funcionar la colecta de datos de los tres formularios en un solo php para canalizar el envio de resultados a la cuenta de correo.

Al principio con un solo formulario y el php reciclado, el proceso funcionaba de maravilla, entonces se me ocurrio simplemente agregarle los elmentos adicionales al php pero no funciono pues me arrojaba resultados solo de una de las forms y nada de los otros.

Posteriormente trate de independizar el html borrando los tags </forms> intermedios para tratar de hace creer que era un solo form pero se hizo un spaguetti y tampoco funciono.

Entonces volvi al ultimo proceso con el html actual y el php que se mantiene con todos los elementos a capturar pero de alguna manera ahora lo que hace es tirarme la alerta de error cuando hago el submit.

En resumen y con mi limitada experiencia necesito ayuda para identificar los errores y manejar la complicada tarea de tener tres formularios (uno para cada spry tab) y dejando al ultimo con la tarea de colectar todos los datos y un submit button único que envie los resultados al correo.

Cualquier comentario, ayuda o sugerencia es altamente apreciada y agradecida :)

Link del prototipo

[URL="http://www.formtest.site11.com/"]http://www.formtest.site11.com/[/URL]

El php es este:

<?php
if(isset($_POST['email'])) {

$email_to = "[email protected], [email protected], ";
$email_subject = "McKinsey Test1";


function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['Q_1']) ||
!isset($_POST['Q_2']) ||
!isset($_POST['Q_3']) ||
!isset($_POST['Q_4']) ||
!isset($_POST['Q_5']) ||
!isset($_POST['Q_6']) ||
!isset($_POST['Q_7']) ||
!isset($_POST['Q_8']) ||
!isset($_POST['Q_9']) ||
!isset($_POST['Q_10']) ||
!isset($_POST['Q_11']) ||
!isset($_POST['Q_12']) ||
!isset($_POST['Q_13']) ||
!isset($_POST['Q_14']) ||
!isset($_POST['Q_15']) ||
!isset($_POST['Q_16']) ||
!isset($_POST['Q_17']) ||
!isset($_POST['Q_18']) ||
!isset($_POST['Q_19']) ||
!isset($_POST['Q_20']) ||
!isset($_POST['Q_21']) ||
!isset($_POST['Q_22']) ||
!isset($_POST['Q_23']) ||
!isset($_POST['Q_24']) ||
!isset($_POST['Q_25']) ||
!isset($_POST['Q_26']) ||
!isset($_POST['Q_27']) ||
!isset($_POST['Q_28']) ||
!isset($_POST['Q_29']) ||
!isset($_POST['Q_30']) ||
!isset($_POST['Q_31']) ||
!isset($_POST['Q_32']) ||
!isset($_POST['Q_33']) ||
!isset($_POST['Q_34']) ||
!isset($_POST['Q_35']) ||
!isset($_POST['Q_36']) ||
!isset($_POST['Q_37']) ||
!isset($_POST['Q_38']) ||
!isset($_POST['Q_39']) ||
!isset($_POST['name']) ||
!isset($_POST['email'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}

$Q_1 = $_POST['Q_1']; // not required
$Q_2 = $_POST['Q_2']; // not required
$Q_3 = $_POST['Q_3']; // not required
$Q_4 = $_POST['Q_4']; // not required
$Q_5 = $_POST['Q_5']; // not required
$Q_6 = $_POST['Q_6']; // not required
$Q_7 = $_POST['Q_7']; // not required
$Q_8 = $_POST['Q_8']; // not required
$Q_9 = $_POST['Q_9']; // not required
$Q_10 = $_POST['Q_10']; // not required
$Q_11 = $_POST['Q_11']; // not required
$Q_12 = $_POST['Q_12']; // not required
$Q_13 = $_POST['Q_13']; // not required
$Q_14 = $_POST['Q_14']; // not required
$Q_15 = $_POST['Q_15']; // not required
$Q_16 = $_POST['Q_16']; // not required
$Q_17 = $_POST['Q_17']; // not required
$Q_18 = $_POST['Q_18']; // not required
$Q_19 = $_POST['Q_19']; // not required
$Q_20 = $_POST['Q_20']; // not required
$Q_21 = $_POST['Q_21']; // not required
$Q_22 = $_POST['Q_22']; // not required
$Q_23 = $_POST['Q_23']; // not required
$Q_24 = $_POST['Q_24']; // not required
$Q_25 = $_POST['Q_25']; // not required
$Q_26 = $_POST['Q_26']; // not required
$Q_27 = $_POST['Q_27']; // not required
$Q_28 = $_POST['Q_28']; // not required
$Q_29 = $_POST['Q_29']; // not required
$Q_30 = $_POST['Q_30']; // not required
$Q_31 = $_POST['Q_31']; // not required
$Q_32 = $_POST['Q_32']; // not required
$Q_33 = $_POST['Q_33']; // not required
$Q_34 = $_POST['Q_34']; // not required
$Q_35 = $_POST['Q_35']; // not required
$Q_36 = $_POST['Q_36']; // not required
$Q_37 = $_POST['Q_37']; // not required
$Q_38 = $_POST['Q_38']; // not required
$Q_39 = $_POST['Q_39']; // not required
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required

$error_message = "";
$string_exp = "^[a-z .'-]+$";
if(!eregi($email_exp,$email_from)) {
$error_message .= 'E01: The Email Address you entered does not appear to be valid.<br />';
}
if(strlen($name) < 2) {
$error_message .= 'E02: We need you name, thank you.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "Answer 1: ".clean_string($Q_1)."\n";
$email_message .= "Answer 2: ".clean_string($Q_2)."\n";
$email_message .= "Answer 3: ".clean_string($Q_3)."\n";
$email_message .= "Answer 4: ".clean_string($Q_4)."\n";
$email_message .= "Answer 5: ".clean_string($Q_5)."\n";
$email_message .= "Answer 6: ".clean_string($Q_6)."\n";
$email_message .= "Answer 7: ".clean_string($Q_7)."\n";
$email_message .= "Answer 8: ".clean_string($Q_8)."\n";
$email_message .= "Answer 9: ".clean_string($Q_9)."\n";
$email_message .= "Answer 10: ".clean_string($Q_10)."\n";
$email_message .= "Answer 11: ".clean_string($Q_11)."\n";
$email_message .= "Answer 12: ".clean_string($Q_12)."\n";
$email_message .= "Answer 13: ".clean_string($Q_13)."\n";
$email_message .= "Answer 14: ".clean_string($Q_14)."\n";
$email_message .= "Answer 15: ".clean_string($Q_15)."\n";
$email_message .= "Answer 16: ".clean_string($Q_16)."\n";
$email_message .= "Answer 17: ".clean_string($Q_17)."\n";
$email_message .= "Answer 18: ".clean_string($Q_18)."\n";
$email_message .= "Answer 19: ".clean_string($Q_19)."\n";
$email_message .= "Answer 20: ".clean_string($Q_20)."\n";
$email_message .= "Answer 21: ".clean_string($Q_21)."\n";
$email_message .= "Answer 22: ".clean_string($Q_22)."\n";
$email_message .= "Answer 23: ".clean_string($Q_23)."\n";
$email_message .= "Answer 24: ".clean_string($Q_24)."\n";
$email_message .= "Answer 25: ".clean_string($Q_25)."\n";
$email_message .= "Answer 26: ".clean_string($Q_26)."\n";
$email_message .= "Answer 27: ".clean_string($Q_27)."\n";
$email_message .= "Answer 28: ".clean_string($Q_28)."\n";
$email_message .= "Answer 29: ".clean_string($Q_29)."\n";
$email_message .= "Answer 30: ".clean_string($Q_30)."\n";
$email_message .= "Answer 31: ".clean_string($Q_31)."\n";
$email_message .= "Answer 32: ".clean_string($Q_32)."\n";
$email_message .= "Answer 33: ".clean_string($Q_33)."\n";
$email_message .= "Answer 34: ".clean_string($Q_34)."\n";
$email_message .= "Answer 35: ".clean_string($Q_35)."\n";
$email_message .= "Answer 36: ".clean_string($Q_36)."\n";
$email_message .= "Answer 37: ".clean_string($Q_37)."\n";
$email_message .= "Answer 38: ".clean_string($Q_38)."\n";
$email_message .= "Answer 39: ".clean_string($Q_39)."\n";
$email_message .= "Person name: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

<p>Thank you for submit your answers.
<?
}
?>
<br />
<br />
</p>
Return to <a href="http://www.formtest.site11.com"><strong>Knowledge Test 1</strong></a>
  #2 (permalink)  
Antiguo 04/07/2011, 21:12
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Formulario multiple = multiple dolor de cabeza

buenas,
lo primero, de spry no te puedo ayudar porque no lo utilizo. sin embargo, revisando el código fuente del prototipo, el asunto parece obvio. fijate que la encuesta esta compuesta de un formulario por cada spry tab. por tanto, cada formulario funciona de forma independiente al resto. por eso vas a recibir la información de uno y no de todos. debes trabajar con un solo formulario. es decir, dentro del mismo formulario debes crear el spry tab, y en cada tab creas los controles como los tienes diseñado ahora mismo. el punto es que el formulario debe englobar/cubrir/encerrar todos los controles de la encuesta.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/07/2011, 17:18
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Formulario multiple = multiple dolor de cabeza

Muchas gracias zero, seguire revisando a ver como resuelvo este spaguetti :)

Etiquetas: 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 23:02.