2010-04-20 21 views
1

我一直試圖使用jQuery$_POST獲取信息,並返回到實際的表單,如果他們的電子郵件地址已存在於系統中,但我可以' t似乎得到jQuery抓住php變量$post(它具有來自$_POST的所有信息)並將它們吐回到原始形式。有人可以幫我嗎? :)jquery抓取帖子的詳細信息,並將它們返回到表格

****************編輯****************

因此,這裏的基本結構。

表單:姓名,電子郵件,地址。

提交表單調用php函數來檢查用戶是否存在於數據庫中。如果電子郵件地址在數據庫中,我希望它說「對不起,這封電子郵件已經存在,請點擊這裏再試一次」。

點擊鏈接重新嘗試後,我希望表單重新顯示並輸入剛纔輸入的字段以再次顯示。 < - 這是我認爲jQuery可以做的重新發布信息回到表單頁..?

如果用戶不存在,則將用戶保存到數據庫中。

這是否更有意義?

回答

2

從你的問題的聲音你試圖做的沒有意義。這是因爲PHP是服務器端語言,而Javascript是客戶端(在瀏覽器中)。這意味着Javascript和jQuery無法訪問PHP的變量(包括$ _POST)。

有兩種常見的方法來解決這個問題:

  • 讓PHP產生的形式。您可以將$ _POST或其他數據位置的值輸出到表單中(例如,將變量回顯到輸入標籤的值屬性中)。這是迄今爲止最簡單的方法。例如:printf('<input type="text" name="foo" value="%s"/>', $someCleanVariable);

  • 讓PHP生成JSON或XML,並使用AJAX從PHP腳本中獲取數據。你將不得不將這些值解析出來。這與前面的例子基本相同,只是它更具可移植性:您可以讓任何源使用數據而不僅僅是表單。

但是,這樣做的時候請確保您保護您的用戶:您需要清潔,你發回給用戶,以確保沒有任何HTML,JavaScript或其他惡意代碼的數據在裏面。你不希望人們通過傳遞數據來改變頁面的外觀。請參閱Cross-site Scripting Attacks

乾杯。

+0

將編輯我的帖子,希望更有意義大聲笑 – SoulieBaby 2010-04-21 00:31:00

+1

我的答案仍然適用。 :-) 您將使用jQuery替換HTML元素,但使用PHP將元素寫入頁面。對於你的例子,讓結果頁面用CSS屬性'display:none;'輸出重做表單。然後,如果他們點擊「再試一次」按鈕,您可以選擇表單並使用jQuery顯示它:'$('div#formContainer')。show();' 希望有幫助。 – 2010-04-21 00:36:59

+0

哈哈,確定感謝您的幫助! :) – SoulieBaby 2010-04-21 00:47:32