Условия передачи php (method=“post” )

271
04 июня 2017, 21:11

Отправляю информацию на почту через сервер.

Скрипт выглядит примерно так:

if (isset($_POST['ok'])){
//input type="checkbox"
    $chek_1=$_POST['chek_1'];
    $chek_2=$_POST['chek_2'];
    $chek_2=$_POST['chek_3'];
//input type="text"
    $val_1=$_POST['val_1'];
    $val_2=$_POST['val_2'];
    $val_3=$_POST['val_3'];
$messages=
    $chek_1; $val_1;"\n"
    $chek_2; $val_2;"\n"
    $chek_3; $val_3;"\n"

Значение chek_1 - это

A val_1 - это у него по умолчанию стоит какое-то значение.

Логически эти input между собой связаны.

Теперь сам вопрос: Если значение первого (chek_1) input = off (т.е. не отмечен) как не передавать (val_1)?

Answer 1

Судя по вашему вопросу и комментариев $_POST['chek_n'] принимает либо off,если checkbox не установлен,либо то что вам нужно.

Ваш исправленный вариант :

if (isset($_POST['ok'])){
//input type="checkbox"
    $chek_1 = ($_POST['chek_1'] == 'off') ? false : $_POST['chek_1'];
    $chek_2 = ($_POST['chek_2'] == 'off') ? false : $_POST['chek_2'];
    $chek_3 = ($_POST['chek_3'] == 'off') ? false : $_POST['chek_3'];
//input type="text"
    $val_1 = $_POST['val_1'];
    $val_2 = $_POST['val_2'];
    $val_2 = $_POST['val_3'];
$messages  = ($chek_1) ? $chek_1.' = '.$val_1."\n" : '';
$messages .= ($chek_2) ? $chek_2.' = '.$val_2."\n" : '';
$messages .= ($chek_3) ? $chek_3.' = '.$val_3."\n" : '';
Answer 2

Альтернативный вариант записи кода из соседнего ответа.

if(isset($_POST['ok'])){
    $msgs = [];
    foreach([1,2,3] as $i){
        if($_POST["chek_$i"] == 'off') continue;
        $msgs[] = $_POST["chek_$i"].'='.$_POST["val_$i"];
    }
    $messages = implode("\n", $msgs);
}
READ ALSO
Лог для неудачного подключения к базе данных

Лог для неудачного подключения к базе данных

Я сделал лог, в который будет записываться ошибка подключения и сколько пользователей, получили эту ошибку

333
Узнать передавалось ли поле в JSON (VK)

Узнать передавалось ли поле в JSON (VK)

Есть такой JSON (VK Callback):

334
Проблема с форматированием html

Проблема с форматированием html

Столкнулся с такой проблемойВ ide код выглядит нормально (рис

309
Имеет ли смысл использовать flock() при чтении?

Имеет ли смысл использовать flock() при чтении?

Стоит ли использовать flock() при чтении, например, с /dev/urandom?

198