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>