Вывести строку в классе со страницы на другой странице?

У меня есть две страницы login.php и user.php (где сообщение = неправильная комбинация, которую я один должен повторить его) я пытаюсь отобразить сообщение в login.php, которое от user.php, основанное на неправильной комбинации электронной почты и пароль, пожалуйста, как я могу отобразить сообщение в моем login.php ниже мой код

Страница user.php ниже

class Users {
function login($find='') {
if(($rows["email"] == $email)&&($rows["password"] == $password)){
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;

if (isset($_POST['remember'])){
setcookie("cookname", $_SESSION['email'], time()+60*60*24*100, "/");
setcookie("cookpass", $_SESSION['password'], time()+60*60*24*100, "/");
}

$_SESSION['user_id'] = $user_id;
return true;
}
else {
$message =  'Wrong Combination';
return false;
}
}
}

Страница login.php ниже

<?php
include_once("user.php");
if (isset($_POST['submit']))
{
$find = $user->login($_POST);
if ($find)
{
header ("location: panel.php");
exit;
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<form name="form1" method="post" action="">
<!-- I want to echo it here I echo the variable message but did not work -->
<?php echo "$message";?>
input id="email" />
<input id="password" />
</form>
</body>
</html>

-1

Решение

Ваш $message Переменная имеет локальную область видимости в функции входа в класс Users, поэтому вы не можете использовать ее вне этой функции, как написано в настоящее время. Вы можете сохранить его в своем сеансе, а именно:

$_SESSION['message'] = 'Wrong Combination';

или, что еще лучше, сделайте его переменной-членом класса Users:

class Users {
protected message = '';

public function getMessage(){ return $this->message; }

function login($find='') {
if(($rows["email"] == $email)&&($rows["password"] == $password)){
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;
if(isset($_POST['remember'])){
setcookie("cookname", $_SESSION['email'], time()+60*60*24*100, "/");
setcookie("cookpass", $_SESSION['password'], time()+60*60*24*100, "/");
}

$_SESSION['user_id'] = $user_id;
return true;
}else{
$this->message =  'Wrong Combination';
return false;
}
}
}

Затем внутри формы входа в систему, где вы хотите отобразить сообщение:

<?php
$message = $user->getMessage();
if (!empty($message))
echo $message;
?>

Кстати, я не вижу, где вы создаете экземпляр класса Users. Я полагаю, вы создаете $user в коде, не показанном при использовании его в login.php.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]