我试图将注册系统错误回显到主要的index.PHP文件,但我做错了什么.有人可以解释我做错了什么以及如何做对了吗?
<?PHP
session_start();
include "config.PHP";
?>
<div class="container">
<h1>Registration</h1>
<?PHP if(!empty($error)): ?>
<div class="alert alert-danger alert-dismissible">
<ul>
<li>
<?PHP echo $error; ?>
</li>
</ul>
</div>
<?PHP endif; ?>
<button class="close" data-dismiss="alert" aria-label="close">
<span aria-hidden="true">×</span>
</button>
<form action="main.PHP" method="post">
<p>Username: </p>
<p><input type="text" name="username" autocomplete="off"></p>
<p>Password: </p>
<p><input type="password" name="password" autocomplete="off"></p>
<p><button name="send" class="btn btn-primary" id="btn">Send</button></p>
</form>
</div>
</div>
<?PHP
include "config.PHP";
if(isset($_POST['send'])) {
$username = $_POST['username'];
$password = $_POST(md5['password']);
if(empty($_POST['username'])) {
$error = "Username is empty<br/>";
}
if(empty($_POST['password'])) {
$error = "Password is empty";
}
$query = MysqLi_query($connect,"INSERT INTO register(username,password) VALUES('$username', '$password')")
or die(MysqL_error());
echo "Registred";
}
$_SESSION['error'] = $error;
?>
解决方法:
未定义$error.
<?PHP echo $error; ?>
应该
<?PHP echo $_SESSION['error'];?>
<?PHP
session_start();
include "config.PHP";
// added this line to your code
$error = (isset($_SESSION['error'])) ? $_SESSION['error'] : "";
?>
<div class="container">
<h1>Registration</h1>
<?PHP if(!empty($error)): ?>
<div class="alert alert-danger alert-dismissible">
<ul>
<li>
<?PHP echo $error; ?>
</li>
</ul>
</div>
<?PHP endif; ?>
<button class="close" data-dismiss="alert" aria-label="close">
<span aria-hidden="true">×</span>
</button>
<form action="main.PHP" method="post">
<p>Username: </p>
<p><input type="text" name="username" autocomplete="off"></p>
<p>Password: </p>
<p><input type="password" name="password" autocomplete="off"></p>
<p><button name="send" class="btn btn-primary" id="btn">Send</button></p>
</form>
</div>
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。