通过url传递变量并检查它

时间:2015-01-24 20:39:11

标签: php

<html>
<head>
<body>
<?
if($mail == "yes"){
echo '<script>alert("hello")</script>';
}
?>
<a href="test.php?mail=yes">Click</a>
</body>
</head>
</html>

点击链接时,为什么页面没有给我提醒? PHP是否认识到我尝试传递的变量或者我是否需要做其他事情?

3 个答案:

答案 0 :(得分:0)

因为你需要检查

if($_GET['mail'] == 'yes') {
...
}

$ mail未在您检查时设置(在您的情况下也不会过去)。要在网址中的问号后检索值

http://www.example.com?mail=whatever

你需要使用$ _GET,因为这是超级全球收集它。

答案 1 :(得分:0)

试试这个

if($_GET['mail'] == "yes"){
    echo '<script>alert("hello")</script>';
}

您的所有URL参数都放在$ _GET数组中,只需将参数名称设置为数组键,您将获得URL传递的值。

答案 2 :(得分:-1)

您需要测试是否定义了get变量且不是null:

<html>
<head>
<body>
<?php
$mail = filter_input(INPUT_GET, 'mail');
if($mail == "yes"){
    echo '<script>alert("hello")</script>';
}
?>
<a href="teste.php?mail=yes">Click</a>
</body>
</head>
</html>