عضویت در سایت

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ ایمیل خود را وارد کنید

ورود

عضویت در سایت

رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید

در بین 1170 آموزش و 2023 پرسش به دنبال چه هستید؟

ویندوز
نصب آنلاین ویندوز

ویندوز 7,8,10,11
مشاوره
مشاوره خرید لپ تاپ و کامپیوتر

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

1k+
پشتیبانی آنلاین

سخت افزار/نرم افزار

آموزش ارتباط با سرور آنلاین در B4A – قسمت ششم(ساخت صفحه ورود)

سلام

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

صفحه ورود

صفحه ورود

توضیح برنامه:

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

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

نکته: این آموزش ادامه آموزش های قبلی می باشد، ولی برای اینکه یک مروری بشه، توضیحات اضافه تری خواهم داد.

آموزش:

  • وقتی اسم ارتباط با دیتابیس میاد، اولین کاری که باید بکنیم اینه یک دیتابیس در سمت سرور(هاست) بسازیم، که برای چگونگی ساخت دیتابیس در هاست کلیک کنید.
  • پس از ساخت دیتابیس، نوبت میرسه به نوشتن کدهای سمت سرور(هاست)، فایل های سمت سرور که وظیفه ی اجرای کدهای ما رو دارند؛ با پسوند php هستند، لذا یک فایل با پسوند login.php میسازیم و کدهای زیر را داخلش قرار میدیم و در هاست آپلود میکنیم.

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

توضیحات:

خط ۲ الی ۵ که مربوط به اطلاعات دیتابیس هست(دیتابیس رو که ساختید، اطلاعات رو باید اینجا قرار بدید).

خط ۶ که با دیتابیس ارتباط برقرار کردیم.

خط ۷ هم دیتابیس رو UTF8 کردیم، که اگر خواستیم اطلاعات فارسی وارد کنیم مشکلی نداشته باشیم، اگر UTF8 قرار ندید، اطلاعات فارسی با علامت ؟؟؟ نمایش داده میشود.

خط ۱۰ تا ۱۲ هم که بررسی کردیم ببنیم ارتباط با دیتابیس طبق اطلاعاتی که وارد کردیم برقرار شده یا نه(اگر ارتباط با دیتابیس برقرار شده باشه که هیچ، اگر نشده باشه خطای مربوطه نمایش داده میشه).

خط ۱۵ و ۱۶ هم که دو متغیر به نام username,password تعریف کردیم که اطلاعات رو از سمت برنامه بگیره.

خط ۱۹ الی ۳۰ هم که مربوط به کوئری و صحت اطلاعات ارسالی از سمت برنامه هست، اگر اطلاعات ارسالی از سمت برنامه درست بوده باشه که نام کاربری رو در برنامه به کاربر نشون میدیم، اگر هم اتشباه باشه پیغام “نام کاربری یا رمز عبور اشتباه است” در برنامه نمایش داده میشه.

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

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

  • قدم بعدی میرسیم به بیسیک فور اندروید، که کدهامون رو بنویسیم، کدهای زیر، کدهای اکتویتی هست که وظیفه چک کردن اطلاعات ورودی را از سرور دارد(صفحه ورود به برنامه)
مطلب پیشنهادی:  آموزش نصب فونت در ویندوز 11

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

در کد بالا به جای beporsam.ir/login.php، آدرس سایت خود را وارد کنید.

در آموزش های قبلی از کتابخانه HttpUtils استفاده شده، در این آموزش از کتابخانه OkHttp(تفاوتی در نحوه کد نویسی وجود نداره)

با کدهای این صفحه آشنایی کامل دارید، چون در ۵ قسمت قبلی بهش اشاره شد، در قسمت های قبلی دوستان با بخش کدهای سمت سرور مشکل داشتند که در این آمورش سعی کردم توضیح بیشتری بدم.

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

در پایان سورس برنامه + فایل login.php رو برای دانلود قرار میدم.

مشکل در رابطه با آموزش بالا داشتید، از بخش پرسش و پاسخ سوال خودتون رو بپرسید، سعی میکنیم پاسختون رو بدیم 🙂

موفق باشید.


دانلود: سورس برنامه صفحه ورود


پيش نمايش: کليک کنيد


حجم: 161 کیلوبایت


رمز فايل فشرده: www.beporsam.ir


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


اگر در رابطه با مطلب بالا سوالي يا مشکلي داريد ميتوانيد سوال خود را در سايت بپرسيد، کاربران سايت پاسخگوي سوالات شما خواهند بود.


عضويت در سايت


پرسيدن سوال


درباره احمد آخوندیمدیر سایت

همیشه در تلاش برای یادگیری :) ارتباط با من: 09159352892

دنبال کردن

دیدگاه ( 10 )

  1. با سلام

    یه مشکلی وجود داره اونم اینه که

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

    ممنون میشم راهنمایی کنید

  2. بله چند بار هم امتحان کردم اما فقط اتصال به سرور رو چک می کنه.

    مثلا یه مقدار جدید توی فایل php تعریف کنیم و بگیم هر موقع اون مقدار ۱ شد ، ما به اکتیویتی بعد بریم. فقط اینکه اگر میشه توی کدنویسیش بهم کمک کنین ممنون میشم چون آشنایی چندانی با php و اتصالش به بیسیک ندارم

    ممنون

    • راه حل این مشکل رو پیدا کردم … فکر کنم جواب بده

      ما باید توی فایل php خودمون یه متنی رو در صورت موفقیت اکو کنیم مثلا

      بعد توی برنامه توی قسمت sub jobdone یه شرط بعد از شرط موفقیت ( if job.success) بذاریم به این صورت که

       

      • سلام

        این راه جواب نمیده

        راهشو پیدا کردی ؟ منم دوساعته دارم کلنجار میرم

        با دیتا بیس هم کلی ور رفتم مشکل بنظر از jobdone هست

         

      • از اینکه وقتی مشکلی رو حل میکنید؛ راه حلش رو میزارید، سپاسگزارم

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

  3. سلام

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

    • سلام

      خط های ۶۸ تا ۷۱ برای این هست که عملیات موفقیت آمیز بود، کار مورد نظر انجام بشه، در کدها گفته شده که پیغام موفیقت آمیز چاپ بشه
      ولی شما میتونید بگید که بره به اکتویتی جدید

       

      • سلام

        این که شما گفتید یه مشکلی داره … حتی اگه اطلاعات اشتباه هم وارد کنیم ولی برنامه بتونه به سرور وصل بشه به اکتیوتی بعدی میره در حالی که اطلاعات توی دیتابیس وجود نداشته (در اصل فقط اتصال به سرور رو چک میکنه)

        • مطمئن هستید؟، چون گفته شده که اگه موفیقت آمیز بود فلان کار انجام بشه

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

          • سلام .

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

            درستش کنید کده رو. واسه ما دانش اموزا درد سره

  4. سلام

    من کدهای php و b4a رو کامل نوشتم و با نرم افزار xmapp هم یه لوکال هاست درست کردم و اطلاعاتم رو اونجا ذخیره کردم . حالا وقتی برنامه را اجرا می کنم که مثلا login بشه فقط مینویسه ” در حال ارتباط با سرور ” و دیگه جلوتر نمیره.

    میشه لطفا راهنمایی کنین؟

  5. سلام

    آقا من کدها رو نوشتم اما توی کدهای php به من یه ارور میگیره اونم به خاطر خط ۲۴ هست که جلوی if چیزی نوشته نشده میشه لطفا راهنمایی کنین؟

     

    • سلام

      متاسفانه عدد ۰ تو کدهایی که گذاشتیم؛ نشون داده نمیشه(اگه روی کدها دابل کلیک کنید، قالب مشاهده و کپی شدن هستن)

      باید مقدار ۰ بزارید؛ به صورت زیر:

      موفق باشید

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

    میشه راهنماییم کنید؟

    • سلام

      خب با سرور ارتباط برقرار نمیشه که دلایلش میتونه:

      • از اینکه از هاست رایگان استفاده میکنید.
      • اگه از هاست غیر رایگان استفاده میکنید، چک کنید ببینید سایت در دسترس باشه.
      • و نکته سوک که حائز اهمیت هست، ممکنه در ارتباط به دیتابیس مشکل دارید، در اولین آموزش از ارتباط با سرور آنلاین گفتم که چطور بررسی کنید که آیا ارتباط با سرور درست برقرار شده یا نه.
  7. سلام خسته نباشید

    طبق آموزش پیش رفتم و با این خطا روبرو شدم

    خطا: java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null,

    host=null, path=mydomin/test_data_online/login.php

     

    از طرفی هم وقتی صفحه login.php در مرورگر رفرش میکنم پیام خوش آمد گویی میاد پس مشکل از کجاست؟

    • سلام

      آدرس سایت رو با http یا https وارد کردید تو بیسیک؟

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

      برای تست صفحه login.php که ببینید داره اطلاعات رو از دیتابیس درست میخونه، از کد زیر استفاده کنید:

      که باید بجای beporsam.ir آدرس خودتون رو وارد کنید؛ فرض کنید یک رکورد در دیتابیس دارید که username برابر beporsam و password برابر ۱۲۳۴۵ هست، با ارسال دستی پارامترها چک میکنیم که آیا مقادیر ارسال شده درست است یا نه(حالا شما باید یکی از مقادیری که تو دیتابیس درج کردید رو وارد کنید).

  8. این دیدگاه ویرایش شده است

    راستی در قسمت لاگ برنامه می نویسه:
    jobname=login,succes=true

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

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

    • در بخش اول دستور If بجای

      از startActivity(“ActivityName”) استفاده کنید(خط ۲ تا ۵)

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

    تشکر

  10. سلام خسته نباشید

    بابت این کدهای جدید ممنونم
    من عینا همین کدارو پیاده کردم منتها وقتی اجرا میکنم این خطا رو میده

    javax.net.ssl.sslpeer unverifie dexception: no peer certificate: خطا

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

    ما باید جای هاست حتما لوکال هاست بنویسیم یا اسم هاست خودمونو؟

    • سلام

      برای رفع خطایی که گفتید از کتابخانه OkHttp استفاده کنید(به جای HttpUtils).

      خط ۲۴ تا ۲۸ فایل login.php را مشاهده کنید، اون گفتیم که اگه اطلاعات درست بود پیغام خوش اومدی و اگه اطلاعات وارد شده غلط بود، پیغام نام کاربری و رمز عبور اشتباه هست، نمایش داده بشه، حالا label3 وظیفه نمایش پیغام رو داره.

      هر هاست به یک دامنه متصل هست، شما وارد فایل منیجر(مدیریت) هاست که میشید یک پوشه به نام public_html وجود داره، وقتی آدرس سایتتون رو وارد میکنید محتوای پوشه public_html تو مرورگر نمایش داده میشه، حالا اگر در همین پوشه فایل login.php رو آپلود کنید، آدرس سایت میشه site.ir/login.php اگر یک پوشه درست کنید(فرض میکنیم پوشه ای درست کردید به نام b4a  و فایل login.php رو اونجا آپلود کردید)، آدرس میشه site.ir/b4a/login.php

      در ۹۰ درصد مواقع localhost هست، اگر هاست خریداری کردید بله localhost هست، اگر از هاست رایگان استفاده میکنید باید نام هاست رو بنویسید(که داخل کنترل پنل نوشته شده).

      موفق باشید.

ارسال نظر

رفتن به بالا

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

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

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