سلام و عرض ادب خدمت تک تک دوستان و کاربران عزیز طرح کار.
بنده حامد یوسفی در این آموزش قصد دارم نحوه کدنویسی اسکریپت (Cms) اختصاصی برای عضویت و ورود کاربران رو آموزش بدم.
در ابتدای کار لازمه عرض کنم برای هرچه بهتر درک کردن این آموزش دوستان عزیز باید با زبان html و php تا مقداری آشنایی داشته باشند.
ملزومات این آموزش :
خب زیاد نمیخوام در مورد ملزومات بالا جهت جلوگیری از اتلاف زمان صحبت کنم (گوگل بهترین مرجع برای آموزش این دو برنامه میباشد.) پس مستقیم سراغ کارهای اصلی کدنویسی میریم.
برنامه NotePad رو باز میکنیم و یک فایل با نام index.php ایجاد میکنیم و شروع به کدنویسی میکنیم.
من کدهای مربوط به HTML کارمون رو از قبل آماده کردم و همینطوری برای شما دوستان عزیز قرار میدم.
<html> <head> <title>cms اختصاصی من</title> <meta charset="UTF-8"> </head> <body> <form method="POST"> <div class="input"><label>نام کاربری : </label><input type="text" name="username"></div> <div class="input"><label>رمز عبور : </label><input type="password" name="password"></div> <button type="submit">عضویت</button> </form> </body> </html>
توضیح در مورد کدهای بالا :
در مجموع همه این کدهای داخل فرم مربوطه (form) با متد و نوع POST قرار گرفته است
خب تا حالا فایل html اسکریپتمون رو کدنویسی کردیم و الان زمان آن رسیده که کدهای php کارمون رو بنویسیم. پس بدون اتلاف وقت میریم سراغ مرحله بعدی D:
در شروع کار میاییم یک شرط برای php مینویسیم که اگر ورودی های username و password وجود داشت و خالی نبود ادامه کارمون رو انجام بدهد !
<?php if (isset($_POST['username']) && isset($_POST['password'])){ } ?>
خب تا اینجای کار امیدوارم براتون قابل درک باشد. مرحله بعدی کارمون گرفتن مقادیری که کاربر در ورودی های password و username تایپ کرده و ارسال و ذخیره آن های در دیتابیش میباشد. پس آموزش رو همینجا نگ میداریم تا ابتدا دیتابیسمون رو ایجاد کنیم.
برای ایجاد جدول مربوطه 2 روش وجود دارد و بنده اینجا برای شروع آسون ترین روش رو براتون عرض میکنم. برای ایجاد دیتابیس در xampp آموزش های متعددی وجود دارید و میتونید از موتور گوگل استفاده کنید. اکنون کدهای زیر را در دیتابیسی که برای اسکریپت ساخته این با پسوند sql میتوانید import کنید.
CREATE TABLE my_cms ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(200) COLLATE utf8_persian_ci, password VARCHAR(100) COLLATE utf8_persian_ci )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci";
در صورتی که نتوانستید sql مربوطه رو در داخل دیتابیس import کنید عرض کنید تا آموزشش رو در همین پست قرار بدهم.
خب جدول مربوطه رو ایجاد کردیم و الان زمان آن هست که اسکریپتمون رو به دیتابیس متصل کنیم.( فرض میکنیم که نام دیتابیسی که ایجاد کردیم my_cms هست)
پس یک فایل با نام db.php ایجاد میکنیم و داخلش کدهای زیر رو مینویسیم.
<?php $connect = mysqli_connect('localhost', 'root', 'root'); $connect->set_charset("utf8"); if (!$connect){ die("Database Connection Failed" . mysqli_error($connect)); } $selectdb = mysqli_select_db($connect, 'my_cms'); if (!$select_db){ die("Database Selection Failed" . mysqli_error($connect)); }
توجه : در کدهای بالا رمز عبور و نام کاربری دیتابیس ما root میباشد و این دو مقدار با توجه به هاست دیتابیس ایجاد شده توسط شما متغییر میباشد !
توضیح در مورد کدهای بالا :
ابتدا اومدیم توسط $connect مقادیر اتصال به دیتابیسمون رو وارد کردیم و نوع دیتابیس رو روی utf-8 (پشتیبانی از زبان فارسی) گذاشتیم و در مرحله بعد اومدیم گفتیم اگر به دیتابیس به هر دلیلی متصل نشد پیام خطا : Database Connection Failed رو نمایش بده.
در قسمت بعدی توسط $selectdb گفتیم که جدولی که ساختیم با نام my_cms رو برای ادامه کارمون انتخاب کن و اگر انتخاب نشد پیام خطا Database Selection Failed رو نمایش بده.
خب تا اینجای کار به دیتابیسمون متصل شدیم و جدول مورد نظرمون رو ساختیم پس میریم سراغ ادامه مراحل کدنویسی php فایل اصلیمون.
خب حالا میاییم در فایل index.php فایل حاوی اطلاعات و کانفیگ دیتابیسمون رو با کد include(‘db.php’); فراخوانی میکنیم.
<?php include('db.php'); if (isset($_POST['username']) && isset($_POST['password'])){ } ?>
میریم سراغ ادامه مراحل کدنویسی . حالا نوبت این رسیده که اطلاعات وارد شده در ورودی ها رو بگیریم و به دیتابیس ارسال و ذخیره کنیم.
ابتدا میاییم توسط تابع $_POST مقادیر وارد شده در هر 2 input رو میگیریم. دقیقیا عین کدهای زیر :
<?php include('db.php'); if (isset($_POST['username']) && isset($_POST['password'])){ $username = $_POST['username']; $password = $_POST['password']; } ?>