请转到PHP Goto

时间:2014-05-21 00:20:38

标签: php wordpress

PHP的总noob,我试图把它放在我的wordpress文件的标题中:

<?php 
$meta = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
$country = $meta['geoplugin_countryCode'];
if (($country=='GB') or ($country=='US')) {
exit;
} else {
header("Location: http://google.com");
exit;
}
?>

如果从GB或美国其他人被踢到google,页面代码将被执行。

无法让它发挥作用,因此需要提供指导。

Cheerz

Ukphoneguy

2 个答案:

答案 0 :(得分:3)

您不希望在“允许”的情况下exit;

$allowed = array('GB', 'US');
if (!in_array($country, $allowed)) {
    // Not an allowed country. Redirect.
    header("Location: http://google.com");
    exit;
}

// The rest of your code for valid countries goes here

您的问题是您正在呼叫exit,即使是GB和US也是如此。当你想要完全停止执行任何更多的PHP代码(这不是你想要的)时,你只需要调用exit

答案 1 :(得分:0)

我建议:

if (($country != 'GB') and ($country != 'US')) header("Location: http://google.com");