2014-04-28 56 views
0

我在我的網站 註冊表格有問題無論我輸入什麼確認密碼它將其轉換爲一個(我知道它時,我回顯密碼和確認密碼) 雖然兩個值是不同的,它總是給我講實話,當我的密碼和確認確認密碼字段總是等於1

這裏比較之間是HTML:

<span><p>Password:</p> 
<input type="password" size="25" name="password" placeholder="Enter Your Password"  style="margin-bottom:2ex;" /> 
<font color="red">*</font> 
<font color="grey">At least 8 characters.</font></span> 
<span><p>Confirm Password:</p> 
<input type="password" size="25" name="confirm_password" placeholder="Confirm Your Password" style="margin-bottom:2ex;" /> 
<font color="red">*</font></span> 

,這裏是我的PHP代碼

if (isset($_POST['signup'])) { 
    if ($_POST['password'] != NULL && $_POST['confirm_password'] = !NULL) { 
    $password = $_POST['password']; 
    $confirm_password = $_POST['confirm_password']; 

    if ($password != $confirm_password) { 
    print ("<p><b><font color='red'>Provided passwords do not match</font></b></p>"); 
    } 

    else { 
    $password = md5($password); 
    //do the rest of code 
    } 
} 
} 

UPDATE

有代碼的一些隱藏的部分,提交按鈕的名稱是註冊,和我檢查該字段的值不爲空 另一件事 轉換爲一個指價值總是= 1

+1

您沒有一個名爲'signup'的命名元素,因此您的條件語句將不起作用。除非在代碼的未顯示部分。這是你的提交按鈕,我敢打賭,*對* *? - 啊,知道了。 –

+0

您需要驗證是否提供了'password'和'confirm_password'並且不是空的(可能還有其他一些規則)。 – Halcyon

+0

你是什麼意思「轉換爲一個」?該值實際上改變了? – durbnpoisn

回答

0

這條線:

if ($_POST['password'] != NULL && $_POST['confirm_password'] = !NULL) { 

= !NULL需要是!= NULL

if ($_POST['password'] != NULL && $_POST['confirm_password'] != NULL) { 

密碼存儲:

考慮使用CRYPT_BLOWFISH或PHP 5.5的password_hash()功能。對於PHP < 5.5使用password_hash() compatibility pack


  • MD5被認爲是太快,是不合時宜的。