طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

ساخت صفحه لاگین و ثبت نام با php


ساخت صفحه لاگین و ثبت نام با php

صفحه لاگین یکی از امکانات هر وبسایت کاربر محوری است. ساخت صفحه لاگین و ثبت نام با php بسیار آسان است . در این آموزش ، به شما نشان می دهیم چطور یک سیستم لاگین را توسط php و mysql ایجاد کنید.

اسکریپت php ما ثبت نام کاربر و ورود را با استفاده از mysql و سئشن های php ایجاد کرده است. همچنین ، اعتبارسنجی ورودی های کاربر در هنگام ثبت نام و لاگین از طریق سرور-ساید انجام می شود.

قبل از اینکه آموزش را شروع کنیم ، نگاهی به فایل های سیستم لاگین میاندازیم

  • User.php – مدیریت کار های مربوط به دیتابیس
  • UserAccount.php – مدیریت ثبت نام ، ورود ، خروج با درخواست های کلاس User
  • Index.php – نمایش فرم لاگین / اطلاعات کاربر
  • Registration.php – نمایش فرم ثبت نام
  • Style.css – استایل دهی به فرم ثبت نام و لاگین

ساخت جداول دیتابیس

یک جدول برای ذخیره اطلاعات کاربران نیاز داریم. کد sql زیر یک جدول users با ستون های مورد نیاز ایجاد می کند.

کلاس User (user.php)

کلاس User همه کار های مربوط به دیتابیس را مدیریت می کند .

که شامل ۳ متد __construct() ، getRows() و insert() است . تابع __construct() برای اتصال به دیتابیس استفاده می شود . تابع getRows() برای خواندن اطلاعات کاربران از دیتابیس و تابع insert() برای اضافه کردن اطلاعات کاربران به دیتابیس هنگام ثبت نام استفاده شده است. حتما مقادیر $dbHost,$dbusername,$dbPassword,$dbName را برای اتصال به دیتابیس تغییر بدید.

برای کپی صحیح و کامل کدها ، دابل کلیک کرده تا وارد محیط سفید و کپی شوید در غیر اینصورت امکان دارد اجرای کدها با مشکل روبرو شود

 

حتما بخوانید  ساخت لینک ادامه مطلب با php

userAccount.php

این فایل درخواست ثبت نام ، لاگین و خروج (logout) از index.php و registration.php را کنترل می کند . کلاس User برای قرار دادن اطلاعات کاربران در جدول users استفاده می شود. همچنین ، Session ها برا لاگین نگه داشتن کاربر در سیستم به کار می رود.

 

فرم لاگین و اطلاعات کاربر (index.php)

در ابتدا فایل index.php یک صفحه لاگین و لینک ثبت نام را نشان می دهد . بعد از لاگین ، آی دی کاربر از طریق سئشن قابل دسترس و اطلاعات کاربر از طریق کلاس User نمایش داده می شود .

 

حتما بخوانید  ساخت قالب ایمیل داینامیک در PHP

فرم ثبت نام (registration.php)

فایل حاوی فرم html ثبت نام و یک action به فایل userAccount.php است.

 

کد CSS

برای استایل دهی به به فرم لاگین و ثبت نام استفاده شده است.

 

جمع بندی

امیدواریم از راهنمایی مرحله به مرحله و مثال اسکریپت ساخت صفحه لاگین و ثبت نام با php لذت برده باشید . شما به راحتی می توانید فرم ثبت نام و لاگین با php و mysql را در زمان بسیار کم پیاده کنید . همچنین با استفاده از آموزش “ساخت سیستم فراموشی رمزعبور با php” می توانید امکانات دیگه ای به صفحه لاگین خود اضافه کنید

برای دانلود پروژه کامل ساخت صفحه لاگین و ثبت نام با php از قسمت زیر اقدام کنید

امیدوارم همیشه موفق باشید

حسن شفیعی
مدرس ، پنتستر ، توسعه دهنده اپلیکیشن های تحت وب ، عضو مرکز حامی نخبگان و از مدیران و اعضای رسمی تیم امنیتی آشیانه هستم . علاقه خاصی به زبان php و امنیت شبکه و لینوکس دارم و هر روز تلاش می کنم به این حوزه ها مسلط تر شوم و اطلاعاتم را در وب به اشتراک بگذارم

دیدگاه کاربران

40 پاسخ به “ساخت صفحه لاگین و ثبت نام با php”

  1. tara گفت:

    سلام و خسته نباشید
    من این کدارو روو دیتابیس خودم تست میکنم موقع ثبت نام خطای Some problem occurred, please try again رو برام میاره!
    میشه راهنماییم کنین؟
    ممنون:)

    2+
    • حسن شفیعی گفت:

      سلام . ممنونم .
      این ارور رو برای بخش insert در نظر گرفتیم . اگر عملیات insert اطلاعات کاربر در دیتابیس به درستی انجام نشه ، با این ارور مواجه می شید. دلیلش هم نبودن بعضی فیلد ها یا هم نام نبودن اونها مطابق با اون چیزی که در کدها تعریف کردیم، است . فیلد های از پیش تعریف شده در خط ۲۴ فایل userAccount.php قرار داده شدند.
      برای حل این مشکل حتما از کد sql بالا که برای ساخت جدول استفاده کریم ، بهره ببرید تا ایشالا مشکلتون حل بشه
      موفق باشید.

      1+
      • مهدی گفت:

        سلام و درود به شما استاد گرامی و تمامی کاربران
        قبلا از شما بابت مطلب تشکر می کنم و اگر مقدور هست من هم این مشکل را دارم بیشتر توضیح بدید بتونم مشکل حل کنم
        تشکر و قدردان شما هستم .

        0
        • حسن شفیعی گفت:

          سلام . خواهش می کنم . مشکل اصلی نبودن دیتابیس و تیبل صحیح هستش که سعی کنید از کد تیتر ساخت جداول دیتابیس برای ساخت جدول استفاده کنید تا انشالا مشکل شما حل میشه.
          موفق باشید.

          0
  2. علی گفت:

    سلام من توی هاست سایتم قرار میدم می خواستم بدونم من هم باید private $dbHost = “localhost”; استفاده کنم یا چیز دیگه ای بنویسم چون به دیتابیسم وصل نمیشه ولی از phpmyadmin می تونم دیتابیس و جدولی که ساختم رو ببینم

    0
    • حسن شفیعی گفت:

      سلام . بله همون پیشفرض localhost قرار بدید . مطمینا مشکلی پیش نخواهد اومد اگر اسم تیبل ها و یوزر پسورد رو درست وارد کرده باشید
      همچنین اگر به تازگی و دستی دیتابیس و یوز ر ساختید حتما چک کنید که privilege های لازم رو به یوزر داده اید

      موفق و پیروز باشید

      1+
  3. علی گفت:

    سلام من وقتی میخوام وارد بشم از صفحه ورود این خطا رو میده.
    Fatal error: Call to a member function fetch_assoc() on boolean in \user.php on line 64

    0
    • حسن شفیعی گفت:

      سلام . این مورد برای زمانیه که $result مقدار false داشته باشه و کویری احرا نشه . پس حتما توجه کنید مقداری در دیتابیس ذخیره شده باشد و یک var_dump هم بگیرید تا متوجه خطا بشید.

      موفق باشید.

      0
  4. علی گفت:

    سلام
    ببخشید من توی یک صفحه دیگه برای ورود به صفحه ورود لینک دادم طوریکه در location نوشته شده
    http://localhost/site/login.html?redirect=http://localhost/site/news-47.html و در فایل userAccount.php نوشتم
    if(isset($_GET[‘redirect’])){
    header(“Location:”.$_GET[‘redirect’].””);
    }else{
    header(“Location:index.php”);
    }
    از آنجاییکه متاسفانه get رو نمی شناسه ریدایرکت میکنه به صفحه index.php در صورتیکه من میخوام به همون صفحه ریدایرکت بشه .لطفا کمک بفرمایید.

    0
    • حسن شفیعی گفت:

      سلام . خب شما از طریق login.html این دستور رو در گت وارد کردید ولی کدها رو در useraccont.php نوشتید که صحصح نیست . محتوایات متد get از همان فایل خوانده میشه نه از فایل دیگر.
      باید آدرس شما به صورت
      useraccount.php?redirect= باشه تا بتونید کاربر رو هدایت کنید .

      اگر اطلاعات رو از login.html به فایل useraccount.php ارسال میکنید باید از فرم ها (متغیر$_POST و $_GET در php ) استفاده کنید و مقدار url ی که قصد دارید هدایت بشه رو بصورت یک فیلدمتنی ارسال کنید .

      موفق باشید.

      0
      • علی گفت:

        خیلی ممنون از شما.یک سوال دیگه:
        میخوام وقتی ثبت نام میکنم همونطوری که مثلا نام رو فارسی می نویسم در دیتابیس هم فارسی نوشته بشه.نه به اینصورت علی Ú©
        قبلا بالای فایلهای php می نوشتم
        mysql_query(“SET CHARACTER SET utf8”);
        و درست می شد الان نمیدونم کجا باید بنویسم این کد رو.

        0
  5. سعید گفت:

    سلام وقتتون بخیر
    من برای تست کاربرو ثبت میکنم این ارور رو میده”Parse error: syntax error, unexpected ‘)’ in C:\xampp\htdocs\shateloffice.ir\userAccount.php on line 19″ میشه راهنمایی کنید لطفا”

    0
    • حسن شفیعی گفت:

      سلام . ممنون.
      کدها مشکلی نداره فقط هنگام کپی به مشکل برخوردید .
      برای کپی صحیح کدها حتما روی کدها دابل کلیک کنید تا وارد محیط سفید رنگ بشید و بعد کد را کپی کنید تا هیچ مشکلی نباشه .
      همچنین می توانید از باکس دانلود کل پروژه رو دریافت کنید.

      موفق باشید.

      1+
      • سعید گفت:

        همونطور که فرمودید کدها رو دانلود کردم اما باز هم بعد از ثبت نام کاربر جدید این ارور رو میده:
        Warning: mysqli::__construct(): (HY000/1049): Unknown database ‘net’ in C:\xampp\htdocs\shateloffice.ir\user.php on line 18
        Failed to connect with MySQL: Unknown database ‘net’

        0
        • حسن شفیعی گفت:

          دوست عزیز شما باید اطلاعات دیتابیس خودتون رو در فایل user.php ویرایش کنید تا به دیتابیس شما متصل بشه کمی دقت کنید در متن خطا هم مشخص شده که دیتابیس رو پیدا نکرده .

          موفق باشید.

          1+
  6. سعید صیاد گفت:

    سلام میبخشید کد نویسی سایتمون رو تو کدوم فایل و در ادامه کدوم کد باید بنویسیم

    0
    • حسن شفیعی گفت:

      سلام
      یک فایل حدید برای کلاس هاتون بسازید و در نهایت فایل های صفحات مختلف رو ساخته و کلاس های پایه و مورد نطر رو اینکلود کنبد و پیش برید.
      موفق باشید.

      0
  7. محمد ایمانی گفت:

    سلام
    من یکم تازه کردم.همه کارارو انجام دادم اما صفحات فراخوانی نمیشه.کد خطا ۴۰۴ میده میشه بگید مشکل چیه

    0
    • حسن شفیعی گفت:

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

      موفق باشید.

      0
  8. محمد ایمانی گفت:

    سلام.ممنون ازراهنماییتون.انجامش دادم.فقط مشکل اینجاست که بعداز ثبت نام یا ورود توهمون صفحه میمونه و به صفحه خانگی برنمیگرده

    0
    • حسن شفیعی گفت:

      سلام . داشبورد کاربر رو باید خودتون طراحی کنید و بعد از ثبت نام یا لاگین به صفحه کاربری با استفاده از header هدایت کنید.

      موفق باشید.

      0
  9. طه وحیدی مهر گفت:

    سلام ببخشید من دیتابیس و جدولشو ایجاد کردم ولی وقتی میخوام ثبت نام کنم ارور faild to connect with my sql رو میده. لطفا راهنمایی کنید

    0
  10. علی گفت:

    سلام ،من از کد شما استفاده کردم ،حالا میخام فرم ویرایش و حذف رو اضافه و استفاده کنم ،نحوه فراخوانی رو نسبت به فانکشن get-row رو توضیح میدهید . تشکر

    0
    • حسن شفیعی گفت:

      سلام .

      برای فراخوانی فرم ویرایش توسط متد getrows کافیه آی دی رو بهش پاس بدید تا تمام اطلاعات یوزر رو برای شما برگشت بده به اینصورت

      در صورتی که قصد دارید کل اطلاعات سطر کاربر رو دریافت کنید بهتره خط $conditions['select'] رو کامنت کنید.

      edit.php

      برای حذف هم مجددا باید یک صفحه لیست بسازید با استفاده از متد getrows بدون دادن هیچ گونه پارامتر $condition ی تمام یوز ها رو با حلقه foreach لیست کنید و برای هر کدام یک دکمه حذف به اینصورت delete.php?uid= ایجاد کنید و در نهایت یک فایل delete.php دیگر ایجاد و در آنجا ورودی گت که id یوز است رو دریافت و با کویری DELETE حذف کنید و بعد از حذف نیز به صفحه لیست دوباره هدایت بشید (header) (ریدایرکت با php)

      موفق باشید.

      0
  11. حسین مرتضی زاده گفت:

    سلاموقت بخیر آقای شفیعی اگر ممکن هست یک راه ارتباطی برای من برای ارتباط با خودتون ارسال کنید
    یک صحبتی داشتم باهاتون

    7+
    • حسن شفیعی گفت:

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

      برای تماس با ما از طریق فرم تماس با ما موضوع بحث رو ارسال کنید که از اون طریق توضیحات تکمیلی تر برای شما ارسال میشه .

      موفق باشید.

      4+
  12. saeed sayad گفت:

    برای تعیین دسترسی برای هر کاربر مطلب جدایی دارید؟اگر ندارید میشه یه توضیح بدید؟

    0
    • حسن شفیعی گفت:

      سلام . همچین موردی در سایت منتشر نشده . میتونید با بررسی اسکریپت ها یا جستجو موارد مشابه رو پیدا کنید .
      موفق باشید.

      1+
  13. مهدی آرش گفت:

    سلام
    بعد از ثبت نام این پیغام رو میده بهم
    All fields are mandatory, please fill all the fields
    همه اطلاعات رو هم پر میکنم باز همین پیغام رو میده بهم

    0
    • حسن شفیعی گفت:

      سلام . احتمالا یکی از فیلدهارو تغییر دادید یا اینکه حذف کردید که سعی کنید ابتدا سورس کامل رو دانلود و تست کنید و اگر آشنایی مقدماتی به بالا در php دارید در خط ۹م فایل userAccount.php تغییرات رو لحاظ کنید.

      موفق باشید.

      0
  14. مهدی گفت:

    ممنون از پاسخ سریع شما
    درست شد
    خیلی ممنون

    1+
  15. آرش گفت:

    سلام ببخشید فایل css رو چجوری ذخیره کنیم؟

    0
    • حسن شفیعی گفت:

      سلام . از باکس دانلود آخر پست سورس کامل رو دانلود و استفاده کنید

      مطمینا آدرسی دهی فایل استایل شما اشتباه بوده که با دانلود سورس کد و اجرای اون حل میشه

      موفق باشید.

      0
  16. die گفت:

    سلام
    چجوری این کد های css رو به سایت اضافه کنیم ؟؟؟

    0
    • حسن شفیعی گفت:

      سلام . به اینصورت تگ رو به فایل index.php اضافه کنید

      موفق باشید.

      0
  17. علی گفت:

    با سلام خدمت شما
    من فیلد وبسایت در قسمت ثبت نام دارای ۴ بخش یوزرنیم و اسم و ایمیل و پسوورد هست که من میخوام یه صفحه لاگین درست کنم و کدای شما هم هرجور دستکاری کردم نشد! و میخواستم که تو صفحه ثبت نام هیچ اروری ثبت نشه و اطلاعات تو دیتابیس ذخیره بشه چون با جاوا اسکریپت خطاهارو میگم به کاربر و نیازی به اون ندارم دیگ! و پس از ثبت نام بره مستقیم به صفحه ای به نام Success

    و در صفحه لاگین هم برای لاگین کردن سه تا فیلد یوزرنیم و ایمیل و پسوورد وجود داره و میخوام بعد از لاگین کردن ، اطلاعات دیتابیس و بخونه و تنها در صورتی ارور بده که پسوورد و یوزرنیم اشتباه باشه!

    ممنون از وبسایت عالیتون
    منتظر جواب هستم

    با تشکر

    0
    • حسن شفیعی گفت:

      سلام .برای ویرایش نیازه که با شی گرایی آشنایی داشته باشید.
      اگر نیاز به نمایش خطا ندارید میتونید در فایل registration.php خط ۱۲ را حذف یا کامنت کنید. و همچنین خطاهای مربوط به لاگین رو هم در خط ۳۰ فایل index.php میتونید بردارید.
      برای هدایت کاربر بعد از ثبت نام موفق میتونید بعد از خط ۳۵ فایل userAccount.php تابع header رو برای ریدایرکت کردن کاربر به صفحه مورد نظر استفاده کنید (ریدایرکت در php)

      موفق باشید.

      0

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود رایگان (هدیه ویژه)

کتاب آموزش زبان برنامه نویسی PHP را دانلود و همین امروز یادگیری را شروع کن و به جمع برنامه نویسان ملحق شو ;)

دانلود رایگان کتاب

آموزش طراحی وب سایت

نظر کاربران عزیز

آموزش های آنلاین در چه زمینه ای تهیه کنیم ؟

نظر شما برای ما بسیار مهم است

Loading ... Loading ...

مجوزهای ما


logo-samandehi نماد اعتماد الکترونیک

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

دانلود کتاب

عضویت در خبرنامه