我在更新mysql數據庫查詢時遇到了一些麻煩。 我有一個登錄形式,當用戶登錄時,會創建一個會話的用戶,並將其存儲的電子郵件,密碼和ID(不知道這是最安全的方式,請告訴我正確的/最安全的方式)。當他們登錄時,他們可以去改變他們的密碼(或者應該是)。問題是更新密碼查詢不適合我。mysql更新當前用戶的密碼
這裏是我的代碼,當他們登錄,設置該用戶的ID,電子郵件地址和密碼:
session_start();
$_SESSION['id'] = $id;
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;
這裏,是爲了更新自己的密碼代碼:
session_start();
if (isset($_POST['email']) && isset($_POST['password']) && isset($_POST['newPassword']) && isset($_POST['oldPassword'])) {
$email = $_POST['email'];
$password = $_POST['password'];
$newPassword = $_POST['newPassword'];
$oldPassword = $_POST['oldPassword'];
mysql_select_db("users", $conn);
if(isset($_POST['update'])) {
$update = "UPDATE users SET Password='$newPassword' WHERE Password='$_POST[hidden]'";
mysql_query($update, $conn);
$_SESSION['password'] = $newPassword;
}
我有一個'舊密碼'複選框,用於檢查他們的舊密碼是否正確,以及'新密碼'複選框是否意味着當用戶點擊'更新'時新密碼。
的問題是,當我點擊更新沒有任何反應。我嘗試使用mysql_error()函數,但它沒有工作。頁面刷新速度太快。 請注意,這不是所有的代碼,如果你想下載它: https://www.mediafire.com/?fkjwt58hk5kyt3w 嗨,大家好,我在我的MySQL數據庫更新查詢有點麻煩。 我有一個登錄表單,當用戶登錄時,會創建用戶的電子郵件,密碼和ID並將其存儲在會話中(不確定這是否最安全,請告訴我正確/最安全的方式)。當他們登錄時,他們可以去改變他們的密碼(或者應該是)。問題是更新密碼查詢不適合我。
我知道做事的這個MySQL的方式是非常不安全,容易受到SQL注入和做它的老樣子,但這只是練習,是爲了好玩。之後,我將學習如何防止sql注入和XSS。
我已經準備好表示本網站上的其他類似問題,但他們根本沒有幫助我,我搜索了Google,並在YouTube上搜索了它。無處可爲我工作!
請幫忙! Thanx提前
如果還有其他東西想讓我發帖或者我沒有說過什麼,請告訴我。
PS:如果可以的話,請下載的所有文件,並檢查它們和你自己:)運行它們
** **危險:你是使用[一個**過時的**數據庫API](http://stackoverflow.com/q/12859942/19068),並應使用[現代替換](http://php.net/manual/en/mysqlinfo.api .CH oosing.php)。你也**易受[SQL注入攻擊](http://bobby-tables.com/)**,現代的API會使[防禦]更容易(http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin
您正在使用[不適合的哈希算法](http://php.net/manual/en/faq.passwords.php)(在這種情況下,「根本就沒有哈希算法!」),並且需要[更好地照顧](https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet)你的用戶密碼。 – Quentin
什麼$ _POST [隱藏]? –