我想根据网址变量创建网址重定向。
所以,如果学生%20gender(学生性别)是男性,那么请访问www.one.com,如果是女性,请访问www.two.com。
还没想出来。有什么帮助吗?
答案 0 :(得分:3)
问题可以使用一些更好的解释。你是说有人会去
http://www.yoursite.com/yourscript.php?student%20gender=male
并且您希望将它们重定向到http://www.one.com
?
如果是这种情况,PHP有一个内置变量$_GET
,它存储URL中?
之后列出的值。所以在上面的例子中,我们看到:
$_GET['student gender'] = male;
您可以使用它来访问由&
因此,网址http://www.site.com/index.php?val1=a&val2=b&val3=c
会给我们:
$_GET['val1'] = a;
$_GET['val2'] = b;
$_GET['val3'] = c;
在此之后,要在PHP中进行重定向,最简单的方法是发送Location:
标头。这样做是这样的:
<?php
header("Location: www.newsite.com");
?>
将此与我们的$_GET
变量和一些简单的逻辑相结合:
<?php
if($_GET['student gender'] == 'male'){
header("Location: www.one.com");
die();
} else {
header("Location: www.two.com");
die();
}
?>
答案 1 :(得分:2)
$var = $_GET['yourvar'];
if($var == 'one'){
header("Location: http://www.one.com/");
}else if ($var == 'two'){
header("Location: http://www.two.com/");
}
答案 2 :(得分:1)
您还必须确保在此处查看安全方面,您完成此任务的最佳方式是
$gender = isset($_REQUEST['gender']) ? $_REQUEST['gender'] : false;
switch($gender)
{
default: //The default action
//Send back to the gender select form
break;
case 'male':
//Send to male site!
break;
case 'female':
//Send to female site!
break;
}
这应该足够了,但请不要在没有卫生条件的情况下执行shell或数据库查询的函数中使用$_X['?']
。
注意:_X
正在(GET,POST,REQUEST,FILES)