如何将注册系统的错误回显到另一个索引文件


How can i echo error for registration system to another index file

我试图将注册系统错误回显到主index.php文件,但我做了一些错误的事情。有人能解释一下我做错了什么以及如何做对吗?

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">&times;</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>

main.php文件。。

    <?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'];?>

或者修改你的index.php文件如下

<?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">&times;</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>

如果出现错误,没有值的mysql查询将返回错误还有代码

or die(mysql_error());

阻止执行之后的任何代码,因此不会返回任何结果。试着先去掉那个部分。

相关文章: