Hola de nuevo, aquí sigo con otro problema parecido pero esta vez con 4 condiciones
Son 4 checkbox con un campo condicionado a estos de los cuales tengo estas opciones ( o más)
Cita: // Opciones disponibles para que se envie
// Si Check1, check2, check3 y check4 marcados y con las condiciones verdaderas
// Check1 marcado y condicion verdadera
// Check2 marcado y condicion verdadera
// Check3 marcado y condicion verdadera
// Check4 marcado y condicion verdadera
// Si Check1 o check2 o check3 o check4 marcados y con las condiciones verdaderas
Lo intento siguiendo los anteriores problemas (ya resueltos) sin embargo algo me vuelve a fallar otra vez y no se cumplen todas.
Código PHP:
Ver original<?php
if(isset($_POST['enviar'])) {
// Opciones disponibles para que se envie
// Si Check1, check2, check3 y check4 marcados y con las condiciones verdaderas
// Check1 marcado y condicion verdadera
// Check2 marcado y condicion verdadera
// Check3 marcado y condicion verdadera
// Check4 marcado y condicion verdadera
// Si Check1 o check2 o check3 o check4 marcados y con las condiciones verdaderas
//Primero preparo las condiciones para los campos condicionados
$cond1 = false;
$cond2 = false;
$cond3 = false;
$cond4 = false;
if (!empty ($_POST['importe-rotura']) && ($_POST['importe-rotura'] != "Incompleto")) {
$cond1 = true;
}
if (!empty ($_POST['importe-daños']) && ($_POST['importe-daños'] != "Incompleto")) {
$cond2 = true;
}
if (!empty ($_POST['importe-derrumbe']) && ($_POST['importe-derrumbe'] != "Incompleto")) {
$cond3 = true;
}
if (!empty ($_POST['importe-todo-riesgo']) && ($_POST['importe-todo-riesgo'] != "Incompleto")) {
$cond4 = true;
}
// Si existe check 1, check2, check3 y check4
if (isset($_POST['check1'])) {
if (isset($_POST['check2'])) {
if (isset($_POST['check3'])) {
if (isset($_POST['check4'])) {
// Si las condiciones 1, 2, 3 y 4 se cumplen
if ($cond1 && $cond2 && $cond3 && $cond4)
{
echo "CORRECTO: check1, check2, check3 marcados y sus importes rellenos.";
}
}
}
}
//Aquí cierro los dos if de todos las condiciones anteriores }
}
// Si check1 está marcado y los demás no
elseif (isset($_POST['check1'])) {
if ($cond1)
{
echo "CORRECTO: check1 marcado y su importe relleno.";
}
else
{
echo "ERROR: check1 marcado y su importe vacio o Incompleto.";
}
}
// Si check2 está marcado y los demás no
elseif (isset($_POST['check2'])) {
if ($cond2)
{
echo "CORRECTO: check2 marcado y su importe relleno.";
}
else
{
echo "ERROR: check2 marcado y su importe vacio o Incompleto.";
}
}
// Si check3 está marcado y lo demás no
elseif (isset($_POST['check3'])) {
if ($cond3)
{
echo "CORRECTO: check3 marcado y su importe relleno.";
}
else
{
echo "ERROR: check3 marcado y su importe vacio o Incompleto.";
}
}
// Si check4 está marcado y los demás no
elseif (isset($_POST['check4'])) {
if ($cond4)
{
echo "CORRECTO: check4 marcado y su importe relleno.";
}
else
{
echo "ERROR: check4 marcado y su importe vacio o Incompleto.";
}
}
// Si Check1 o check2 o check3 o check4 marcados y con las condiciones verdaderas
if ((isset($_POST['check1'])) || (isset($_POST['check2'])) || (isset($_POST['check3'])) || (isset($_POST['check4']))) {
// Si las condiciones 1, 2, 3 y 4 se cumplen
if ($cond1 || $cond2 || $cond3 || $cond4)
{
echo "CORRECTO: Check1 o check2 o check3 o check4 marcados y con las condiciones verdaderas.";
}
}
// si check1, check2, check3 y check4 están vacios
else
{
echo "Error: check1, check2, check3 y check4 vacios.";
}
}// Cierro la condición enviar
?>
¿Me estoy saltando o adelantando en alguna de las condiciones posibles?