【问题标题】:XAMPP PHP error Notice: "Undefined variable" from HTML to PHPXAMPP PHP 错误通知:从 HTML 到 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。

标签: javascript php html xampp


【解决方案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

          【讨论】:

            猜你喜欢
            • 2016-12-07
            • 2018-01-05
            • 1970-01-01
            • 1970-01-01
            • 2021-07-21
            • 2011-05-04
            • 2016-03-21
            • 2011-10-27
            • 2014-11-03
            相关资源
            最近更新 更多