Я определил переменную со строковым значением в library.php и хочу использовать ее на другой странице client-login.php без использования тега привязки.
library.php:
if (isset($_POST['client-login-submit'])){
$username = trim($_POST['username']);
$password = trim($_POST['password']);
if ($username == ""){
$login_error_message = 'Username field is required!';
}else if ($password == ""){
$login_error_message = 'Password field is required!';
}else{
$id = Login($username, $password);
if ($id > 0){
$_SESSION['id'] = $id; // Set Session
header("location: ../../main.php");
}else{
$login_error_message = 'Invalid login details!';
}
}
}
клиент-логин.php:
<form action = "inc/lib/library.php" method = "post">
<h1>LOG IN</h1>
<input placeholder = "Username" type = "text" name = "username" id = "username">
<input placeholder = "Password" type = "password" name = "password" id = "password">
<input type = "submit" name = "client-login-submit" value = "LOG IN">
<p>Forget Your Password? <a href = "#">RESET</a></p>
<p><a href = "client-sign-up.php">SIGN UP</a></p>
<?php
if ($login_error_message != "") {
echo '<p style = "color: red;"><strong>Error: </strong> ' .$login_error_message. '</p>';
}
?>
</form>
это ошибка, которую я получаю там, где $ login_error_message должен отображаться после возникновения ошибки ...:
Notice: Undefined variable: login_error_message in C:\xampp\htdocs\fashion\client-login.php on line 54
после отправки формы, если есть ошибка, она должна быть отображена, но указанная выше ошибка уже отображается даже до нажатия ... и когда я нажимаю кнопку отправки, она переходит на страницу library.php, которая пуста.
Не могли бы вы помочь, как использовать $ login_error_message в client-login.php? Заранее спасибо...
Установить это значение в $_SESSION? Мне не совсем понятно, что вы имеете в виду под «без использования тега привязки». Но если у вас есть две разные страницы, и вы хотите установить значение на первой и прочитать это значение на второй, то наиболее распространенным первым подходом к этому будет использование состояния сеанса.
echo '<p style = "color: red;"> <strong> Ошибка: </strong>' .isset ($ login_error_message)? $ login_error_message: ''. '</p>';
@SachinAghera: На самом деле это ничего не решает, поскольку переменная - всегда неопределенный.






Вы можете установить свою переменную в переменную Session и получить доступ к ней на другой странице.
In library.php:
$_SESSION['login_error_msg'] = 'your msg';
In client-login.php:
if (isset($_SESSION['login_error_msg']))
{
echo '<p style = "color: red;"><strong>Error: </strong> ' .$_SESSION['login_error_msg']. '</p>';
}
пожалуйста, взгляните на эти вопросы: stackoverflow.com/questions/18588972/…