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.



