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[<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
【讨论】:
以上是关于XAMPP PHP 错误通知:从 HTML 到 PHP 的“未定义变量”的主要内容,如果未能解决你的问题,请参考以下文章
升级到 PHP 版本 7 后,我收到 XAMPP Apache 服务器错误
无法使用汞 XAMPP 从本地主机发送 Drupal 通知邮件
安装 Apache+php+mysql+phpMyAdmin XAMPP及错误解决办法
[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(四. iOS端代码实现)