ساخت صفحه لاگین و ثبت نام با 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 را برای اتصال به دیتابیس تغییر بدید.

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

 

userAccount.php

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

 

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

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

 

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

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

 

کد CSS

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

 

جمع بندی

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

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

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

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۵۷)

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

  1. mahdi ۱۹ مهر ۱۳۹۸

    خسته نباشید
    من فایل هارو دانلود کردم اما گرافیک پیاده نمیشه
    برای اطمینان کلا فایل style.css پاک کردم
    که تغییری ایجاد نشد
    میشه بهم کمک کنید و بگید ایراد کجاشه

    پاسخ
    1. حسن شفیعی ۱۹ مهر ۱۳۹۸

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

      پاسخ
      1. Mahdi ۱۹ مهر ۱۳۹۸

        یه اتفاق جالب میوفته.
        وقتی تغیرات تو css ایجاد میکنی تغییری تو سایت اتفاق نمیوفته…
        وقتی تاریخچه مرورگر پاک کردم تغییرات اعمال شد…

        پاسخ
      2. حسن شفیعی ۲۰ مهر ۱۳۹۸

        کش مرورگر شماست که مورد مهمی نیست و ارتباطی با سورس کد ندارد.

        پاسخ
  2. mamad ۱۷ شهریور ۱۳۹۸

    سلام
    ببخشید یه سوال دیگه داشتم
    تو php تابعی هست که عکس عمل md5رو انجام بده؟
    ینی یه عبارت هش شده رو از دیتابیس بگیریم بعد معادلشو تو یه اینپوت اکو کنیم

    پاسخ
    1. حسن شفیعی ۱۷ شهریور ۱۳۹۸

      سلام. md5 یک الگوریتم غیرقابل برگشت است و تابعی برای دیکد آن نیست.
      موفق باشید.

      پاسخ
      1. mamad ۱۷ شهریور ۱۳۹۸

        تشکر

        پاسخ
  3. mamad ۱۱ شهریور ۱۳۹۸

    سلام خسته نباشین
    ببخشید یه سوال داشتم
    میشه روی یه فیلدی مثل نام کاربری یه شرط گذاشت که حتما زبانش فارسی باشه؟

    پاسخ
    1. حسن شفیعی ۱۱ شهریور ۱۳۹۸

      سلام ممنون.
      بله می تونید این شرط رو در فایل userAccount.php با regex بررسی کنید
      preg_match(“/^[\x{0600}-\x{06FF}]*$/u”, $name);
      یا الگوی
      “/[^ الف-ی]/i”
      یا
      “/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/”

      موفق باشید.

      پاسخ
      1. mamad ۱۱ شهریور ۱۳۹۸

        خیلی ممنون

        پاسخ
  4. امیر ۲۶ خرداد ۱۳۹۸

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

    پاسخ
    1. حسن شفیعی ۲۶ خرداد ۱۳۹۸

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

      پاسخ
  5. vesalalizadeh ۲۲ خرداد ۱۳۹۸

    اقا تورو خدا من رمز ورود و نام کاربری هستم رو بدم ولی شما این کار رو برام کنید خوب چون من بلد نیستم اگه موافق باشین با این جمیل در تماس باشیم

    پاسخ
    1. حسن شفیعی ۲۲ خرداد ۱۳۹۸

      سلام. موارد مربوط به نصب و راه اندازی شامل هزینه خواهد بود. در صورت تایید اطلاع بدید.

      پاسخ
  6. محمد ۱۴ خرداد ۱۳۹۸

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

    پاسخ
    1. حسن شفیعی ۱۴ خرداد ۱۳۹۸

      سلام . ممنون.
      اگر با html css زیاد آشنا نیستید بهتره سورس کامل را از باکس دانلود زیر همین پست بالای بخش نظرات دریافت و همان را استفاده کنید.
      اگر دستی کدها را کپی می کنید حتما فایل css مربوط به استایل ها را ساخته و همانند زیر در صفحه registration.php و index.php که مربوط به ثبت نام و لاگین هستند و بصورت صحیح آدرس دهی کنید موفق باشید.

      پاسخ
      1. محمد ۱۴ خرداد ۱۳۹۸

        مرسی.والا همین کارو هم کردم باز مشکل داره.مربوط به نصب bootstrap نیست؟

        پاسخ
      2. حسن شفیعی ۱۴ خرداد ۱۳۹۸

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

        پاسخ
  7. امیر ۶ خرداد ۱۳۹۸

    سلام.
    ممنون از آموزشتون.
    اگه بخواهیم دوتا فرم تو یک صفحه باشه باید چیکار کنیم.؟

    پاسخ
    1. حسن شفیعی ۶ خرداد ۱۳۹۸

      سلام.
      با تگ form میتونید یک فرم ایجاد کنید. در هر صفحه ای که نیاز دارید مثلا registration.php یک کپی از همان فرم بگیرید و فقط action را به فایل php مورد نظر تغییر بدید.
      موفق باشید.

      پاسخ
  8. محمد ۱ خرداد ۱۳۹۸

    سلام ممنون بابد آموزش رایگان
    چطور میشه تو این فرم مثلا ۲تا فیلد اضافی دیگه ساخت که در دیتابیس ذخیره بشه؟

    پاسخ
    1. حسن شفیعی ۲ خرداد ۱۳۹۸

      سلام. خوشحالیم که مفید واقع شده.
      ابتدا باید این دوتا فیلد را بصورت صحیح در جدول مورد نظر اضافه کنید.
      در فرم ثبت نام نیز باید ورودی این دو فیلد را اضافه کنید تا بتوانیم آنرا دریافت و ذخیره کنید.که برای اینکار در فایل registration.php و خط ۱۸ میتونید به اینصورت اضافه کنید :

      به جای SOME باید نام فیلد که در دیتابیس مشخص کردید را وارد کنید
      بعد در فایل userAccount.php و خط ۲۸ مقادیر این فیلدها را دریافت کنید تا در دیتابیس ذخیره شوند. مثلا این مقدار را باید اضافه کنید :
      ‘SOME’ => $_POST[‘SOME ‘],
      هر دو SOME بالا نیز باید نام فیلد اضافه شده در دیتابیس باشد

      موفق باشید.

      پاسخ
  9. محمد ۳۰ فروردین ۱۳۹۸

    سلام
    بابت مطلب مفیدتون ممنونم
    چجوری میتونم فرم ورود رو در فایل های دیگه هم پیاده کنم تا اگه به آدرس اون فایل هم رفتیم ریدایرکت کنه به صفحه ورود و بدون ورود مانع نمایش اون فایل بشه؟

    پاسخ
    1. حسن شفیعی ۳۰ فروردین ۱۳۹۸

      سلام. خوشحالیم که مفید واقع شده.
      هنگام لاگین کاربر یک سیشن بصورت $_SESSION[‘sessData’] برای کاربر ست می شود تا وضعیت لاگین بودن آن را بررسی کنیم.
      در صفحاتی که نیاز دارید کاربر قبل از مشاهده آن در سیستم لاگین شود باید سیشن بالا را با تابع isset در یک شرط if چک کنید که اگر شرط false شد که یعنی کاربر در سیستم لاگین نیست و سیشن معتبر ندارد در اینصورت در بلاک کد شرط با تابع header کاربر را به صفحه لاگین هدایت می کنید.

      از آموزش های زیر برای توسعه سیستم استفاده کنید.
      تابع isset در php
      آموزش کار با session در php
      ریدایرکت در php

      موفق باشید.

      پاسخ
  10. faeze ۲۷ اسفند ۱۳۹۷

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

    پاسخ
  11. faeze ۲۷ اسفند ۱۳۹۷

    سلام از شما بخاطر کد کاملتون تشکر میکنم.ببخشید من اگه خواسته باشم status و modified رو از جدول حذف کنم کدوم قسمت کد رو باید حذف کنم که خطا نده؟

    پاسخ
    1. حسن شفیعی ۲۷ اسفند ۱۳۹۷

      سلام. فایل user.php و userAccount.php به دنبال این کلمات باشید و تغییر/حذف کنید.
      موفق باشید.

      پاسخ
  12. faeze ۲۶ اسفند ۱۳۹۷

    شما برام پروژه php انجام میدین؟

    پاسخ
    1. حسن شفیعی ۲۶ اسفند ۱۳۹۷

      اطلاعات تکمیلی را از فرم تماس با ما ارسال کنید

      پاسخ
  13. faeze ۲۶ اسفند ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۲۶ اسفند ۱۳۹۷

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

      پاسخ
  14. علی ۶ مرداد ۱۳۹۷

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

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

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

    با تشکر

    پاسخ
    1. حسن شفیعی ۶ مرداد ۱۳۹۷

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

      موفق باشید.

      پاسخ
  15. die ۱۶ تیر ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۱۶ تیر ۱۳۹۷

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

      موفق باشید.

      پاسخ
  16. آرش ۹ تیر ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۹ تیر ۱۳۹۷

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

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

      موفق باشید.

      پاسخ
  17. مهدی ۷ تیر ۱۳۹۷

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

    پاسخ
  18. مهدی آرش ۷ تیر ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۷ تیر ۱۳۹۷

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

      موفق باشید.

      پاسخ
  19. saeed sayad ۱۸ خرداد ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۱۹ خرداد ۱۳۹۷

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

      پاسخ
  20. حسین مرتضی زاده ۲۸ اردیبهشت ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۲۸ اردیبهشت ۱۳۹۷

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

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

      موفق باشید.

      پاسخ
  21. علی ۲۴ اردیبهشت ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۲۴ اردیبهشت ۱۳۹۷

      سلام .

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

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

      edit.php

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

      موفق باشید.

      پاسخ
  22. طه وحیدی مهر ۱۸ اردیبهشت ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۱۸ اردیبهشت ۱۳۹۷

      سلام . اطلاعات ورود به دیتابیس (یوزرنیم , پسورد و نام دیتابیس) را درست وارد کنید.

      موفق باشید.

      پاسخ
  23. محمد ایمانی ۳ اردیبهشت ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۳ اردیبهشت ۱۳۹۷

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

      موفق باشید.

      پاسخ
  24. محمد ایمانی ۲ اردیبهشت ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۲ اردیبهشت ۱۳۹۷

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

      موفق باشید.

      پاسخ
  25. سعید صیاد ۳۰ فروردین ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۳۰ فروردین ۱۳۹۷

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

      پاسخ
  26. سعید ۱۷ فروردین ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۱۷ فروردین ۱۳۹۷

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

      موفق باشید.

      پاسخ
      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’

        پاسخ
      2. حسن شفیعی ۱۸ فروردین ۱۳۹۷

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

        موفق باشید.

        پاسخ
      3. سعید ۱۸ فروردین ۱۳۹۷

        درست شد،ممنون از لطفتون
        پایدار باشید

        پاسخ
  27. علی ۸ فروردین ۱۳۹۷

    سلام
    ببخشید من توی یک صفحه دیگه برای ورود به صفحه ورود لینک دادم طوریکه در 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 در صورتیکه من میخوام به همون صفحه ریدایرکت بشه .لطفا کمک بفرمایید.

    پاسخ
    1. حسن شفیعی ۸ فروردین ۱۳۹۷

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

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

      موفق باشید.

      پاسخ
      1. علی ۹ فروردین ۱۳۹۷

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

        پاسخ
      2. حسن شفیعی ۹ فروردین ۱۳۹۷

        خواهش میکنم.

        در فایل user.php بعد از خط ۱۸م تابع زیر رو اضافه کنید

        $conn->set_charset("utf8")

        موفق باشید.

        پاسخ
  28. علی ۱ فروردین ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۱ فروردین ۱۳۹۷

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

      موفق باشید.

      پاسخ
  29. علی ۲۶ آذر ۱۳۹۶

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

    پاسخ
    1. حسن شفیعی ۲۶ آذر ۱۳۹۶

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

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

      پاسخ
  30. tara ۲۵ شهریور ۱۳۹۶

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

    پاسخ
    1. حسن شفیعی ۲۵ شهریور ۱۳۹۶

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

      پاسخ
      1. مهدی ۲۶ خرداد ۱۳۹۷

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

        پاسخ
      2. حسن شفیعی ۲۶ خرداد ۱۳۹۷

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

        پاسخ
دوره های آموزشی