此问题延迟太久了。我有一个index.php,包括form和login.php handeling it。
如何在index.php中的特定div中发布错误? 这是Index.php容器,idnex.php中还没有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自动左右更改)
感谢您给予的任何帮助
答案 0 :(得分:2)
更改您的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>
...
答案 1 :(得分:2)
问题是,您的login.php
文件直接echo
是错误信息。一个更好的方法是将消息保存到变量中 - 即使会话变量就足够了(因为看起来你没有使用OOP,通过示例代码)。
尝试将错误消息更新为不使用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
}
?>
由于您希望在发生实际错误时包含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; } ?>