Вставить Php в HTML - PullRequest
       13

Вставить Php в HTML

0 голосов
/ 27 мая 2018

У меня есть код, который проверяет, совпадают ли имя пользователя и пароль и существуют ли они в базе данных, и я получил HTML-документ под ним, который является формой для входа.Проблема в том, что если учетные данные пользователя неверны, оператор Недопустимые учетные данные печатается в верхней части экрана, я хочу, чтобы он был над полем Имя пользователя в Html.Пожалуйста, помогите :)

if($username == $dbUserName && $password == $dbPassword) {
    $_SESSION['username'] = $username;
    $_SESSION['id'] = $userId;
    header('Location: user.php');
} else {
    echo "<b><i>Invalid credentials</i><b>";
}

Ответы [ 3 ]

0 голосов
/ 27 мая 2018

Вы можете поместить все это в функцию, а затем вызвать ее следующим образом:

function check_credentials() {
    if($username == $dbUserName && $password == $dbPassword) {
        $_SESSION['username'] = $username;
        $_SESSION['id'] = $userId;
        header('Location: user.php');
    } else {
        echo "<b><i>Invalid credentials</i><b>";
    }
}

И вы можете вызывать свою функцию в любом месте в своей форме.

0 голосов
/ 27 мая 2018

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

PHP

if($username == $dbUserName && $password == $dbPassword) 
{
$_SESSION['username'] = $username;
$_SESSION['id'] = $userId;
header('Location: user.php');
    }
else 
{
    $error =  "<b><i>Invalid credentials</i><b>";
}

HTML

<?php echo $error = " "; ?>
<input type="text" name="username" />

, но наверняка вам нужно будет определить функцию для ошибок, если возникнет какая-либо ошибка, верните false, например:

    function LoginErrors($username , $password) 
    {
    if(strlen($username) < 4 )
     {
    echo "you must choose at least 4 character for username!";
    return false;
}
    if(strlen($password) < 6)
     {
    echo "you must choose at least 6 character for password!";
return false;
     }
return true;
    }

PHP

   if($username == $dbUserName && $password == $dbPassword) 
    {
if(LoginErrors($_POST['username] , $_POST['password]) == true )
{
 $_SESSION['username'] = $username;
    $_SESSION['id'] = $userId;
    header('Location: user.php');
}
}

HTML

<?php LoginErrors(); ?>
<input type="text" name="username" />
0 голосов
/ 27 мая 2018

Сохраните сообщение об ошибке в переменную, затем напечатайте его в любом месте.

ваш php-код:

if($username == $dbUserName && $password == $dbPassword) {
    $_SESSION['username'] = $username;
    $_SESSION['id'] = $userId;
    header('Location: user.php');
} else {
    $login_error =  "<b><i>Invalid credentials</i><b>";
}

в вашей html-части:

<div id="log_err"> <?= $login_error; ?> </div>
<input type="text" name="username">
...