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

时间:2015-08-14 09:01:02

标签: javascript php html xampp

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

所以我似乎无法将varibles值从HTML传递给PHP 。这样对吗?我应该做些什么让它运行?

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

5 个答案:

答案 0 :(得分:0)

你的语法错了。您应该使用

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

OR     

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

做到这一点
$yourname = "your name";

或者如果您正在使用帖子机制:

$yourname = $_POST['yourname'];

答案 1 :(得分:0)

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

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

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

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

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

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

答案 2 :(得分:0)

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

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

的手册

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

答案 3 :(得分:0)

您可以使用$_POST['variablesName']从表单中获取变量。因此,在这种情况下,请使用$_POST['yourname']以外的$yourname

答案 4 :(得分:0)

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