2012-11-30 69 views
0

我正在使用jquery mobilejquery.validate來驗證表單。jquery,php和表單驗證/重定向

我也有,如果JS被禁止使用會話

的形式發送到自身,檢查領域的PHP驗證($_SERVER['PHP_SELF']

我正在尋找的事情,是一次形式通過了驗證,重定向到成功頁面

驗證使用js和PHP的正常工作,因此多數民衆贊成不是我的問題

我有存儲在一個會話變量中$_POST和我使用header("Location: success.php")重定向到成功頁面。

當JS被禁用時,這工作正常,我可以在success.php中訪問會話中的POST數據(使用var_dump()進行檢查),問題是,當啓用JS時,重定向到success.php時,似乎沒有發送任何東西。

我碰到下面的HTML:

<div data-role="page" data-url="/apply.php" data-external-page="true" tabindex="0" class="ui-page ui-body-c ui-page-active" style="min-height: 394px; ">undefined</div> 

沒有人有任何想法,爲什麼重定向似乎並不奏效?

感謝

我的PHP文件如下

  • PHP的檢查表已發給
  • 店內所有職位變量
  • 設置會話變量後變量和存儲這些形式輸入value=""字段
  • 確認
  • if pass valid通貨膨脹,重定向與標題()
  • 顯示的HTML形式
+1

如果它不能與JS啓用一起工作,請檢查JS驗證沒有提前重定向瀏覽器(在PHP處理請求之前) – Dale

+0

我將如何檢查? – user789122

+0

出於好奇,是否有理由重新加載和發佈會話變量,而不是使用$ _SESSION超全局數組訪問它們?只是好奇。 – War10ck

回答

0

好的。所以看了看周圍,似乎jQuery手機是問題。添加data-ajax =「false」給我似乎已經修復了重定向問題

0

的問題是,因爲標題必須這樣啓動(重定向功能是一個報頭)JS /純文本/東西之前被髮送。

我的解決方案是使用Javascript重定向而不使用PHP。

+0

Javascript被禁用時會發生什麼? – user789122

+0

爲什麼我做服務器端的全部原因是如果JS被禁用作爲備份。在JS中做任何重定向都是沒有意義的 – user789122