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

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

本文关键字:PHP 变量 HTML 未定义 通知 XAMPP 错误      更新时间:2023-09-26

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

所以我似乎无法将可变值从HTML传递到PHP。对吗?我该怎么做才能让它运转起来?

提前感谢任何能在这方面帮助我的人!!顺致敬意,安东尼奥。

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

您的语法错误。你应该用回显$yourname

<?php echo $yourname ?> 

还要确保您已经分配了$yourname变量。你可以用做到这一点

$yourname = "your name";

或者,如果你使用的是后机制:

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

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

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

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

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

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

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

如果您的表单没有定义method属性,或者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