【问题标题】:How do I include array from another PHP file如何包含来自另一个 PHP 文件的数组
【发布时间】: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。问题解决了!
  • 没有问题,很高兴你解决了我的问题

标签: php arrays


【解决方案1】:

按照 DarkBee 的建议,您可以使用 $_SESSION 来发送错误消息,或者干脆不使用 header("Location: ./signup.php"),而是将所有 PHP 代码包含在同一页面中。

【讨论】:

    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2020-12-24
    • 2023-03-07
    相关资源
    最近更新 更多