MR.B4A 126 ارسال شده در 4 مرداد، ۱۴۰۰ اشتراک گذاری ارسال شده در 4 مرداد، ۱۴۰۰ سلام. من یه برنامه دارم که کاربر برای ورود به اون اول باید ثبت نام کنه این کدای پی اچ پیه ثبت ناممه $db=new PDO('mysql:host=localhost;dbname=shytoonak;charset=utf8','root',''); if(isset($_POST['user_name'])){ $user_old=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'"'); $c=$user_old->fetch()['count(id)']; if($c>0){ echo 'old'; } else{ $db->query('INSERT INTO tbl_users SET user_name="'.$_POST['user_name'].'",pass="'.md5('sheytoon'.$_POST['pass'].'",score="'.$_POST['score']).'"'); echo 'ok'; } } تا اینجا همه چی اوکیه مشکل زمانی شروع میشه که کاربر میخواد لاگین کنه این دستوراته لاگینه $db=new PDO('mysql:host=localhost;dbname=shytoonak;charset=utf8','root',''); if(isset($_POST['user_name'])){ $user_old=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'"'); $c=$user_old->fetch()['count(id)']; if($c>0){ $up_user=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'" AND pass="'.md5('sheytoon'.$_POST['pass']).'"'); $c=$up_user->fetch()['count(id)']; if($c>0){ echo 'ok'; }else{ echo 'wrong'; } }else{ echo 'w'; } } مشکل اینجاست که وقتی نام کاربری و رمزعبور درست باشه بازهم عبارت wrong رو بهم برمیگردونه. انگاری شرط دالر سی بزرگتر از صفر ( دومین شرط ) برقرار نیست!! ممنون میشم دوستان راهنمایی بفرمایند. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 4 مرداد، ۱۴۰۰ اشتراک گذاری ارسال شده در 4 مرداد، ۱۴۰۰ این روشی که رفتین برای هش کردن اشتباهه عزیز. php خودش ابزارشو داره. از توابع password_hash و password_veify استفاده کنید. لینک های زیر رو ببینید https://www.php.net/manual/en/function.password-hash.php https://www.php.net/manual/en/function.password-verify.php لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
MR.B4A 126 ارسال شده در 5 مرداد، ۱۴۰۰ سازنده اشتراک گذاری ارسال شده در 5 مرداد، ۱۴۰۰ در ۱۴۰۰/۵/۴ در 20:07، محمدرضا شاهپیری گفته است: این روشی که رفتین برای هش کردن اشتباهه عزیز. php خودش ابزارشو داره. از توابع password_hash و password_veify استفاده کنید. لینک های زیر رو ببینید https://www.php.net/manual/en/function.password-hash.php https://www.php.net/manual/en/function.password-verify.php سلام. استاد آموزشی چیزی در این باره دارید؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
MR.B4A 126
سلام.
من یه برنامه دارم که کاربر برای ورود به اون اول باید ثبت نام کنه
این کدای پی اچ پیه ثبت ناممه
$db=new PDO('mysql:host=localhost;dbname=shytoonak;charset=utf8','root',''); if(isset($_POST['user_name'])){ $user_old=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'"'); $c=$user_old->fetch()['count(id)']; if($c>0){ echo 'old'; } else{ $db->query('INSERT INTO tbl_users SET user_name="'.$_POST['user_name'].'",pass="'.md5('sheytoon'.$_POST['pass'].'",score="'.$_POST['score']).'"'); echo 'ok'; } }
تا اینجا همه چی اوکیه
مشکل زمانی شروع میشه که کاربر میخواد لاگین کنه
این دستوراته لاگینه
$db=new PDO('mysql:host=localhost;dbname=shytoonak;charset=utf8','root',''); if(isset($_POST['user_name'])){ $user_old=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'"'); $c=$user_old->fetch()['count(id)']; if($c>0){ $up_user=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'" AND pass="'.md5('sheytoon'.$_POST['pass']).'"'); $c=$up_user->fetch()['count(id)']; if($c>0){ echo 'ok'; }else{ echo 'wrong'; } }else{ echo 'w'; } }
مشکل اینجاست که وقتی نام کاربری و رمزعبور درست باشه بازهم عبارت wrong رو بهم برمیگردونه.
انگاری شرط دالر سی بزرگتر از صفر ( دومین شرط ) برقرار نیست!!
ممنون میشم دوستان راهنمایی بفرمایند.
لینک ارسال
به اشتراک گذاری در سایت های دیگر
2 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.