2012-07-15 55 views
1

我有一個PHP頁面,它加載一些預定義的選項和HTML代碼的文本框。
後來它在遠程頁面上發佈數據。檢測遠程URL的重定向與PHP

<img src="data:<?php echo $captchaQuery['content_type'] ?>;base64,<?php echo $captcha ?>" alt="Captcha" height="30" align="absbottom" id="msg_captcha" name="msg_captcha"> 
<input type="text" name="f_captcha" size="8" maxlength="5"> 
<input type="submit" value="SEND" class="btnorange"> 

,一切工作正常的大部分時間,包括遠程驗證碼驗證。當我按發送按鈕頁面提交到遠程URL並重新加載的PHP頁面。

我的問題是'當用戶在文本框中輸入錯誤的數據時,遠程站點會重定向到另一個頁面,我怎樣才能抓住重定向的鏈接並將用戶重定向到該頁面而不是重新加載我的php?

提交數據的目標網址是:$ baseurl。 ?psean =。

如果有錯誤,請執行:$ baseurl。 ?psean =驗證碼是錯誤的

+0

是對你的控制之下不正確的輸入重定向重定向的位置?如果是這樣,你需要在該頁面捕捉事件。 – 2012-07-15 02:47:05

+0

沒有重定向在遠程站點上。該網站決定什麼是正確的或不正確的。 – 2012-07-15 02:55:33

+0

是的,但是如果信息錯誤,它在哪裏發送用戶?回到你的網站,對吧?因爲如果情況並非如此,那麼你可以做的事情就不多了。除了嘗試和Ajax提交併捕獲響應......但由於跨域提交,這將變得複雜.. – 2012-07-15 02:57:55

回答

2

看看服務器發送響應報頭

$url = "http://www.google.com"; 
$headers = get_headers($url, 1); 
if(!empty($headers['Location'])) 
    header('Location:' . current($headers['Location']));