2017-07-27 106 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){}」,這意味着它是空的。我該怎麼辦? –