Ошибка при генерации условного в PHP


у меня есть 2 select box в форме, и каждый из них содержит только 2 варианта "если" и "нет" Мне нужно сформировать условную структуру, чтобы показать отдельную страницу в каждом варианте при отправке по методу post с помощью кнопки, но мне не удается ее получить. Пожалуйста, помогите мне.

алгоритм-это ГИС.

  • у нас есть форма с 2 selectbox с двумя вариантами каждый. Да/нет, а также:
  • 4 страницы: pag1.php, pag2.php, pag3.php, pag4.php

  • Если selectbox1, ЕСЛИ и selectbox2, ЕСЛИ = перенаправляет -> pag1.php

  • , Если selectbox1, ЕСЛИ и selectbox2 это НЕ = перенаправляет -> pag2.php
  • , Если selectbox1 НЕ является, и selectbox2 это НЕ = перенаправляет -> pag3.php
  • , Если selectbox1, ЕСЛИ и selectbox2 это НЕ = перенаправляет -> pag4.php

я оставляю только php-код:

 <?php
if($_POST['si1'] == 1 ){
header("cuestionario4-50.php");
}
elseif($_POST['no0'] == 1 ){
header("pag1.php");
}
elseif($_POST['si11'] == 1 ){
header("pag2.php");
}
elseif($_POST['no00'] == 1 ){
header("pag3.php");
}
else {
header("pag4.php");
} 
?>
Author: BetaM, 2019-08-31

1 answers

Мы назначаем значения, полученные от selectbox переменным, чтобы обрабатывать их более упорядоченным образом следующим образом:

//seleccion1/seleccion2 es un nombre de ejemplo del atributo name en el HTML
$selectBox1 = $_POST["seleccion1"]; 
$selectBox2 = $_POST["seleccion2"];

Как только это будет сделано, мы создаем условное условие, которое проверяет его значение следующим образом:

if (selectBox1 == "si"  && selectBox2 == "si") {
    header('Location: pagina1.php');
}
elseif (selectBox1 == "si"  && selectBox2 == "no") {
    header('Location: pagina2.php');
}
elseif (selectBox1 == "no"  && selectBox2 == "no"){
    header('Location: pagina3.php');
}
elseif (selectBox1 == "si"  && selectBox2 == "no"){
    header('Location: pagina4.php');
}
else {
        header('Location: paginaDedault.php');
} 

Разъяснения

  • мы сравниваем значение selectbox, назначенное переменным, с символом ==
  • в соответствии с указаниями, которые вы устанавливаете, мы должны для каждого условия подтвердить, что 2 состояния выполнены поэтому мы используем логический оператор AND, представленный &&
  • внутри метода header мы используем Location так что если 2 состояния в любом из условий выполняется, то перенаправить пользователя на соответствующую страницу
  • внутри else мы указываем только без какой-либо проверки, которая перенаправляет пользователя на страницу по умолчанию в случае, если все условия, предшествующие , не выполняются
 2
Author: BetaM, 2019-09-27 05:20:11