PHP, MYSQL верстак, почтальон не работает правильно - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть 2 пользователя в таблице, например Весна и Сильвия, Весна - первая, Сильвия - вторая, и если я наберу Сильвию в почтальоне, он мне ответит: «Пользователь не существует, а затем идентификатор пользователя Сильвии. Это должно быть работая так, чтобы почтальон возвращал только Id пользователя, и если я ввожу пользователя, который не существует, он должен вернуть этого пользователя, который не существует, но когда я ввожу пользователей, которые на самом деле не существуют, он вернет 2 раза, что пользователей не существует, вместо одного время, потому что в таблице есть 2 пользователя, которые не соответствуют введенному пользователю. Надеюсь, я объяснил это понятно и что кто-то может мне помочь.

    foreach($oUsers as $oUser)
    {
        if($oUser->USERNAME == $sUsername)
        {

            $_SESSION['user_id'] = $oUser->USER_ID;
            $_SESSION['username'] = $oUser->USERNAME;
            echo $_SESSION['user_id'];
            break;



        }

        else
        {

            echo ' User does not exist';

        }

    }

1 Ответ

0 голосов
/ 02 сентября 2018

Вы не можете использовать echo '...' внутри цикла foreach, потому что echo выполняется в каждой итерации.

$found = false;
foreach($oUsers as $oUser){
    if($oUser->USERNAME == $sUsername){
        $_SESSION['user_id']  = $oUser->USER_ID;
        $_SESSION['username'] = $oUser->USERNAME;
        $found                = true;
        break;
    }
}

if($found === true){
    echo $_SESSION['user_id'];
}else{
    echo ' User does not exist';
}
...