2013-07-04 50 views
-1

我試圖用一個HTML表單進行註冊,這裏就是我這麼遠:HTTP引用不工作PHP

  1. 我有一個文件的形式http://localhost/hospital/administrador/registrar-usuario/index.php

  2. 這下發送到一個文件,我檢查,清潔等變量介紹,這個文件是在http://localhost/hospital/administrador/registrar-usuario/verify.php

  3. 我想要的是,如果用戶犯了錯誤,我創建一個會議與錯誤數組和它的用戶先前輸入的值。然後header('Location: .');將它們重定向到index.php。所以我可以顯示錯誤並保存表單的值,所以不需要全部重寫。

  4. 問題出在這裏:在index.php的開始處,我檢查用戶是否來自verify.php頁面。如果他們沒有這些價值和錯誤的會話破壞。但HTTP_REFERER說,引用者是http://localhost/hospital/administrador/registrar-usuario/index.php代替verify.php

發生了什麼事的任何想法?

非常感謝!

有沒有其他辦法可以實現這個目標?

+0

可能重複[請問302重定向維護引用字符串?](http://stackoverflow.com/questions/2158283/will-a-302-redirect-maintain-the-referer-string) – Barmar

+0

不可以't,它仍然給我索引頁作爲引用者 – krlozadan

+0

你的症狀似乎是在這個問題的答案中所說的。引用者是原始頁面,而不是包含重定向的中間頁面。 – Barmar

回答

0

按照http://php.net/manual/en/reserved.variables.server.phpHTTP_REFERER不能被信任,因爲它可以被改變。

如果你在index.php和你的會話變量(無論你稱爲它)有錯誤,顯示它們並銷燬?否則什麼都不做?

我不確定你是否使用框架或哪個框架,但你可能會有一個奇怪的重定向問題。

+0

嗨!我沒有使用任何框架。奇怪的是,如果我在(http://localhost/hospital/index.php)和(http://localhost/hospital/verify.php)中測試它,它對我很有用。即使HTTP_REFERER像索引頁面I仍然可以獲得理想的效果。但是,當我將文件夾升級時......我知道......沒有任何意義 – krlozadan