سلام
برای تغییر پسورد و قرار دادن رمز جدید من ک زیر رو نوشتم
ولی اشتباهه ممنون میشم راهنمایی کنید
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>' ;
}
}
ارور رو قرار بدین اینجا. اما چیزی که الان واضحه اینه که باید تمام متغیر های رشته ای توی کوئری باید داخل تک کوتیشن باشن. این دوتا جارو اصلا کن :
$check = mysqli_query($db , "SELECT * FROM users WHERE password = '$password'");
و اینجا:
$editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword' WHERE password='$newPassword'");
پیشنهاد میکنم از یه ORM توی پروژه های PHP استفاده کنی
ممکنه کمی زمان ببره تا به نحوه استفاده اش عادت کنی، اما وقتی عادت کنی به شدت سرعت توسعه رو بالا میبره
Doctrine ابزار بسیار عالی هست ..یه سر به وب سایتش بزن
@arash.taghavi69
ممنون انجام دادم ولی مثل قبل فقط قسمت دوم شرط که گفتم پسورد و تکرار پسورد برابر نیست اجرا میشه
این query که نوشتی فکر میکنم هیچ وقت انجام نمیشه :
$editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword' WHERE password=$newPassword ");
احتمالا منظورت از $newPassword دوم (توی شرط where) متغیر $password بوده.
سلام
$editUser = mysqli_query($db , "UPDATE users SET password ='$newPassword' WHERE password=$newPassword ");
این کوئری دوتا مشکل داره اولیش اینکه اونجا که گفتی where باید متغییر password$ بدی بهش نه newPassword$
اما این کارم کنی باز کد باگ داره
فرض کن دو نفر پسوردشون یکی باشه اینطوری پسورد هر دو نفر تغییر میکنه تو باید از طریق url یا هرچی ایدی کاربر رو بگیری و where رو از طریق id$ انجام بدی.
اصن باگ داره بخش CHECK گیرم دو تا کاربر سایت پسوردشون یکی باشه اینطوری به مشکل بر میخوره فک کنم بهتره با ID کاربر پیش ببری بخش چک رو
الان به این صورت نوشتم از دوتا کوئری ارور میگیره
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");
}
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟