آموزش ارتباط با سرور آنلاین در B4A – قسمت سوم(کدهای ثبت نام سمت سرور)
سلام
با سومین جلسه از آموزش های ارتباط با سرور آنلاین در بیسیک فور اندروید در خدمتتون هستیم، در این جلسه می پردازیم به نوشتن کدهای PHP برای انجام عملیات ثبت نام، چون همانطور که در آموزش قبلی گفتیم، قصد داریم تا یک برنامه ثبت نام درست کنیم، پس در ادامه با بپرسم همراه باشید.
قسمت های قبلی:
- آموزش ارتباط با سرور آنلاین در B4A – قسمت اول(مقدمه)
- آموزش ارتباط با سرور آنلاین در B4A – قسمت دوم(ساخت دیتابیس)
برای ارتباط با سرور آنلاین از کدهای PHP استفاده می کنیم، حال در ادامه توسط کدهایی که می نویسیم یک برنامه ثبت نام بسیار ساده ایجاد میکنیم.
خب برای نوشتن کدهای PHP میتونید از هر ویرایشگر متنی استفاده کنید، ما با ویرایشگر محبوب و رایگان ++ Notepad کار میکنیم، که برای دانلود این نرم افزار کلیک کنید.
آموزش:
- یک فایل به نام Register.php ایجاد کنید(برای اینکار می توانید برنامه ++ NotePad را و با کلید های ترکیبی Ctrl + S فایل خود را ذخیره کنید).
- خب همانطور که میدانید، برای نوشتن کدهای PHP نیاز داریم تا کدها را بین دو تگ زیر بنویسیم:
۱ ۲ ۳ |
<?php کدهای پی اچ پی را باید بین این دو تگ بنویسیم ?> |
- ابتدا باید یک متغیر برای ارتباط با دیتابیس ایجاد کنیم، من متغیری با نام conn تعریف کردم و اطلاعات دیتابیس را در قرار دادم.
۱ |
$conn = mysqli_connect('localhost' , 'beporsam_b4a' , '۱۲۳۴۵'); |
- سپس برای اینکه مطمئن شوید ارتباط با دیتابیس با موفقیت انجام شده یا نه، کافیست با دستور if مشخص کنیم که اگر ارتباط با دیتابیس با موفقی بود یک پیغام روی صفحه چاپ کند.
برای این کار به کدهای قبلی دستور if را اضافه می کنیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ |
<?php $conn = mysqli_connect('localhost' , 'beporsam_b4a' , '۱۲۳۴۵'); if ($conn){ echo "Connect"; } ?> |
حال فایل Register.php خود را در هاست آپلود و آدرس آن را در مرورگر وارد کنید، اگر با پیغام Connect مواجه شدید، ارتباط با دیتابیس با موفقیت آمیز بوده است.
- در حال حاضر ما به دیتابیس فقط متصل شدیم، حال باید با استفاده از کدهای زیر دیتابیسی که میخواهیم روش عملیات را انجام دهیم انتخاب و همچنین مقادیر دیتابیس را UTF8 کنیم که برای حروف فارسی مشکلی نداشته باشیم، پس کدهای زیر را هم اضافه میکنیم:
۱ ۲ |
mysqli_select_db('beporsam_b4a',$conn); mysqli_set_charset('utf8'); |
beporsam_b4a نام دیتابیس، conn$ متغیری هست که برای ارتباط با دیتابیس تعریف کردیم.
- حال که به هاست متصل و دیتابیسی هم که میخواهیم مقادیر را بفرستیم انتخاب کردیم؛ نوبت میرسه تعریف دو متغیر برای ارسال نام کاربری و رمز عبور به سرور، پس دو متغیر با نام های username و password انتخاب و نوع ارسال را هم POST قرار میدهیم.
۱ ۲ |
$username=$_POST['username']; $password=$_POST['password']; |
- مرحله ی بعدی درج اطلاعات می باشد، که مشخص میکنیم اگر ارتباط با دیتابیس با موفقیت بود، اطلاعات درج شود، پس در شرط if کدهای زیر را می نویسیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ |
if($conn){ $result = "INSERT INTO b4a_register(username,password) VALUES('$username','$password')"; if(mysqli_query($result)){ echo "Done"; }else{echo "Error";} } |
در خط دو با دستور Insert که از سری دستورات SQL می باشد عملیات درج را در جدول انجام میدهیم و در خط ۴ تا ۸ گفتیم اگر اطلاعات با موفقیت درج شد، عبارت Done را چاپ کند و در غیر این صورت عبارت Error را چاپ کند.
و در نهایت تمامی کدهایی که در فایل Register.php باید قرار بگیرند:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ |
<?php $conn = mysqli_connect('localhost' , 'beporsam_b4a' , '۱۲۳۴۵'); mysqli_select_db('beporsam_b4a',$conn); mysqli_set_charset('utf8'); $username=$_POST['username']; $password=$_POST['password']; if($conn){ $result = "INSERT INTO b4a_register(username,password) VALUES('$username','$password')"; if(mysqli_query($result)){ echo "Done"; }else{echo "Error";} } ?> |
این کدهایی که در این آموزش نوشتیم؛ کدهای سمت سرور برای ثبت نام می باشد، حال در جلسات بعدی در بیسیک فور اندروید با این فایل ارتباط برقرار میکنیم و به وسیله این فایل اطلاعات خودمون رو در دیتابیس ذخیره می کنیم.
آموزش این قسمت نیز به پایان رسید، امیدوارم مفید بوده باشه:)
هرگونه سوالی یا مشکلی در رابطه با مطلب فوق داشتید؛ در سایت بپرسید، پاسخگوی سوالات شما هستیم، برای پرسیدن سوال کلیک کنید.
موفق باشید.
دیدگاه ( 13 )
be onvane mesal vaghti be jaye in
age mishe ye file tasviri baraye sakhte sql to gigfa.com va hoste raygan doros konid
salam code haye php dorost e vali basic vasl nemishe be host
سلام…
من با هاست رایگان گیگفا کار میکنم و از دیتابیس همین هاست استفاده میکنم. تو مرحله اول که اطلاعات دیتابیس رو میدادیم و چک میکردیم که وصل میشه یا نه برای من وصل شد و متن Connect اومد. ولی تا مرحله آخر که پیش رفتم متن Error اومد. فکر میکنم من کاری رو اشتباه انجام دادم چون مرحله اول درست کار کرد.
این کد من رو ببینید. فقط جاهایی که با علامت *c* مشخص کردم رو تغییر دادم و بقیه مثل همونیه که توی سایت گذاشته بودید:
درست انجام دادم؟؟؟
سلام، کدها به ظاهر درست است
ولی اگر خطایی دریافت میکنید به دلیل محدودیت هایی است که در هاست های رایگان وجود دارند، اگر باز هم مشکلتون پابرجا بود و رفع نشد هاست رایگان دیگر استفاده نکنید
موفق باشید.
سلام توقسمت برقراری ارتباط همچنان مشکل وجود داره اگه میشه یه اموزش ویدئویی بذارید
اگر اموزشی جای دیگه وجود داره لطفا راهنمایی کنید
خیلی ممنون
اقا من هرچی امتحان میکنم نمیشه هاست هم گرفتم اما ارتباط برقرار نمیشه؟؟؟؟
سلام وقت بخیر
ممنونم بابت اموز عالی تون
من میخوام فایلمو داخل فایل منیجر اپلود کنم مجوز نمیده و نمیدونم برای اینکه ببینم درست آپلود شده چه ادرسی رو باید داخل مرور گر بزنم؟
سلام
سوال خودتون رو در بخش پرسش و پاسخ سایت بپرسید
موفق باشید.
سلام وقت بخیر
ممنونم بابت آموزش های عالیتون
چند تا سوال داشتن
این فایل php رو باید در داخل بیسک درست کنیم دیگه ؟
برای من وقتی <?php رو می نویسم اررو زیر رو میده
input string was not in a correct format
و یه سوال دیگه وقتی اپلود کردیم ادرسش چی مشه؟
من تو گیگفا هاست گرفتم .میشه این cpanel.gigfa.com/panel/registery.php؟
سلام
خیر، فایل php رو باید در هاست ایجاد کنید
وقتی آپلود کردید، آدرس سایت شما به صورت زیر میشه:
که بجای site باید آدرس دامینی که در گیگفا ثبت کردید را وارد کنید.
موفق باشید.
میخوام داخل فایل منیجر هم اپلود کنم اررور میده
باید داخل پوشه htdocs ایجاد کنم.و اینجوری وقتی ادرسشو میزنم میگه فایل موجود نیست
ممنونم از شما
بسیار عالی آموزش رو یاد گرفتم ولی کد های php که نوشتید رو خودم بصورت استاندارد نوشتم تا تونستم جواب درست بگیرم
در کل مرسی از آموزشای خوب
سلام، خواهش میکنم
کجای کدها مشکل داشت؟، بگید تا رفع کنم تا دیگر دوستان هم دچار مشکل نشن
عالی ورسا بود خیلی ممنون تا این مرحله اوکیه اموزشتون که من مطالعه کردم فقط یه مشکلی داره اونم اینه که دوستان برای اجرا باید به جای کد mysql_connect کد mysqli_connect رو تایپ کنن موفق باشید
سلام
بله درسته mysql دیگه منسوخ شده و mysqli جاش رو گرفته، از توجه شما سپاسگزارم
اصلاح شد
خواهش میکنم
میشه راهنمایی کنید
چطوری فایل Register.php رو در هاست اپلود کنم
من یه هاست رایگان تو گیگفا ایجاد کردم
سلام
دوست عزیز از هاست رایگان استفاده نکنید، در ۹۰ درصد هاستینگ های رایگان کدها کار نمیکنه
موفق باشید.
سلام
من با موفقیت طبق راهنمایی های ارزشمند شما فایل Register.php و دیتابیس خودم رو در هاست gigfa ساختم. فایل php به راحتی خوانده میشه اما اتصال به دیتابیس برقرار نمی شه. توی توضیحات هاست گیگفا خوندم که برای این که ارتباط از طریق یک کامپیوتر دیگه بتونه با دیتابیس موجود در هاست برقرار بشه باید نوع هاستم رو به پریمیوم ارتقاء بدم. می خوام ببینم مشکل من دقیقا همینه یا جای دیگه ای از کار مشکل داره.
اسم دیتابیس و رمز رو مطمئن هستم که درست می زنم. یک چند خط کد echo داخل فایل php اضافه کردم که نشون می ده فایل خونده میشه اما متاسفانه به بانک وصل نمی شه.
متشکرم
سلام
بله در هاست های رایگان نمیتونید از طریق بیسیک(یا هر محیط برنامه نویسی دیگه ای) با دیتابیس ارتباط برقرار کنید، به دلیل محدودیت هایی دارند.
یک هاست اشتراکی تهیه کنید، و برنامتون رو بهش متصل کنید(هزینه هنگفتی هم پرداخت نکنید، با سالی ۲۰ -۳۰ تومن میتونید یک هاست مناسب تهیه کنید)
موفق باشید.
باسلام مجدد و عرض تشکر به خاطر پاسخ گویی
بعد تحقیق بیشتر مشخص شد مشکل در دستور اتصال به دیتابیس بوده است. در هاست من و نیز در سروری که با برنامه xampp ساختم باید از دستور زیر استفاده شود:
$conn = new mysqli (“localhost”,”username”,”password”);
با تشکر
دقیقا من چند ساعت درگیر این بودم نگو که مشکل از دستور اتصال بوده لطفا اصلاح کنید
بجای نام دیتابیس باید نام یوزر وارد بشه
<?php
$conn = mysql_connect(‘localhost’ , ‘username’ , ‘password’);
if ($conn){
echo “Connect”;
}
?>
با سلام
لطفا کدی رو به این اضافه کنید که اگه توی دیتابیس یک user مثل همین وجود داشت دوباره نسازه.
توی این آموزشتون درباره کدی که از تکراری بودن نام کاربری جلوگیری کنه ننوشتید.
اگه کدی رو هم برای ورود به حساب کاربری میزاشتین عالی میشد.
سلام
انشاءالله قرار میدیم
موفق باشید
آموزش “کاربر تکراری” هم لطفا اضافه کنید