ساخت صفحه ورود و ثبت نام

آموزش ساخت فرم ثبت نام با php

در این آموزش می خوام به شما نحوه ساختن سیستم ثبت نام با php در وبسایت رو آموزش بدم. اگرچه شاید برخی افراد فکر کنن کار سختی هست اما در این آمورش خواهند دید که ساده تر از چیزی است که فکر می کنن و با کمی کد نویسی ساده امکان پذیره . در عمل شما نیاز به یک جدول و یک سرور php دارید .  در این آموزش شما مطالب زیر رو یاد می گیرید:

  1. نحوه ایجاد فایل نصب برای اسکریپت
  2. نحوه اتصال به پایگاه داده
  3. نحوه ثبت نام کاربر
  4. ذخیره اطلاعات در پایگاه داده
  5. ورود یا همون login کاربر
  6. نحوه شناسایی کاربر در صفحات
  7. نحوه خروج از سیستم

قبل از شروع کار، شما به یک پایگاه داده نیاز دارید تا در برنامه از آن استفاده کنید. در ابتدا شما می توانید یک پایگاه داده با نام myDB ایجاد کنید در این پایگاه داده شما نیاز به یک جدول دارید . در این جدول نیز باید اطلاعات زیر وجود داشته باشند :

  1. (userid (auto increment
  2. username
  3. password
  4. email address

ساختار فایل install.php

حالا ما ساختار کلی از جدول را داریم ، اکنون می توانیم دستورات زیر را در mysql  یا از phpmyadmin اجرا کنیم تا جدول ساخته شود. دستورات یا کدهای لازم برای ساخت جدول “usersystem” در پایگاه داده”myDB” رو می تونید در سطر بعدی ببینید :

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

ساختار فایل db.php

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

ابتدا ما ()sesssion_start را در خط اول می نویسیم . این دستور ما رو برای تشخیص کاربر وارد شده کمک خواهد کرد. در کل به عبارتی  session  برای هر کاربر یک آی دی ایجاد می کنه تا توسط اون کاربران در سیستم شناخته بشن تقریبا مانند cookie  در مرورگر برای وبسایت .

این کد به شکل زیر استفاده میشه :

در مرحله بعد باید با پایگاه داده اتصال برقرار کنیم . از توابع ()mysql_connect و ()mysql_select_db  برای اینکار استفاده می کنیم . این دو خط  هم به صورت زیراستفاده میشن :

حالا تابع ()user_login رو درست می کنیم که کاربر خواست وارد بشه از اون استفاده کنیم. کدهای لازم برای ورود کاربر و کدهای لازم برای بررسی نام کاربری و کلمه عبور رو می تونید در ادامه ببینید :

حالا میریم سراغ قسمت ثبت نام کاربر :

ساختار فایل register.php

حالا ما نیاز به یک صفحه داریم تا کاربر بتونه ار اونجا ثبت نام خودش رو انجام بده. این فایل شامل کدهای HTML و PHP است که به صورت زیر است:

حال نیاز داریم اطلاعات دریافت شده از کاربر رو  پاکسازی و سپس در پایگاه داده ثبت کنیم . در این کد ابتدا پر بودن فیلدهای username ، password و email بررسی می شود و سپس از تکراری نبودن username اطمینان حاصل می کند. کد زیر را ابتدای فایل register.php  و قبل از کدهای Html قرار دهید .

ساختار فایل login.php

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

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

ساختار فایل logout.php

این آموزش به صورت ساده بیان شده و برای استفاده در پروژه های تجاری و وبسایت هایی که نیاز به امنیت زیادی دارن توصیه نمی شود.

فایلهای مربوط به آموزش ساخت فرم ثبت نام (فایلها کامل و تست شده است)

کدها و فایل مربوطه در تاریخ ۱۳۹۲/۳/۳۰ بروز رسانی شده اند.

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


برگرفته : exforsys


نظر شما چیه؟

۱۲۱ دیدگاه

  1. احمد

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

    • مرتضی

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

  2. داداش

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

    • مرتضی

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

  3. امیر چرمهینی

    با سلام وعرض ادب وارادت
    و تقدیر وتشکر از بابت آموزش شما
    وباز هم تشکر بخاطر گرداوری این مطالب فوق العاده و بی نظیر
    من سوال از محضر شما استاد عزیز دارم واونهم اینه
    من بتازگی شروع بکار کردن با زبان php و mysql کردم و هرچقدر دنبال اموزش فرم ثبت نام گشته ام در حد مبتدی چیزی نیافتم اما به نظرم شما مطالب رو بسیار شکافته تر و کامل تر آموزش داده اید که از این بابت باز هم از شما تشکر میکنم
    اما من یه سوال دارم اونهم همون قسمت اولش هست و ساخت پایگاه داده هستش یعنی من این کد رو

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

  4. امیر چرمهینی

    باز هم سلام و عرض ادب وارادت
    عذر میخوام اگه سوالاتم زیاد شدن
    اما من در wampserver پایگاه داده میسازم در قسمت phpmyadmin اما نحوه ساختن پایگاه داده ای که جواب بده به فرم های php رو نمیدونم یعنی تا بحال نتونستم table ویا جدول روی mysql بسازم
    اگه امکانش هست به نحوی منو راهنمایی کنین تا بتونم یه پایگاه داده در wampserver به شکلی بسازم که به فرم هایی که با php مینویسم جواب بده

    پیشاپیش از شما ممنونم و متشکر

    • مرتضی

      سلام ، خواهش می کنم خوشحال میشم که بتونم کمکتون کنم و ممنون از اینکه با سوالتون باعث کاملتر شدن این مطلب شدید.
      پایگاه داده رو باید به صورت دستی ایجاد کنید که اینجا اسمش رو myDB گذاشتیم. یک کد برای نمونه هم براتون میذارم که کافی اون رو تو یک فایل کپی کرده و اجرا کنید تا پایگاه داده ساخته بشه ، این کد رو خودم تو xampp تست کردم :

      موفق باشید.

  5. امیر چرمهینی

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

    با تقدیر وتشکر
    شاد وپیروز باشید

    • مرتضی

      خواهش دوست عزیز . تو محل نصب wamp یک پوشه به نام www یا htdoc وجود داره که فایل رو داخل اون بریزید. اسمش رو هم index.php یا هر فایل دیگه که پسوندش php باشه بذارید. بعد تو مرورگر آدرس رو به این شکل بزنید : localhost/index.php . اگه تمام مراحل رو درست انجام بدید این پیغام براتون میاد : Users Table Created Successfully که جدول شما ایجاد شده. اگر هم ایجاد نشه خطا رو می نویسه که معلوم میشه اشکال از کجاست.

  6. امیر چرمهینی

    با سلام و عرض ادب واحترام حضور برادر گرامی وبزرگوارم
    واقعا ممنونم که تا این حد دلسوزانه منو راهنمایی میکنین
    اما در نهایت این ارور رو میده
    ERROR: Can’t Select Database;
    ممنون میشم اگه راه حلی هست توی این مرحله منو راهنمایی کنین تا بتونم کم کم با یه پایگاه داده ارتباط برقرار کنم
    چون خیلی وقته که دارم باهاش کلنجار میرم اما نتونستم یعنی توی یه محیط روستایی دور افتاده زندگی کردن این مشکلات رو هم داره

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

    • فؤاد طهماسبی

      سلام، دوست عزیز این خطا به این خاطر هست که شما یا پایگاه داده رو به صورت دستی در phpmyadmin ایجاد نکردید و یا اینکه با اسمی غیر از myDB ایجاد شده. این خطا به این معنی هست که php با سرور پایگاه داده ارتباط برقرار کرده ولی نمیتونه پایگاه داده ای با اسم myDB پیدا کنه.

  7. علی

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

  8. امیر چرمهینی

    با سلام و عرض ادب حضور شما
    اقای طهماسبی
    من یه فایل php با نام myDB ساختم و انچه را که اقای مرتضی در راهنمایی فرموده بودن بنده در اون نوشتم و در پوشه www با همان نام myDB.php ذخیره کردم و در نهایت هم در ادرس بار مرورگر اینو نوشتم
    http://localhost/myDB.php
    اما اون جواب رو بهم داد
    من واقعا تازه کارم در php و حدود ۲ ماهه که شروع کردم اما هنوز نتونستم پایگاه داده ای بصورت دستی بسازم ولی با خود ومپ سرور در phpmyadmin با گزینه create new database میسازم و حتی وردپرس و جوملا رو نصب کردم و فایلهای php رو هم که از اموزشها مینویسم اجرا میشن بصورت کامل
    اما بیشتر دنبال یاد گرفتن فرمها هستم و برقراری ارتباط بین فرمها و اینکه پایگاه داده بهشون جواب بده اما متاسفانه من خیلی تازه کارم و تمام مطالب آموزشی هم هرچقدر سرچ زدم در سطح بالاهستن و بصورت شکافته شده و کامل نیستن

    باتشکر از لطف شما
    اگه راه حلی پیدا شد لطفا منو راهنمایی کنین
    منتظر راهنماییهای شما عزیزان هستم
    شاد وپیروز باشید

    • فؤاد طهماسبی

      سلام، خواهش میکنم.
      خیلی خوشحالم که شما با اشتیاق دنبال یادگیری PHP هستید و فقط به تئوری اون اکتفا نکردید. چند نکته میگم شاید بتونه کمک کنه سریعتر مراحل رو سپری کنید.
      ۱- w3schools حتما مطالعه کنید.
      ۲- از مطالعه منابع و سایت های انگلیسی زبان غافل نشید.
      ۳- سعی کنید اسکریپت های OpenSource ساده و کم حجم دانلود کنید و کد های نوشته شده در اونها رو تحلیل کنید و از روش اونها هم بهره ببرید.
      ۴- یک پروژه کوچک برای خودتون انتخاب کنید و از ابتدا شروع به کد نویسی کنید. در هر مرحله که به مشکل بر خوردید سعی کنید که اول اونو یاد بگیرید.

      سعی میکنیم بزودی مطلبی هم در مورد SQL و نحوه برقراری ارتباط با MySQL و استفاده از فرمها در PHP بنویسیم.

  9. امیر چرمهینی

    باز هم سلام
    و تشکر از شما دو عزیز بزرگوارم
    من با راهنمایی های شما عزیزان بالاخره موفق به ساخت یه پایگاه داده شده
    فقط اگه امکان داره تصویر رو از لینک بگیرید و در جواب بهم بگین که ایا درست هست یا نه
    http://uplod.ir/ku4mv5uici0h/Capture.PNG.htm
    من اول در قسمت phpmyadmin واز گزینه create new database یدونه ساخت با اسم myDB و بعدش فایل اموزش شما رو که دز قسمت نظرات لطف کریدن و بهم دادین رو رو با نام myDB.php درون اون دیتا بیس ساخته شده در پوشه www گذاشتم و در ادرس بار نوشتم localhost/myDB و اون صفحه ای امد که تصویرش رو برای شما گذاشتم

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

    • فؤاد طهماسبی

      مراحل رو درست رفتید. فقط به جای localhost/myDB باید بنویسید localhost/myDB.php. 😉

  10. امیر چرمهینی

    با سلام و تشکر از شما دو برادر بزرگوارم
    خیلی خوشحالم که بالاخره تونستم یه منبع خوب و عالی پیدا کنم با تمام وجود از شما عزیزان تشکر میکنم
    بعداز راهنمایی های شما نهایتا جواب داد
    اما در خصوص فرم ثبت نام باید چطور عمل کنم
    من سه فایل ساختم به نامهای
    db.php
    register.php
    login.php
    و محتویات رونها رو از روی اموزش نوشتم حالا باید اونها رو با اون دیتا بیس که در مرحله قبل ساختم همه رو در یه پوشه بریزم ویا اینکه نه جداگانه ودر پوشه www در کنار هم ذخیره کنم
    اگه امکان داره در خصوص اجرای این فرم هم توضیحاتی برای مبتدیانی مثل من بزارین که بعداز نوشتن اونها اصلا به چه شکلی باید ذخیره و اجرا بشن؟

    با تشکر از راهنمایی ها و لطف شما بزرگواران
    شاد وپیروز باشید

  11. وحید

    سلام ممنون که اینقدر با صداقت پاسخ دوستان رو میدید
    برای ایجاد همین فرم نظر شما ؟ که تو سایت خودتونه چه کارهایی باید انجام داد؟واینکه برای این فرم باید از پایگاه داده استفاده بشه یا فایل؟خواهشن اگر مقدور هست کد شو بذارین!خیلی حیاتی ممنون

    • مرتضی

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

  12. وحید

    امکانش هست اون بخش کد که بصورت انلاین نشان میده رو بذارین با یه مقدار توضیح ؟ممنون

    • مرتضی

      منظور شمارو کامل متوجه نشدم ولی اگه همونی رو میگید که ما کدهامون رو داخل اون قرار میدیم افزونس اسمش هم Crayon هست.

  13. محمد

    سلام چرا این مرحله error می ده؟

  14. امیر چرمهینی

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

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

  15. رها امیرچرمهینی

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

    • فؤاد طهماسبی

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

  16. رها امیرچرمهینی

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

    با تشکر
    شاد وپیروز باشید

  17. احمد

    سلام خدمت شما و تشکر از توضیحات عالیتون،یه سوال داشتم من یه برنامه با پی اچ پی میخوام بنویسم و به ومپ سرور متصل کنم توی ومپ سرور چند تا دیتابیس درست کردم و براشون جدول هم بدون هیچ مشکلی درست کردم ولی نمیدونم تنظیماتش به هم ریخته بعد از چند ساعت که اومدم یک دیتابیس دیگه درست کردم ومیخواستم براش جدول درست کنم و نام جدول و تعداد فیلدها رو که میدادم به مرحله بعد رفتم ونام ستونها روکه وارد میکنم و دکمه save رو که میزنم صفحه سیاه میشه و یک باکس باز میشه که نوشته this is not a number و پیغام خطای ۱۰۶۴# رو میده لطفا راهنماییم کنید خیلی به کمکتون احتیاج دارم.

    • مرتضی

      سلام ممنون لطف دارید، احتمالا نوع داده ای که تعریف کردید با نوع داده ای که وارد می کنید یکی نیست. اگه متن کامل خطلا رو هم بذارید بهتر می تونم راهنماییتون کنم.

  18. وحید

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

    • مرتضی

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

  19. غریب

    سلام
    بابت تمام مطالب مفیدی که گذاشتین ممنونم.من یه مشکل دارم و اونم اینه که تمام برنامه های phpدر localhost خوب اجرا میشه.اما وقتی آدرس اصلی سرور وبسایتمو وارد میکنم این ارور رو میده:
    Unknown MySQL server host
    درحقیقت نمیدونم آدرس رو چطور باید وارد کنم.اگه میشه راهنمایی کنید
    مثلا آدرس باشه http://www.mywebsite.com ,آیا باید ادامه این آدرس /localhost هم اضافه بشه یا نه
    با تشکر

    • مرتضی

      سلام، ممنون از شما . احتمالا mysql روی سروری که کار می کنید Run نیست، مطمئن بشید از Run بودنش (فایل هارو در سرورتون باید داخل html_public قرار بدید). نیازی هم نیست که تو ادامه آدرستون چیزی وارد کنید، http://www.mywebsite.com کافیه

  20. غریب

    با سلام مجدد و خسته نباشید
    من خیلی تازه کارم البته با ++C تقریبا آشنایی دارم بخاطر همین تا حدی از php سر در میارم اما نه زیاد.اگه امکان داره بفرمایید چطور میتونم از run بودن mysql سرور مطمئن بشم و اگر run نبود چکار باید انجام بدم.
    ممنون

    • مرتضی

      سروری که شما روش کار میکنید SQL SERVER هست یا MYSQL ، روی ویندوز کار می کنید یا لینوکس؟ ، اگه لطف کنید من بتونم کدتون رو ببنیم بهتر میتونم کمکتون کنم، اگه ممکنه برام ایمیل کنید، براتون ایمیل زدم از اونجا میتونید در ارتباط باشید. یرای مشکل Run هم میتونید به پشتیبانی هاست تیکت یزنید و ازش کمک بگیرید.

  21. وحید

    کد رو همراه کامنت گذاشته بودم ولی متاسفانه نمایش داده نشده ، مشکلم حل شد مرسی

  22. وحید

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

  23. رها

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

    • فؤاد طهماسبی

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

  24. مهران

    ولی یه توضیح مختصری هم از این تابع هایی مثل این mysql_real_escape_string و… میدادید
    خلاصه عالی بود دمتون گرم

    • فؤاد طهماسبی

      سلام،
      تابع mysql_real_escape_string برای حذف کاراکترهای مخصوص استفاده در MySQL هست که قبل از فرستادن داده ورودی کاربر برای پردازش، باید از پاک بودن اون مطمئن شد.
      این تابع در ورژن PHP 5.5 وجود نخواهد داشت. و به جاش از mysqli_real_escape_string استفاده خواهد شد.
      http://www.php.net/manual/en/mysqli.real-escape-string.php

  25. آرش قادرپناه

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

    • فؤاد طهماسبی

      سلام،
      میشه این کار رو با گذاشتن شرط انجام داد. یعنی با if و else می تونید همه این کد هارو در یک فایل سازماندهی کنید.

  26. max

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

    • فؤاد طهماسبی

      ببخشید دوست عزیز، متاسفانه فرصت کافی برای ساخت ویدئو ندارم. از دوستان اگر کسی آموزشی داره که میتونه به صورت ویدئویی درست کنه، (و یا غیر ویدئویی) میتونه تو سایت به عنوان نویسنده ثبت نام کنه و به اسم خودش آموزش هاشو منتشر کنه.
      البته میتونید هر سوالی هم که دارید در انجمنها بپرسید و از دوستان کمک بگیرید.

  27. رضا

    سلام
    من php خیلی کم بلدم ولی به دلایلی مجبورم یه سایت واسه ورود اطلاعات داشته باشم
    سایت من روی لوکال درست کار میکنه اما روی سرو نه
    هاست اولم همش پیغام flush host میومد که چون چندباری یوزر اشتباه زده بودم دیگه منو بلاک کرده بود. پشتیبانیش هم جواب درست حسابی نداد منم بلد نبودم! واسه همین اون هاست که کلا درست نشد مجبور شدم یه هاست دیگه بگیرم.
    حالا این هاستم مشکل داره :
    این پیغام میاد
    Fatal error: Unknown MySQL server host ‘http’ (0) in /home/appsitei/public_html/connect.php on line 9
    جالبه من فایل connect.php رو حتی اگه حذف هم بکنم بازم این پیغام میاد
    من خیلی وقتم کمه و باید هرچه زودتر این سایت رو درستش کنم
    ممنون میشم راهنمایی کنید

    • فؤاد طهماسبی

      خوب شما باید تنظیم کنید احتمالا فایل های لازم رو.
      الان این خطا میگه سرور شما درست ست نشده.
      باید تو فایل مربوط مقدار مورد نظر رو ست کنید.
      معمولا: server-host باید برابر با localhost باشه.

  28. رضا

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

    Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user ‘my_user_name’@’server.roozweb.com’ (using password: YES) in /home/appsitei/public_html/connect.php on line 11

    Fatal error: Access denied for user ‘my_user_name’@’server.roozweb.com’ (using password: YES) in /home/appsitei/public_html/connect.php on line 11

    من مطمئن هستم یوزر و پسورد رو دارم درست وارد میکنم. اما همش پیغام عدم دسترسی میده.
    ممنون میشم در این مورد هم کمکم کنید

    • رضا

      ببخشید من توی آدرس هاستم (وقتی میخام به دیتابیس وصل شم) آدرس سایت رو مینوسم ، درسته؟

      این کد درسته؟

      • رضا

        یه چند باری که خطا داد، الانم بلاکم کرد 🙁
        این پیغام میاد :
        Warning: mysql_connect() [function.mysql-connect]: Host ‘server.roozweb.com’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’ in /home/appsitei/public_html/connect.php on line 11

  29. لیدا

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

  30. لیدا

    • لیدا

  31. شهلا

    سلام.
    میخوام یه فرم عضویت با php درست کنم که تصویر و چک باکسو در پایگاه داده ثبت کنه
    ومپ:پایگاه دادi
    ممنون

  32. شیدا

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

    ممنون میشم اگه کمکم کنید فوریه؟

    • فؤاد طهماسبی

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

  33. رحیم

    اما مشکل خود من !
    در ارتباط با بحث SEssion ها هم هستش !

    من اگه داخل صفحه کنترل پنل مدیریت باشم (admin_cp.php) همه فایلهایی که داخل همین پوشه (admin) هستند رو بدون هیچ مشکلی به عنوان “کاربر وارد شده” باز میکنه . اما اگه من یک پوشه برم عقب، یا آدرس فایل که داخل یک پوشه دیگه هست رو بدم، کاربر خارج میشه !!!.
    مثلاً این ساختار رو دقت کنید .
    localhost/rootsite/admin/ – all file running well

    حالا میخوام از داخل پوشه ادمین برگردم به روت سایت و فایل index.php رو اجرا کنم.
    localhost/rootsite/index.php – not Work

    ممنون میشم راهنمایی کنید ؛ خیلی توی اینترنت گشتم ، اما چیزی دستگیرم نشده .

    • فؤاد طهماسبی

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

  34. farzan

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

  35. saeed

    سلام اطلاعات مفیدی بود خسته نباشید برای دوستانی که با پایگاه آشنا نیستن توسعه میکنم کتاب”مفاهیم بنیادی پایگاه داده ها تالیف سید محمد تقی روحانی”رو مطالعه کنن درباره ساخت جداول پایگاه داده خوب توضیح داده برای کارهای عملی هم میتونید از نرم افزار xammp استفاده کنید

  36. ferry_2020

    سلام و عرض احترام
    اولاً بخاطر مطالب مفید و کامل از شما متشکرم
    ثانیاً من یک فرم عضویت طراحی کرده ام ولی نمیدانم چرا بعد از اجرا و ورود اطلاعات توسط کاربر،اطلاعات وارد شده در دیتابیس ذخیره نمی شوند.
    ممنون می شوم من را راهنمایی نمایید.ضمن اینکه من بسیار مبتدی هستم و به کمک افرادی چون شما نیازمندم. با تشکر

    • فؤاد طهماسبی

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

  37. sara

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

  38. بهنام

    سلام
    ممنون بابت به اشتراک گذاری این آموزش و توضیحات خوبتون
    برای استفاده از فرم ساخته شده، اگه بخوایم یه شورت کد برای فراخوانی فرم ایجاد کنیم به چه صورتی هست
    مثلا میخوایم با کمک این فرم البته کمی کسترش یافته ترش یه فرم نظر سنجی بسازیم. بعد این فرم رو در یکی از صفحات فراخوانی کنیم.
    ممنون میشم دقیق راهنمایی بفرمایین

  39. farshad

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

    • فؤاد طهماسبی

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

  40. amir001

    سلام چرا تو این قسمت

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

    • فؤاد طهماسبی

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

  41. amir001

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

    • فؤاد طهماسبی

      نه ما از جدول عدد نمیگیریم، ما از جدول یه جدول دیگه میگیریم که فیلد نام کاربری شون برابر با username وارد شده در فرم هست. که یا وجود داره که تعداد سطرهای جدول برابر با ۱ میشه و یا وجود نداره که تعداد سطرهای جدول ۰ میشه این عدد هستش. تعداد سطر.
      اگر دقت بیشتری در کد کنید عبارت زیر با عدد مقایسه شده که خروجی این عبارت عدد هست و باید با عدد مقایسه بشه. [تعداد سطرهای خروجی sql بالا]:

  42. حسام

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

    • فؤاد طهماسبی

      سلام،
      نه دوست عزیز روشی وجود نداره.
      شاید با استفاده از کدهای JQuery بتونید یکم پیچیدش کنید (که بازم میشه کدهای JQuery رو دید) ولی راهی نیست که اصلا نشه دید.
      ولی میخوام بگم که لزومی نداره شما اینکار رو بکنید. اگر از لحاظ امنیت بررسی میکنید که این روش درستی نیست شما باید پردازشگر فرم که نوشتید رو تقویت کنید.
      و اگر نه فکر میکنید که کد شما به کاربر نشون داده میشه، اینم درست نیست چون فقط خروجی html به کاربر نشون داده میشه و شما باید بگید که در چه مواقعی چه خروجی ای نشون بده.
      در کل برای بالا بردن امنیت کد php سه پست امنیت در برنامه های php رو مطالعه کنید.

  43. amir001

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

    اینم خطاش : Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\session-2\register.php on line 12

    جالب اینکه شرطم هم عمل نمیکنه – یعنی اگه ۲تا کاربر هم با یه نام ثبت نام کنن باز هم ثبت میشه( البته فقط پسورد و شناسه ثبت میشه بقیه خالی میمونه )
    اینم ساختار صفحه ثبت نام کاربر :

    از حسن توجه شما و آموزش بی دریغ و بی منتتون سپاسگزارم .

    • فؤاد طهماسبی

      دوست عزیز اول عذر خواهی میکنم بابت کدها که درست ارسال نشده. بعد اگر براتون ممکن هست در انجمنها سوال رو بپرسید تا در ارسال کد مشکل نداشته باشید.
      بعد لینک تاپیک رو در جواب همین کامنت من قرار بدید، ممنون.

  44. عرفان

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

    و php

  45. عرفان

    و یک سوال دیگه // من سایتم از فلش استفاده کردم ولی متاسفانه در تبلت و گوشی فلش ها را نمایش نمی ده باید چیکار کنم؟

    • فؤاد طهماسبی

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

  46. عرفان

    ممنون آقای طهماسبی عزیز
    من ثبت نام کردم و سوال و در بخش مربوطه ارسال کردم

  47. مهریار

    سلام آقای طهماسبی
    من تو سایتم یک دیتابیس با نام رجیستر درست کردم که اطلاعات بازدید کننده ها را در خود نگهداری می کند . درست هم کار می کند . اما وقتی می خواهم مجوز ورود بدهد در کد زیر که با فرمت php ساختم پیغام می دهد که -اطلاعات وارد شده صحیح نیست!- کدی که نوشته ام را برایتان ارسال می کنم . خواهشمندم کمکم کنید .ممنونم

    • فؤاد طهماسبی

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

  48. مهریار

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

    • فؤاد طهماسبی

      سلام، خواهش میکنم،
      تو مطلب این موضوع نوشته شده لطفا با دقت مطالعه کنید.

  49. مهریار

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

  50. محمدرضا

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

    • فؤاد طهماسبی

      سلام،خواهش میکنم.
      فایلها رو دانلود کنید صفحه لاگین رو ببینید. 😀 همین کار رو میکنه.

  51. نعمت الله آسال

    باسلام
    سوال من در مورد این error
    اگه راهنمایی بفرمایید ممنون میشم
    #۱۰۴۵ Cannot log in to the MySQL server

    • فؤاد طهماسبی

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

  52. Gdal

    بسیار عالی

    وقت کردین

    فرم ارسال تصویر و نمایش رو هم آموزش بدین

    با تشکر

  53. مهدی

    سلام خیلی ممنون اگه میشه نرم افزار wamp server فارسی رو بزارید ممنون میشم

  54. مهدی

    سلام اقا ببخشید باید این کد ا رو با چه اسم هایی ذخیره کرد من تازه برنامه نویسی شروع کردم لطفا کمک کنین

    • فؤاد طهماسبی

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

  55. حسام

    سلام. من تقریباً هیچ وقت نظر نمی دم مگر اینکه نوشته آنقدر ارزشمند باشد که نتوان برای آن نظری ننوشت.
    از آموزش سودمند و کاربردی شما متشکرم، هرچند که هنوز آن را آزمایش ننموده ام

  56. shima

    سلام. من باید یه فرم ثبت نام درست کنم، کدهارو با HTML نوشتم و برای بانک اطلاعاتیش مشکل دارم.
    اگر ممکنه لینک دانلود بانک اطلاعاتی لینوکسی رو بذارید. و توضیح بدید چطور میشه وصل شد به بانک.

    نمیشه تو فرمی که نوشتیم دکمه ی ارسال بذاریم که اطلاعات بره به ایمیل؟!!!

  57. بابا احمد

    آقا خیلی عالی بود مرسی دستت درست

  58. mehrdad

    با عرض سلام و خسته نباشی
    میخواستم اگه میشه یه فرم login & register با امنیت بالا آموزش بدین ممنون میشم

  59. سیدامین

    سلام
    این فرم برای من به خوبی کار می‌کنه فقط وقتی در فیلد نام، نام را به صورت فارسی وارد می‌کنم خطا می‌ده.
    فقط کاراکنرهای انگلیسی رو در این فیلد قبول می‌کنه. چطور باید اصلاحش کنم.
    ممنون

    • فؤاد طهماسبی

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

  60. محمد

    سلام
    ممنون بابت آموزش خوبتون
    چند تا سوال داشتم
    اول اینکه وقتی نام کاربری اشتباه میزنی این رو نشون میده Incorrect username/password
    از کجا میشه عوضش کرد. چطور تشخیص میده که اشتباه وارد شده.
    دوم اینکه کار این دستور چیه؟ mysql_real_escape_string
    ممنون از مطلب مفیدتون

    • فؤاد طهماسبی

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

    • فؤاد طهماسبی

      سلام،
      فایل index رو ببینید متوجه میشید!
      چیز خاصی نیست، فقط نقش منو رو داره برای راحتی کار.

  61. majid

    سلام خسته نباشید.
    من در قسمت mysql_num_rows هر چد باری که مینویسم ارور میده و میگه بولینه باید چی کار کنم در ضمن من کد شما رو منظورم نیست یک کد دیگه خودم نوشتم این مشکل رو داره در ضمن لطفا با ایمیلم تماس بگیرید.

  62. جمشید طهماسبی

    سلام وقت بخیر…
    من میخوام با PHP اطلاعات نام ونام خانوادگی و نام کاربری و پسورد و جنسیت را از کاربر بگیرد.
    باید اعتبارسنجی انجا بدهد(جلوگیری از تزریق کدهای جاوا اسکریپت و HTML کنترل خالی نبودن ورودی ها).
    اگر اعتبارسنجی نتیجه اش درست است در همان فایل اطلاعات وارد شده به کاربر نمایش داده شود.
    خیلی ممنونتون میشم اگه زود جواب بدید…

  63. لادن

    سلام
    چرا لاگینش کار نمی کنه ؟
    تو دیتابیس ذخیره می شه ولی خطای
    invalid user pass میده

  64. مرضیه

    من هنگام نصب MySQL 5.5 به کادر انتهایی که مرحله نصب برنامه(processing fconfiguration) میمونه و انتهای نوارعنوانش not responding میاد و ادامه نمیده .لطفا راهنماییم کنید به این برنامه خیلی نیاز دارم

  65. امیر محمد

    با سلام
    و با تشکر از آموزش خوبتان
    اگه ممکنه متن زیر را برایم توضیح بدهید( در php )

    با تشکر و سپاس

  66. web

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

  67. zohre

    با عرض سلام و خسته نباشید خدمت شما
    من یه سوال در این رابطه داشتم می خواستم بدونم که من چه جوری می توان در نرم افزار dreamweave که می خواهم برنامه php بنویسیم برای قسمت loginآن بخواهیم تا قبل از وارد شدن کاربر دکمهlog out غیر فعال شود و به محض ورود کاربر دکمه log out فعال شود.و فرم log in غیر فعال شود اگهر میشه در این رابطه به من کمک کنید
    واگر میشه جواب را حتما به ایمیلم ارسال کنید.
    با تشکر اسلامی

  68. ساحل

    سلام
    من وقتی از توابع mysql_ connect برای اتصال به پایگاه داده استفاده میکنم . موقع اجرا برنامه خطا میده .
    و باید حتما از توابع mysqli_connect. استفاده کنم .
    ممنون میشم راهنماییم کنید تا موقع اجرای توابعی که با mysql نوشته میشه خطا نده !

  69. حسنا

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

متاسفانه امکان ارسال دیدگاه وجود ندارد!