HOLA ...
He venido haciendo varias consultas sobre este tema en:
http://forosdelweb.com/showthread.php?t=247353
Bueno, el caso es que tengo en un formulario dos preguntas que se responden con chexkbox y que recibo en MySQL en dos campos diferentes.
Cuando en el formulario se responden los checkbox... la información llega a la tabla; pero si el formulario se elabora dejando en blanco las casillas de los checbox aparece el siguiente error:
Warning: implode(): Bad arguments. in /home/albert35/public_html/prueba/add_reg6.php3 on line 7
Warning: implode(): Bad arguments. in /home/albert35/public_html/prueba/add_reg6.php3 on line 8
¡Gracias! Hemos recibido sus datos.
Estos son los códigos que estoy usando:
En el Formulario:
<HTML>
<HEAD><SCRIPT>
//Pon en la variable obligatorios el name de todos los campos que deben rellenar
obligatorio=["date","name","age"];
//Pon en la variable textoObligatorio el texto que quieres que aparezca en el alert
textoObligatorio=["Date","Name","Age"];
function comprobar(este){
for(a=0;a<obligatorio.length;a++){
if(este.elements[obligatorio[a]].value==""){
alert("Por favor, llena el campo "+textoObligatorio[a]);
este.elements[obligatorio[a]].focus();
return false;
}
}
return true;
}
</SCRIPT>
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM NAME="Prueba" METHOD="POST" ACTION="add_reg6.php3"
ONSUBMIT="return comprobar(this)">
Date:
<INPUT TYPE="TEXT" NAME="date" SIZE="8" MAXLENGTH="10">
Name:
<INPUT TYPE="TEXT" NAME="name" SIZE="35" MAXLENGTH="30">
Age:
<INPUT TYPE="TEXT" NAME="age" SIZE="1" MAXLENGTH="2">
Nationality:
<INPUT TYPE="TEXT" NAME="nationality" SIZE="35" MAXLENGTH="20">
Le Gusta...?
<INPUT TYPE="CHECKBOX" NAME="gusto[]" VALUE="To Clean">Limpiar
<INPUT TYPE="CHECKBOX" NAME="gusto[]" VALUE="To Cook">Cocinar
<INPUT TYPE="CHECKBOX" NAME="gusto[]" VALUE="To Iron">Planchar
Hora...?
<INPUT TYPE="CHECKBOX" NAME="hora[]" VALUE="12a1">de 12 a 1 PM <INPUT TYPE="CHECKBOX" NAME="hora[]" VALUE="2a3"> de 2 a 3 PM
Al Terminar...
<INPUT ID="enviar" TYPE="submit" NAME="enviar" VALUE="Enviar">
<INPUT TYPE="reset" VALUE="Borrar
</FORM>
</BODY>
</HTML>
El Código PHP:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY><?PHP // process form
$gusto = implode(",",$_POST['gusto']);
$hora = implode(",",$_POST['hora']);
$link = mysql_connect("localhost", "usuario","password"); mysql_select_db("data-base",$link);
$sql = "INSERT INTO tablaX (Date, Name, Age, Nationality, Gusto, Hora) ".
"VALUES ('$date', '$name', '$age', '$nationality', '$gusto', '$hora')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";
?>
</BODY>
</HTML>
La pregunta sería:
Que debo hacer para que los campos que llevan Checkbox (gusto[] y hora[]) queden como "campos requeridos" o cómo hago para que no aparezca el error en mención si en el formulario no se llenan esos campos(...si se deja en blanco gusto[] y hora[]).
Gracias !