我正在关注使用HTML和PHP的基础知识的MySQL文章。我拥有的两个文件非常基本:
的index.html:
<A HREF="welcome.php?name=Kevin"> Hi, I'm Kevin! </A>
的welcome.php:
<?php
echo( "Welcome to our Web site, $name!" );
?>
在索引页面上单击链接时,出现以下错误:
Notice: Undefined variable: name in C:\xampp\htdocs\mywebsite\welcome.php on line 2
Welcome to our Web site, !
我不是一个专家,但我很确定代码是否正确 - 是否有任何类型的设置/配置我应该在尝试运行之前完成,这会阻止变量传递给php文件?
谢谢,Gio
答案 0 :(得分:2)
为此,您需要使用$_GET
从网址中提取“name”参数。
<?php
$name = $_GET['name'];
echo( "Welcome to our Web site, $name!" );
?>
您还需要研究清理输入以防止使用htmlspecialchars()
等方法注入代码,并使用isset()
检查URL是否首先包含“name”参数。
<?php
if (isset($_GET['name']) {
$name = htmlspecialchars($_GET['name']);
echo( "Welcome to our Web site, $name!" );
}
?>
答案 1 :(得分:2)
在您的示例中,您使用的是PHP的全局变量功能,因为安全性而不推荐使用该功能。
您可以使用$ _GET获取网址变量
<?php
$name = $_GET['name']; // Gets ?name=value
?>
您使用$ _POST通过POST
从表单提交中检索数据<?php
$name = $_POST['name']; // Get <input name="name"> value via POST
?>
根据当前请求方法使用$ _REQUEST从GET或POST检索数据
<?php
$name = $_REQUEST['name'];
?>