将url中的变量传递给PHP文件

时间:2013-11-04 23:34:59

标签: php html mysql

我正在关注使用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

2 个答案:

答案 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'];
?>
相关问题