Hola de nuevo vgonga1986. He probado siguiendo tus consejos con los 4 if y no lo consigo, incluso probando con 3 tampoco encuentro el error, ahora lo pego abajo.
Hola de nuevo New, con tu opción me hace las validaciones posibles sin embargo hay casos que no controlo, por ejemplo que check1 este marcado y correcto pero check2 marcado y mal, me avisa uno a uno de lo que falta pero claro luego para hacer el envio me haría falta otra condición.
He probado siguiendo el anterior ejemplo solo con 3 opciones de la siguiente manera:
Código PHP:
Ver original// Si existe check 11, check12 y check 20
if (isset($_POST['check11'])) {
if (isset($_POST['check12'])) {
if (isset($_POST['check20'])) {
// Si las condiciones 1, 2 y 3 se cumplen
if ($cond1 && $cond2 && $cond3)
{
echo "CORRECTO: check11 marcado y completo. check12 marcado y completo, check 20 marcado y completo.";
}
else
{
echo "ERROR: se marcó algún check y no se rellenó su campo.";
}
}
}
//}
// Si check11 está marcado
elseif (isset($_POST['check11'])) {
if ($cond1)
{
echo "CORRECTO: check11 marcado y completo.";
}
else
{
echo "ERROR: check11 marcado pero vacio e Incompleto.";
}
//Cierro las opciones de check11
}
//Cierro las opciones del primer if
}
//--------------------------------------
// Si check12 está marcado
elseif (isset($_POST['check12'])) {
if ($cond2)
{
echo "CORRECTO: check12 marcado y completo.";
}
else
{
echo "ERROR: check12 marcado pero vacio o Incompleto.";
}
}
//----------------------------------
// Si check20 está marcado y los demás no
elseif (isset($_POST['check20'])) {
if ($cond3)
{
echo "CORRECTO: check20 marcado y completo.";
}
else
{
echo "ERROR: check20 marcado pero vacio o Incompleto.";
}
}
// si check11, check12 y check20 están vacios
else
{
echo "INCORRECTO: check11 y check12 y check 20 no están marcados.";
}
Tampoco va... ya que si solo tengo dos opciones de las 3 posibles marcadas y una mal no me dice del error que debería.
¿Sigo poniendo mal las condiciones?
Si solo lo hago con dos va correctamente:
Código PHP:
Ver originalif (isset($_POST['check11'])) {
if (isset($_POST['check12'])) {
// Si las condiciones 1, 2 y se cumplen
if ($cond1 && $cond2 && $cond3)
{
echo "CORRECTO: check11 marcado y completo. check12 marcado y completo.";
}
else
{
echo "ERROR: se marcó algún check y no se rellenó su campo.";
}
}
//}
// Si check11 está marcado
elseif (isset($_POST['check11'])) {
if ($cond1)
{
echo "CORRECTO: check11 marcado y completo.";
}
else
{
echo "ERROR: check11 marcado pero vacio e Incompleto.";
}
//Cierro las opciones de check11
}
//Cierro las opciones del primer if
}
//----------------------------------
pero en el momento que le añado una tercera opción ya vuelve a fallar.