XAMPP PHP 错误通知:从 HTML 到 PHP 的“未定义变量”

Posted

技术标签:

【中文标题】XAMPP PHP 错误通知:从 HTML 到 PHP 的“未定义变量”【英文标题】:XAMPP PHP error Notice: "Undefined variable" from HTML to PHP 【发布时间】:2015-11-07 11:35:20 【问题描述】:

我是学习 php 的新手,我认为我的问题是我无法将变量值从 html 传递给 PHP:

我有一页,叫做form.php。这是它的代码,以及它的 HTML 代码:

<html>
  <head>
     <title>form</title>
  </head>
     <body bgcolor="#FFFFFF" text="#000000">
       <form action="page2.php" method=post> 
           My name is: <br>
           <input type="text" name="yourname"> 
              <p> Please leave your message here <br>
           <input type="text" name="message"> 
              <p>
           <input type="submit" name="submit" value="Please accept my   data!"> 
        </form>
      </body>

page2.php has this chunk instead in it:

<html>
   <head>
     <title>Hi!</title>
   </head>
        <body bgcolor="#FFFFFF" text="#000000">
           <p>
              Hi! <?php print $yourname; ?>
           <p>
              Thank you for your message  <b> <?php print $message; ?> !?! </b>
        </body>

我得到的错误如下:

注意:未定义变量:第 7 行 C:\xampp\htdocs\Test-Antonio\page2.php 中的您的名字 注意:未定义变量:第 9 行 C:\xampp\htdocs\Test-Antonio\page2.php 中的消息

看来我无法将变量值从 HTML 传递到 PHP。这样对吗?我应该怎么做才能让它运行?

提前感谢任何可以帮助我的人! 最好的祝福, 安东尼奥。

【问题讨论】:

使用 register_globals 处于活动状态时,您尝试做的事情几年前会奏效。现在,您可以使用$_REQUEST$_GET 和/或$_POST 访问这些变量。 手册中都有,请阅读:$_POST。 【参考方案1】:

第 1 页应该是:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>page 1</title>
    </head>
    <body>
        <form action="page2.php" method="post"> 
            <label>My name is: </label><br/>
            <input type="text" name="yourname"> <br/>
            <label> Please leave your message here:</label><br/>
        <input type="text" name="message"><br/>
        <input type="submit" name="submit" value="Please accept my data!"> 
    </form>
</body>
</html>

第 2 页应该是:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>page 2</title>
    </head>
    <body>
        <p>Hi! <?php echo $_POST['yourname']; ?><p>
        <p>Thank you for your message  <b> <?php echo $_POST['message']; ?> !?! </p>
    </body>
</html>

【讨论】:

【参考方案2】:

您的语法错误。你应该用

回显 $yourname
<?php echo $yourname ?> 

还要确保您已分配 $yourname 变量。你可以这样做

$yourname = "your name";

或者,如果您正在使用发布机制:

$yourname = $_POST['yourname'];

【讨论】:

【参考方案3】:
 <?php echo $_POST ["yourname']; ?>

将解决您的错误。因为您没有为$yourname 分配变量,所以PHP 不知道它在做什么,所以会抛出一个错误。我还建议您查看$_POST global 的手册

http://php.net/manual/en/reserved.variables.post.php

【讨论】:

【参考方案4】:

您可以使用$_POST['variablesName'] 从表单中获取变量。所以在这种情况下,请使用$_POST['yourname'] 而不是$yourname

【讨论】:

【参考方案5】:

使用 $_POST 获取通过 POST 请求传递的数据

Hi! <?php echo $_POST["yourname"]; ?>

您的 html 表单具有 method="post" 属性,因此它将通过 POST 请求传递您的所有输入,并且可以在 PHP 中的 $_POST[&lt;input name&gt;] 变量中访问。

如果您的表单没有定义方法属性或有method="get",那么它将通过GET 请求提交,并且可以通过$_GET[&lt;input name&gt;] 在PHP 中访问。

阅读:http://www.w3schools.com/php/php_forms.asp

请了解 PHP 和 HTML 中的基本表单处理。您可能想通过 javascript 学习 ajax 来调整您的表单。在此处阅读有关 ajax 的信息:https://developer.mozilla.org/en/docs/AJAX

【讨论】:

以上是关于XAMPP PHP 错误通知:从 HTML 到 PHP 的“未定义变量”的主要内容,如果未能解决你的问题,请参考以下文章

升级到 PHP 版本 7 后,我收到 XAMPP Apache 服务器错误

无法使用汞 XAMPP 从本地主机发送 Drupal 通知邮件

安装 Apache+php+mysql+phpMyAdmin XAMPP及错误解决办法

[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(四. iOS端代码实现)

[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)

如何使用本地 xampp 和 php 联系人表单从我的 mac 发送邮件