簡體   English   中英

生成密碼PHP,MySQL

[英]Generate Password PHP, MySQL

我試圖創建一個PHP頁面來生成密碼,並使用數據庫上的新密碼更新記錄。 我必須檢查用戶存在的數據庫上有兩個表,而且我不確定更新字段所需的MySQL。 這是我到目前為止的內容:

if (isset($_POST['rest'])) {

        if (empty($_POST['email'])) { 
        echo "<h2 class='output'>You did not enter an email address</h2>"; 
        } 
        else{ 
        $email = $_POST['email'];   

        mysql_select_db($database_localhost,$localhost) or die ("Couldn't select the database."); 

        $result1=mysql_query("SELECT * FROM student WHERE email='$email'"); 
        $result2=mysql_query("SELECT * FROM admin WHERE email='$email'");

        $rowCheck1 = mysql_num_rows($result1);
        $rowCheck2 = mysql_num_rows($result2); 
        if(($rowCheck1 > 0) || ($rowCheck2 > 0)){ 

        $newPass = md5( random_gen(8));
        mysql_query("INSERT INTO admin, student (password) VALUES (".$newPass.") WHERE email="$email"");

}}

任何幫助將不勝感激謝謝

您應該使用sql update語句 插入語句將在學生表和管理表中添加新行。

因此您的代碼應類似於:

if (isset($_POST['rest'])) {

    if (empty($_POST['email'])) { 
        echo "<h2 class='output'>You did not enter an email address</h2>"; 
    } 
    else{ 
        $email = $_POST['email'];   

        mysql_select_db($database_localhost,$localhost) or die ("Couldn't select the database."); 

        $result1=mysql_query("SELECT * FROM student WHERE email='$email'"); 
        $result2=mysql_query("SELECT * FROM admin WHERE email='$email'");

        $rowCheck1 = mysql_num_rows($result1);
        $rowCheck2 = mysql_num_rows($result2); 
        if(($rowCheck1 > 0) || ($rowCheck2 > 0)){ 

            $newPass = md5( random_gen(8))
            mysql_query("UPDATE admin SET password = '$newPass' WHERE email='$email'");
            mysql_query("UPDATE student SET password = '$newPass' WHERE email='$email'");

    }
}

}

與其在mysql表中插入新行,不如使用“更新”。

mysql_query("UPDATE `admin`,`student` (`password`) VALUES ('$newPass') WHERE `email` = '$email'");

另外,添加了一些標點符號。

編輯:感謝@ zi42提醒我,現在不再使用MD5並不是一個好主意。 最好使用hash_hmac和“ sha256”哈希。

暫無
暫無

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

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