簡體   English   中英

需要訪問使用php輸入到表單中的數據,然后將其發送到javascript,並且都在同一頁面上而無需重新加載嗎?

[英]Need to access data entered into a form using php and then send it to javascript all on the same page and without reloading?

我有一個用戶注冊表(register.php),用戶輸入用戶名,密碼和電子郵件。 然后將這些發送到另一個php頁面(formValidate.php),以使用ajax進行驗證。

我想使用php將輸入表單的密碼轉換為md5哈希,然后將此變量傳遞給javascript,以便javascript可以將此數據傳遞給formValidate.php

據我了解,這一切都應該發生而無需重新加載register.php頁面,因為該頁面上也有JavaScript,它將輸入的數據發送到formValidate.php頁面。

我不確定該怎么做。

為了做到這一點,您將不得不使用AJAX。 本質上,有兩個部分:

1)您需要一個PHP腳本,該腳本將接受密碼的post變量,將md5對其進行哈希處理,然后將其作為輸出回顯。 讓我們稱之為to_md5.php

2)在您的注冊頁面中,您需要截取表單提交,進行ajax調用,將密碼提交給to_md5.php腳本。 當您獲得MD5哈希密碼時,還需要設置一個回調函數來完成表單提交。 在回調函數中,您可以更改密碼值並提交表單。

可能有更好的方法來執行此操作,但希望它可以給您一個大概的想法。

[編輯]

這就是問題所在,建議我不要使用javascript將純文本密碼發送到php頁面。

知道了 幸運的是,還有許多用Javascript實現的加密算法。 我想到的一個是托管在Google Code上的CryptoJS

MD5實現看起來像這樣:

<script type="text/javascript" src="http://crypto-js.googlecode.com/files/2.5.3-crypto-md5.js"></script>

<script type="text/javascript">

   var digest = Crypto.MD5("MyP@ssw0rd");

   // Two different ways of creating the MD5 hash...
   var digestBytes = Crypto.MD5("MyP@ssw0rd", { asBytes: true });
   var digestString = Crypto.MD5("MyP@ssw0rd", { asString: true });

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM