【发布时间】:2020-08-26 05:27:52
【问题描述】:
在handle_signup.php 页面中,我尝试处理从注册页面发送的数据。如果昵称空白没有值,则错误消息是“请输入您的昵称”。因此,在注册页面中,我尝试包含来自 handle_signup.php 页面的 $errorMsgs 数组,并在昵称输入下方显示 msg。如何从 handle_signup.php 页面获取数组?目前,我使用include_once,但是在转移到handle_signup.php后数组中没有消息。有人可以帮助解决这个问题吗?谢谢。
处理来自 signup.php 的值
<?php
require_once('./conn.php');
$errorMsgs = array('nickname'=>'', 'email'=>'', 'password'=>'');
if(isset($_POST['submit'])) {
if(empty($_POST['nickname'])) {
$errorMsgs['nickname'] = "Please enter your nickname";
header("Location: ./signup.php");
}
};
?>
注册页面 - signup.php
<?php
include_once 'handle_signup.php';
var_dump($errorMsgs);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.min.css" />
<title>Message Board - Sign Up</title>
</head>
<body>
<div class="container_sign">
<h1 class="title">Create Account</h1>
<form class="sign" method="POST" action="./handle_signup.php">
<div>
<i class="far fa-user"></i>
<input type="text" placeholder="Nickname" name="nickname">
</div>
<p class="warning__msg"></p>
<div>
<i class="far fa-envelope"></i>
<input type="text" placeholder="Email" name="email">
</div>
<p class="warning__msg"></p>
<div>
<i class="fas fa-lock"></i>
<input type="password" placeholder="Password" name="password">
</div>
<p class="warning__msg"></p>
<input type="submit" value="SIGN UP" name="submit">
</form>
</div>
</body>
</html>
【问题讨论】:
-
您正在从页面 X 重定向到页面 Y,这意味着所有变量都将丢失。将您的错误消息存储在会话中以使其持久化并能够在页面 Y 上显示它们
-
谢谢你,DarkBee。问题解决了!
-
没有问题,很高兴你解决了我的问题