Quiero hacer un IF, en donde la condicional se genere automáticamente con los elementos de un array, siendo los elementos de un array los nombres de las variables POST a verificar con ISSET si fueron completadas. Es confuso, mejor vean el código y lo que quiero que resulte:
Código:
Supuestamente (o según yo mas bien), deberia resultar esto escrito con el EVAL:<? // Las variables que checara que existan dentro de un array, ej. $campos = array("nombre","mail","telefono","empresa","mensaje"); $condition = "if("; //Comienzo el IF "if(...." for($i=0;$i<sizeof($campos);$i++){ //Comienzo a escribir la condicional, ej "isset($_POST['nombre'])" $condition .= "isset("; $condition .= "$"; $condition .= "_POST['".$campos[$i]."'])"; //Se agrega && para continuar la condicional if($i!=(sizeof($campos)-1)) $condition .= " && "; } $condition .= "){"; //Se cierrael IF "..){" eval($condition); //Escrible el IF con su condicional echo "Formulario enviado con éxito"; eval("}"); //Cierra la llave del IF escrito con EVAL ?>
Código:
Sin embargo me da el siguiente error:if(isset($_POST['nombre']) && isset($_POST['mail']) && isset($_POST['telefono']) && isset($_POST['empresa']) && isset($_POST['mensaje'])){
Código:
Ya me harté, asi que recurro a los sabios de ForosDelWebParse error: syntax error, unexpected $end in /home/espacio/public_html/test.php(21) : eval()'d code on line 1
Les dejo un form.html para que puedan probar el POST con ese mismo código y no se molesten en hacerlo:
Código:
¿Porqué quiero q haga eso automáticamente?, aunque es irrelevante, contestare que estoy haciendo un script que genere automáticamente formularios para usuarios y además los valide.<html> <head> <title>Form</title> </head> <body> <form id="form1" name="form1" method="post" action="test.php"> <input name="nombre" type="text" id="nombre" value="Elias Equis" /> <input name="empresa" type="text" id="empresa" value="Indeep" /> <input name="mail" type="text" id="mail" value="[email protected]" /> <input name="mensaje" type="text" id="mensaje" value="Mi mensaje es lala " /> <input name="telefono" type="text" id="telefono" value="55 98 76 4112" /> <input type="submit" name="button" id="button" value="Submit" /> </form> </body> </html>
Muchísimas gracias de antemano.