حمیدرضا

بررسی وجود یوزرنیم در دیتابیس برای فرم ثبت نام php

حمیدرضا ۱۳۹۵/۱۲/۲۲ 360 زبان برنامه‌نویسی پی‌اچ‌پی

سلام.

من فرضا الان میخوام توی بخش ثبت نام اسکریپتم یه تیکه کدی بزارم که بررسی کنه که آیا یوزرنیمی که کاربر وارد میکنه از قبل توی دیتابیس وجود داره یا نه؟

چطوری میشه اینکارو کرد؟ چنتا روش رو امتحان کردم جواب نداد.

پاسخ‌ها به این تاپیک
محمدحسین زرچی
محمدحسین زرچی
۱۳۹۶/۱۲/۰۲
سلام شما خیلی راحت میتونید این کارو انجام بدید بدین صورت که یک دیتابیس بسازید و مثلا برای تست کارتون یک جدول حاوی دوفیلد قرار دهید ؛ موقع ثبت نام کاربر مقدار فیلد ثبت نامی را گرفته و یک جستجو در پایگاه داده راه بیندازید اگر موجود بود که قبلا ثبت نام کرده واگر نبود اجازه ثبت نام به او بدهید
vahid
vahid
۱۳۹۵/۱۲/۲۳

 سلام دوست عزیز

شما باید اول مقادیر فرمو که کاربر وارد میکنه از طریق متد post بگیری و میریزیشون توی یه variable :

if(isset($_POST['your submit button name'])){
    $username =$_POST['username'];  ----> گرفتن یوزرنیم کاربر از طریق متد پست
    $password =$_POST['password'];  ----> گرفتن پسورد کاربر از طریق متد پست

بعدش باید به دیتابیس متصل بشی و لیست تمام یوزرنیم ها و پسوردهارو با ورودی کاربر چک کنی به این صورت که :

1- گرفتن یوزرنیم ها و پسورد ها از دیتابیس

 $query_sen = "SELECT * FROM admin";     // query sentence (ادمین نام table  میباشد)
 $query = mysqli_query($db, $query_sen); // query process

2-ایجاد یک آرایه از اطلاعات گرفته شده از دیتابیس و مقایسه ورودی های کاربر

  if($query){ // if query was ok
   while($fetch = mysqli_fetch_assoc($query)){ 
   //ایجاد یک آرایه از اطلاعات داخل دیتابیس برای مقایسه بااطلاعات ورودی کاربر 

      if($password !== $fetch['password'] || $username != $fetch['username'] ){
       //مقایسه ورودی های کاربر با مقادیر داخل دیتابیس

          header("Location: ../login.php"); 
       // هدایت کاربر به یه صفحه دیگه در صورت اشتباه بودن اصلاعات وارد شده

      }elseif($password === $fetch['password'] && $username == $fetch['username']){
          header("Location: ../admin/admin.php");
          //اجازه ورود به کاربر در صورت درست بودن اطلاعت وارد شده
        }
  }
}

فقط این نکته رو در نظر بگیرید که password باید رمزگذاری بشه و بعد در دیتابیس ذخیره بشه و درواقع password ورودی کاربر باید با پسورد رمزگذاری شده در دیتابیس مقایسه بشه.

موفق باشید