php重定向页面位置,php - PHP重定向到基于页面版本的用户位置(IPAPI),并在会话中记住 - SO中文参考 - www.soinside.com...
bounty到期在7天內(nèi)。該問(wèn)題的答案有資格獲得+ 100聲望賞金。John the Painter希望引起更多關(guān)注對(duì)此問(wèn)題。
我正在嘗試在head.inc文件中包含一些代碼,該代碼將檢查該頁(yè)面是否可用用戶的位置語(yǔ)言顯示,如果可以,它將重定向到該頁(yè)面。顯然,這對(duì)于UX而言不是很好,但是but,我的客戶很熱衷。
我需要解決的唯一問(wèn)題是,如果用戶已經(jīng)被重定向,那么不要在每個(gè)頁(yè)面上都這樣做...存儲(chǔ)用戶已被重定向的事實(shí),并且在會(huì)話結(jié)束之前不要再次進(jìn)行操作。這樣的事情。
我已經(jīng)在下面編寫(xiě)了代碼,但是a)我不確定這是執(zhí)行此操作的最佳方法,b)它似乎陷入了重定向循環(huán)中(我認(rèn)為第二次會(huì)話檢查可以避免這種情況)。
我正在使用ipapi.com檢查用戶的位置。我也在使用ProcessWire的“ $ session”,它實(shí)際上與PHP會(huì)話相同。if (!$session->get("lucentLightingRegion")) {
$session->set("lucentLightingSessionRedirected", "false");
if ($page->ipapiGetUserLocation()['continent_code'] === 'NA') {
$session->set("lucentLightingRegion", "NA");
if ($page->viewable('na')) {
$url = $page->localUrl('na');
$session->redirect($url);
}
} else {
$session->set("lucentLightingRegion", "INT");
if ($page->viewable('default')) {
$url = $page->localUrl('default');
$session->redirect($url);
}
}
} else {
$sessionRegion = $session->get("lucentLightingRegion");
bd($sessionRegion);
if ($page->viewable($sessionRegion) && $session->get("lucentLightingSessionRedirected") == "false") {
$url = $page->localUrl($sessionRegion);
$session->redirect($url);
$session->set("lucentLightingSessionRedirected", "true");
}
}
總結(jié)
以上是生活随笔為你收集整理的php重定向页面位置,php - PHP重定向到基于页面版本的用户位置(IPAPI),并在会话中记住 - SO中文参考 - www.soinside.com...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 普通人为什么不用交税 普通人为何不需要缴
- 下一篇: 世界上第一部智能手机是什么(动荡的世界蕴