paradox
4 سال پیش توسط paradox مطرح شد
10 پاسخ

تغییر پسورد در php

سلام
برای تغییر پسورد و قرار دادن رمز جدید من ک زیر رو نوشتم
ولی اشتباهه ممنون میشم راهنمایی کنید


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

    $password = md5($_POST['password']);
    $newPassword = md5 ($_POST['new-password']);
    $passwordConf = md5 ($_POST['password-conf']);

    $check =  mysqli_query($db , "SELECT * FROM users WHERE password = $password");

    if ($check && $password == $passwordConf)
    {
       $editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword'  WHERE password=$newPassword ");

        if($editUser){
        header("Location:adminpanel.php");
        }
    } else {

        echo '<div class="alert alert-danger ">پسورد و تکرار پسورد با هم برابر نیست.</div>' ;

    }
}

ثبت پرسش جدید
آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 4 سال پیش مطرح شد
0

ارور رو قرار بدین اینجا. اما چیزی که الان واضحه اینه که باید تمام متغیر های رشته ای توی کوئری باید داخل تک کوتیشن باشن. این دوتا جارو اصلا کن :

$check =  mysqli_query($db , "SELECT * FROM users WHERE password = '$password'");

و اینجا:

$editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword'  WHERE password='$newPassword'");

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

پیشنهاد میکنم از یه ORM توی پروژه های PHP استفاده کنی
ممکنه کمی زمان ببره تا به نحوه استفاده اش عادت کنی، اما وقتی عادت کنی به شدت سرعت توسعه رو بالا میبره
Doctrine ابزار بسیار عالی هست ..یه سر به وب سایتش بزن

https://www.doctrine-project.org/projects.html


paradox
@wxyz4367 4 سال پیش مطرح شد
0

@arash.taghavi69
ممنون انجام دادم ولی مثل قبل فقط قسمت دوم شرط که گفتم پسورد و تکرار پسورد برابر نیست اجرا میشه


paradox
@wxyz4367 4 سال پیش مطرح شد
0

@ali.bayat
ممنون از شما متاسفانه زبانم خوب نیست نمیتونم این سایت درک کنم


paradox
@wxyz4367 4 سال پیش مطرح شد
0

کسی میتونه راهنماییم کنه چرا اپدیت پسورد انجام نمیشه ؟ :)


آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 4 سال پیش مطرح شد
0

این query که نوشتی فکر میکنم هیچ وقت انجام نمیشه :

 $editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword'  WHERE password=$newPassword ");

احتمالا منظورت از $newPassword دوم (توی شرط where) متغیر $password بوده.


Reza
تخصص : برنامه نویس وب
@Rezanp7 4 سال پیش مطرح شد
0

سلام

$editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword'  WHERE password=$newPassword ");

این کوئری دوتا مشکل داره اولیش اینکه اونجا که گفتی where باید متغییر password$ بدی بهش نه newPassword$
اما این کارم کنی باز کد باگ داره
فرض کن دو نفر پسوردشون یکی باشه اینطوری پسورد هر دو نفر تغییر میکنه تو باید از طریق url یا هرچی ایدی کاربر رو بگیری و where رو از طریق id$ انجام بدی.


fgh
تخصص : توسعه دهنده لاراول
@fgh 4 سال پیش مطرح شد
0

اصن باگ داره بخش CHECK گیرم دو تا کاربر سایت پسوردشون یکی باشه اینطوری به مشکل بر میخوره فک کنم بهتره با ID کاربر پیش ببری بخش چک رو


paradox
@wxyz4367 4 سال پیش مطرح شد
0

الان به این صورت نوشتم از دوتا کوئری ارور میگیره


Notice: Undefined variable: id in C:\xampp\htdocs\amoozesh\paneladmin\index.php on line 103

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\amoozesh\paneladmin\index.php on line 103

Notice: Undefined variable: db in C:\xampp\htdocs\amoozesh\paneladmin\index.php on line 111

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\amoozesh\paneladmin\index.php on line 111
if(isset($_POST['sabt'])) {

    $password = md5($_POST['password']);
    $newPassword = md5($_POST['new-password']);
    $passwordConf = md5($_POST['password-conf']);

    $check =  mysqli_query($db , "SELECT * FROM users WHERE id = $id");

    if ($newPassword !== $passwordConf)
    {
        echo '<div class="alert alert-danger ">پسورد و تکرار پسورد با هم برابر نیست.</div>' ;

    } else {

       $editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword'  WHERE id=$id ");

        if($editUser){
        header("Location:index.php");

        }
    }
}

آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 4 سال پیش مطرح شد
0

خب بایدم بگیره. الان شما آی دی رو از کجا داری دریافت میکنی؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام