2017-04-26 76 views
4

我想重定向到一個頁面(例如error.php),具體取決於我網站中表單中的信息。我設法登錄這樣的錯誤:重定向到Slim框架出錯的另一個頁面

if ($date > $curdate) { 
    return $response 
     ->withStatus(406) 
     ->withHeader('Content-Type', 'text/html') 
     ->write('You can\'t select dates in the future!'); 
} 

我怎麼能做到這一點,因此特別,而不是記錄/發送你到一個頁面的錯誤,要求其在網絡選項卡?

現在我得到這樣的:

Request URL:http://raspberrypi/chartAPI/api/{id}/{date1}/{date2} 
Request Method:POST 
Status Code:406 Not Acceptable 
Remote Address:192.168.0.80:80 
Referrer Policy:no-referrer-when-downgrade 

如預期這幾乎是工作。我想要做的是將它發送給「http://raspberrypi/chartAPI/error/406」(例如),並將內容顯示在一個名爲406.php(或error406.php,或error.php或任何調用它)的文件中。

我設法做一些與此:

return $response->withRedirect("error.php"); 

但我得到這個:

Request URL:http://raspberrypi/chartAPI/api/{id}/{date1}/error.php 
Request Method:GET 
Status Code:405 Method Not Allowed 

苗條拋出這個錯誤:

Method not allowed. Must be one of: POST 

爲什麼刪除{DATE2 }?爲什麼它要求POST方法?

這個問題的this one延續,但由於該網站如何處理這些「老」問題,幸虧有推下來,不管我有多少編輯說,它沒有得到任何注意了。

+1

可能重複[重定向在Slim框架上出現錯誤](http://stackoverflow.com/questions/43611649/redirecting-with-error-on-slim-framework) – geggleto

+0

@geggleto這就是我在最後說的這個問題。 – Newwt

回答

1

當您使用withRedirect使用路由URL不是一個文件瀏覽

誤差在使用GET方法,在此路由需要POST

我想這是因爲你使用文件重定向到,然後該方法將只有GET不POST或其他像瀏覽器

我不知道爲什麼你使用POST時,只要你在URL中傳遞參數?!

相關問題