ثبت نام :: سیستم مدیریت محتوا قسمت 1

به نام خداوند بخشنده ی مهربان

سطح مقاله: متوسط-پیشرفته
پیش نیاز: آشنایی با PHP و دستورات SQL SERVER

امروز می خواهم ساخت چند سیستم کاربردی را با هم پیش ببریم تا ببینیم چه می شه؟ شاید این سیستم را اگر یکم پیش ببریم یک سیستم مدیریت محتوای کوچکلو بنویسید من فعلا روی چند سیستم ثبت نام، لاگین، حذف کاربر، تغییر رمز عبور، لیست اعضا بسنده می کنم تا بعدا چیز هایی از قبیل ارسال پست، حذف پست، ویرایش پست، کنترل پنل ادمین هم بنویسیم.
اولین چیز صفحه ی register.html : فرم ثبت نام
این صفحه را با پسوند .html یا .htm دخیره می کنیم چون یک صفحه ساده همراه با فرم است.
این صفحه حاوی یک فرم با ورودی های نام، نام خانوادگی، نام کاربری، رمز عبور و ایمیل می باشد. من در صفحه ی زیر این صفحه را بدون توضیح ساختم:

کد:
<html>
<head>
<title> register in website </title>
</head>
<body>
<form method="POST" action="register.php">
<input type="text" size="20" name="firsname"> first name:
<p>
<input type="text" size="20" name="lastname"> lastname:
<p>
<input type="text" size="20" name="username">username:
<p>
<input type="password" size="20" name="password">password:
<p>
<input type="text" size="20" name="mail">mail:
<p>
<input type="submit" value="register">
</form>
</body>
</html>

در بالا مشخص کردیم که تمامی مقادیر فرم به صفحه ی register.php برای درج و پردازش ارسال شود. (با خاصیت action)
فایل config.php برای اتصال به هاست:

کد PHP:
<?php
//connect to database
fuction connect() {
$connect = mysql_connect("localhost" , "root" , "");
mysql_select_db('example' , $connect;
}
<?

با دستور mysql_connect به بانک اطلاعاتی اتصال پیدا می کنیم که دارای سه پارامتر می باشد

کد PHP:
mysql_connect)"Hostname" , "username" , "password"

Hostname: نام هاست که معمولا localhost
username: یزر نیم که معمولا root
password: پسورد که معولا می تواند خالی باشد.
با دستور mysql_select_db دیتابیس را انتخاب می کنیم و از آن به بعد دستورات را بر روی این دیتابیس انجام می دهیم، دارای دو پارامتر می باشد:

کد PHP:
mysql_select_db("database name" , $link);

database name: نام دیتابیس که شما مثلا در phpmyadmin مشخص کردید.
$link = لینکی که در هنگام اتصال به هاست داشتیم mysql_connect که یک متغیر است.

حالا که فایل config.php را نوشتیم می رویم سراغ فایل register.php: ثبت اطلاعات ثبت نام
این فایل صفحه ی php می باشد که در آن اطلاعات در بانک اطلاعاتی درج می شود.
کد کامل صفحه ی register.php: (بعدا توضیح می دم)

کد PHP:
// check the form submited
if (!isset($_POST["firstname"])) {
die('the form not submited.');
}
// check the fields
if (empty($_POST["username"] {
die('please enter your username.');
}
if(empty($_POST["password"])) {
die('Please enter your password');
}
if(empty($_POST["mail"])) {
die('Please enter your E_Mail');
}
// $_POST
$firstname = $_POST["firstname"];
$lastname = $_POST["lastname"];
$username = $_POST["username"];
$password = $_POST["password"];
$mail = $_POST["mail"];
// connect to mysql by config.php
include('config.php');
connect();
$sql = "INSERT INTO `users` values('$firstname' ; '$lastname' , '$username' , '$password' , '$mail');";
mysql_query($sql, $connect) or die(mysql_error();)
?>
<h1> Completed! </h1>
the register in website compelted and your acount was create

خب حالا یه توضیح کوچلو می دم، اگه خودتون یکم PHP بلد باشید متوجه می شوید. خیلی ساده نوشتم.
در ابتدا با استفاده از تابع isset دریافت کردم که آیا مقادیر فرم ارسال شده یا نه یا یکی الکی اموده صفحه ی register.php را تایپ کرده است
در کد های بعدی که هم با استفاده از تابع empty دریافت کردم که آیا مقادیر ارسال شده که مهماشون عبارتند از: username و password و mail آیا خالی هستند یا نه و اگر خالی بودند با استفاده از دستور die که یک پیام ساده ارسال می کنه برنامه را پایان دادم این کار را می توانیستم با دستور echo و exit هم بکنم. در مرحله ی بعدی تمامی مقادیر ارسال شده که در آرایه ی $_POST به صورت خودکار قرار گرفته اند را در متغیر های مختلف قرار داده ام تا از آنها بتوانم استفاده کنم.
در مرحله ی بعدی با استفاده از تابع include صفحه ی config.php را که با هم نوشته بودیم به
صفحه ی خودمان ارسال کردم تا بتوانم از آن استفاده کنم. سپس با استفاده از یک sql که کوئری نام دارد، خاستم یک اطلاعات را با دستور sql ، که INSERT نام دارد اطلاعات درج کنم. sql دارای چهار دستور متداول به نام های SELECT، INSERT ، UPDATE، DELETE دارد که از آنها برا تغییر و نمایش محتویات بانک اطلاعاتی استفاده می شود.
دستور INSERT را که در یک متغیر به نام $sql ریختم تا از آن استفاده کنم.
توجه داشته باشید که نام جدول و فیلد های آنها که در phpmyadmin درست کردید مطابق آموزش باشید.
سپس با استفاده از دستور mysql_query می خواهم دستوری را که نوشتم اجرا کنم. این تابع دو پارامتر دارد که اولی مربوط به دستور است که ما در متغیر $sql قرار دادیم و دومی لینک اتصال بوده است که $connect نام داشت. با این دستور کوئری را اجرا کردیم و اطلاعات درج شد.
سپس با استفاده از تگ پایانی ?> کد php را به پایان رساندم و به HTML باز گشتم و سپس یک پیام ارسال کردم با سرتیتر ارسال کردم که ثبت نام به اتمام رسیده.

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

hadimir
محمد هادی معصومی

نظرات کاربران :

دیدگاهتان را بنویسید

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.