Ok, explicare mi problema lo mejor posible:
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:
<?
// 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
?>
Supuestamente (o según yo mas bien), deberia resultar esto escrito con el EVAL:
Código:
if(isset($_POST['nombre']) && isset($_POST['mail']) && isset($_POST['telefono']) && isset($_POST['empresa']) && isset($_POST['mensaje'])){
Sin embargo me da el siguiente error:
Código:
Parse error: syntax error, unexpected $end in /home/espacio/public_html/test.php(21) : eval()'d code on line 1
Ya me harté, asi que recurro a los sabios de ForosDelWeb
Les dejo un form.html para que puedan probar el POST con ese mismo código y no se molesten en hacerlo:
Código:
<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>
¿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.
Muchísimas gracias de antemano.