Добавить ошибки ввода в массив с - PullRequest
0 голосов
/ 22 мая 2019

У меня есть одна проблема в коде PHP. Это не дало мне никакого выхода. Где моя ошибка?

if (isset($_POST['regBtn'])) {
    $fname = strip_tags(trim($_POST['fname']));
    $lname = strip_tags(trim($_POST['lname']));
    $email = strip_tags(trim($_POST['email']));
    $password = strip_tags(trim($_POST['password']));
    $errMsg = array();
    for($i=0; $i<=3;$i++) {
    if (strlen($fname) < 0) {
        $errMsg[$i] = "Գրեք Ձեր անունը ամբողջությամբ։";
    } elseif (strlen ($lname) <0) {
        $errMsg[$i] = "Գրեք Ձեր ազգանունը ամբողջությամբ";
    } elseif (strlen($email) < 0) {
        $errMsg[$i] = "Գրեք Ձեր էլ․ հասցեն";
    } elseif (strlen($password) < 6) {
        $errMsg = "Գաղտնաբառը պետք է պարունակի առնվազն 6 նիշ";
    } }
    var_dump ($errMsg); 
 }
else {


}

1 Ответ

0 голосов
/ 22 мая 2019

Несколько проблем здесь, при условии, что у вас есть форма ввода с name="regBtn", которая требуется для запуска этого кода:

  1. strlen не будет < 0 хотя это может быть 0.Используйте empty или число, большее 0, если необходимо.
  2. elseif будет выполняться только в случае сбоя if, поэтому просто используйте if.
  3. Нет необходимости в циклепросто используйте несколько блоков if и динамически добавляйте к массиву ошибок [].

if (isset($_POST['regBtn'])) {
    $fname = strip_tags(trim($_POST['fname']));
    $lname = strip_tags(trim($_POST['lname']));
    $email = strip_tags(trim($_POST['email']));
    $password = strip_tags(trim($_POST['password']));
    $errMsg = array();

    if (empty($fname)) { // or use strlen < 2 or < 3 or whatever like $password
        $errMsg[] = "Գրեք Ձեր անունը ամբողջությամբ։";
    }
    if (empty($lname)) {
        $errMsg[] = "Գրեք Ձեր ազգանունը ամբողջությամբ";
    }
    if (empty($email)) {
        $errMsg[] = "Գրեք Ձեր էլ․ հասցեն";
    }
    if (strlen($password) < 6) {
        $errMsg[] = "Գաղտնաբառը պետք է պարունակի առնվազն 6 նիշ";
    }
    var_dump ($errMsg); 
 }

Кроме того, вы, вероятно, захотите trim после strip_tags в случае, если этооставляет место (а):

$fname = trim(strip_tags($_POST['fname']));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...