2017-07-27 69 views
0

你好,你好吗?使用PHP与PDO重定向链接

我正在使用PDO语句来处理一个项目,并且我想将用户重定向到它从数据库中获取的某个URL,但浏览器在重定向时给了我一个错误..如果我键入某些网站到我的代码重定向没有任何问题。

这里是我的代码:

if (isset($_GET['r']) || !empty($_GET['r'])) 
{ 
     $l_url = $_GET['r']; 

     $con = $db->prepare("INSERT INTO links (url) VALUE (?)"); 
     $con->execute(array($_POST['url'])); 

     header("location:" .$l_url); 
     exit(); 
} 

,如果我的“位置”后键入任何URL,它会没有任何问题重定向,但与此这里。

错误:

Firefox - "The page isn’t redirecting properly" in Firefox and " This page isn’t working, localhost redirected you too many times." in Chrome and I did clear the session & Cookies

谢谢。

+1

什么是错误? – Alex

+0

Firefox中的“页面未正确重定向”和“此页面无法正常工作,本地主机重定向您太​​多次了。”在Chrome中,我确实清除了会话和Cookie。 –

+0

什么是$ l_url值?为什么(isset($ _ GET ['r'])||!empty($ _ GET ['r']))而不是(isset($ _ GET ['r'])&&!empty($ _ GET ['r' ]))? –

回答

1
isset($_GET['r']) || !empty($_GET['r']) 

不必要的代码,你可以改变上面的表达式如下:

!empty($_GET['r']) 

关于你的问题:

but the browser gives me an error while redirecting..

什么错误讯息您收到?没有这些信息,我无法帮助,但可能变量$_POST['url']不存在。

+0

如果我删除“isset .. etc”,它会自动重定向,但我的代码要求用户在重定向之前单击特定的URL。 在Firefox 中显示错误消息:“页面未正确重定向”和“此页面无法正常工作,本地主机重定向您太​​多次了。”在Chrome 和我确实清除了会话&Cookies。 –

+0

不,您可以删除,因为您正在检查相同的变量2次。我几乎可以肯定变量'$ _POST ['url']'不存在,请尝试执行'var_dump($ _ POST);退出;'调试 – bkrukowski

+0

输出是:“array(0){}”,这意味着它是空的。我该怎么办? –