Intereting Posts

ошибка входа echo на другой странице, конкретный div

Слишком длинная проблема с этой проблемой. У меня есть index.php, включая форму и login.php, обрабатывающие ее.

Как отправить ошибки в конкретном div в index.php? Вот контейнер Index.php, еще не php-код в idnex.php.

<div id="container"> <section> <h1>ברוכים הבאים לאתר קופונים</h1> <h2>המקום בו תוכלו למצוא קופונים בסביבתכם</h2> <hr> </section> <section id="mainpage"> <p class="welcome"> אנא התחבר בכדי ליצור ולראות קופונים בקרבתך</br> <a href="php/register.php">הירשם לאתר</a> </p> <form action="php/login.php" method="post" class="form"> <p class="email"> <input type="text" name="email" /> :דואר אלקטרוני</br> </p> <p class="password"> <input type="password" name="password" /> :סיסמא</br> </p> <p class="submit"> <input type="submit" value="היכנס" /> </p> </form> </section> </div> 

и вот раздел отчетов об ошибках login.php

  //check matching input if($email == $dbemail && $password = $dbpassword){ $_SESSION['email'] = $dbemail; include('../index.php'); header('members.php'); } else{ include('../index.php'); echo "Incorrect Password<style text-align:center;/>"; } } } else include('../index.php'); die('<p class="error">User does not exist</p>'); } else include('../index.php'); die('Please enter a Email and password'); 

попробовал это

 include('../index.php'); die('<p class="error">User does not exist</p>'); 

не удается настроить его по кнопке «Отправить» (с использованием поля: 0 автоматически, поэтому изменения слева и справа)

Спасибо за любую помощь

измените свой файл login.php :

 } else { // error happened $error = '<p class="error">User does not exist</p>' include('../index.php'); exit; ... 

и ваш файл index.php:

 <form action="php/login.php" method="post" class="form"> <?php if(isset($error)) echo $error; ?> <p class="email"> <input type="text" name="email" /> :דואר אלקטרוני</br> ... 

Проблема в том, что ваш файл login.php напрямую login.php сообщение об ошибке. Лучшим способом было бы сохранить сообщение в переменной – даже для переменной сеанса было бы достаточно (поскольку, похоже, вы не используете ООП, в примере кода).

Попробуйте обновить сообщения об ошибках, чтобы не использовать echo , но вместо этого:

 $_SESSION['error_message'] = "Incorrect Password<style text-align:center;/>"; 

И затем, в index.php , именно там, где вы хотите, чтобы он отображался, добавьте:

  <p class="submit"> <input type="submit" value="היכנס" /> </p> </form> <?php if (isset($_SESSION['error_message'])) { echo $_SESSION['error_message']; unset($_SESSION['error_message']); // clear the message to prevent duplicate displays } ?> с  <p class="submit"> <input type="submit" value="היכנס" /> </p> </form> <?php if (isset($_SESSION['error_message'])) { echo $_SESSION['error_message']; unset($_SESSION['error_message']); // clear the message to prevent duplicate displays } ?> 

Поскольку, по-видимому, вы хотите включить файл index.php при возникновении фактической ошибки, вы можете установить локальную переменную прямо перед тем, как include('../index.php'); вызов include('../index.php'); внутри login.php , вот так:

 } else { $errMsg = "Incorrect Password<style text-align:center;/>"; include('../index.php'); } 

И, как и в приведенном выше примере, измененный index.php , вы можете сделать то же самое здесь:

  </p> </form> <?php if ($errMsg) { echo $errMsg; } ?>