XAMPP PHP 错误注意:"Undefined variable" 从 HTML 到 PHP

XAMPP PHP error Notice: "Undefined variable" from HTML to PHP

我是新手学习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 中未定义变量:yourname 注意:未定义的变量:消息在 C:\xampp\htdocs\Test-Antonio\page2.php on line 9

所以我似乎无法将变量值从 HTML 传递到 PHP。这样对吗?我应该怎么做才能做到这一点 运行?

在此先感谢任何可以帮助我的人!! 最好的祝福, 安东尼奥.

你的语法有误。你应该用

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

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

$yourname = "your name";

或者如果您使用的是 post 机制:

$yourname = $_POST['yourname'];

使用$_POST获取通过POST请求

传递的数据
Hi! <?php echo $_POST["yourname"]; ?>

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

如果您的表单没有定义 method 属性或有 method="get" 那么它将通过 GET 请求提交并且可以通过 $_GET[<input name>].[=15 在 PHP 中访问=]

读这个:http://www.w3schools.com/php/php_forms.asp

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

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

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

的手册

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

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

第 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>