Задать вопрос
@SUS_ITS_LOVE

Почему не работает оператор if?

Вот код:
$tb = new Table;
 
$type = $_POST['type'];

If($type == 'surname'){
  echo "1";
  $question = $_POST['surname_3'];
}
If($type == 'id_publick'){
  $question = $_POST['id_3'];
}
If($type == 'phone_num'){
  $question = $_POST['phone_num_3'];
}

$res = $tb->query($type, $question);
$tb->printBD();

Когда я пытаюсь вывести переменную $question то там просто пустота...
Если я сменю условие оператора на "!=" то переменная изменяется.
Думаю просто оператор условия неправильный.
Вот кстати сам ПОСТ:
Array ( [type] => id_publick [surname_3] => Поліщук [phone_num_3] => 122333123321 [id_3] => 85476 )
  • Вопрос задан
  • 1428 просмотров
Подписаться 2 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что оператор if, а не If
Ответ написан
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
Я думаю, у тебя в условиях ошибка

Попробуй вывести переменную
$type = $_POST['type'];
var_dump($type);

и посмотреть что там оказывается в итоге

так же назначь $question значение по-умолчанию, чтобы понимать что ни одно из условий не отработало
$question = 'n/a';
...
If($type == 'surname'){
  echo "1";
  $question = $_POST['surname_3'];


кроме того, обрати внимание на оператор switch с ним было бы удобнее
$type = $_POST['type'];

switch($type) {
    default: // если тип не опознан сгенерировать ошибку
        throw new Exception('Undefined type: '.$type);
    break;
    case 'surname': 
        $question = $_POST['surname_3'];
    break;
    case 'id_publick': 
        $question = $_POST['id_3'];
    break;
    case 'phone_num': 
        $question = $_POST['phone_num_3'];
    break;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы