MR.B4A 220 ارسال شده در 25 مهر، 2021 اشتراک گذاری ارسال شده در 25 مهر، 2021 سلام. من یه برنامه دارم که کاربر برای ورود به اون اول باید ثبت نام کنه این کدای پی اچ پیه ثبت ناممه $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,631 ارسال شده در 26 مهر، 2021 اشتراک گذاری ارسال شده در 26 مهر، 2021 این روشی که رفتین برای هش کردن اشتباهه عزیز. 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 220 ارسال شده در 26 مهر، 2021 سازنده اشتراک گذاری ارسال شده در 26 مهر، 2021 در ۱۴۰۰/۵/۴ در 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 220
سلام.
من یه برنامه دارم که کاربر برای ورود به اون اول باید ثبت نام کنه
این کدای پی اچ پیه ثبت ناممه
$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 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.