۳۰-آذر-۱۳۹۲, ۱۷:۵۴:۵۴
در این آموزش می خوام به شما نحوه ساختن سیستم ثبت نام با php در وبسایت رو آموزش بدم. اگرچه شاید برخی افراد فکر کنن کار سختی هست اما در این آمورش خواهند دید که ساده تر از چیزی است که فکر می کنن و با کمی کد نویسی ساده امکان پذیره . در عمل شما نیاز به یک جدول و یک سرور php دارید . در این آموزش شما مطالب زیر رو یاد می گیرید:
نحوه ایجاد فایل نصب برای اسکریپت
نحوه اتصال به پایگاه داده
نحوه ثبت نام کاربر
ذخیره اطلاعات در پایگاه داده
ورود یا همون login کاربر
نحوه شناسایی کاربر در صفحات
نحوه خروج از سیستم
قبل از شروع کار، شما به یک پایگاه داده نیاز دارید تا در برنامه از آن استفاده کنید. در ابتدا شما می توانید یک پایگاه داده با نام myDB ایجاد کنید در این پایگاه داده شما نیاز به یک جدول دارید . در این جدول نیز باید اطلاعات زیر وجود داشته باشند :
حالا ما ساختار کلی از جدول را داریم ، اکنون می توانیم دستورات زیر را در 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
این آموزش به صورت ساده بیان شده و برای استفاده در پروژه های تجاری و وبسایت هایی که نیاز به امنیت زیادی دارن توصیه نمی شود.
نحوه ایجاد فایل نصب برای اسکریپت
نحوه اتصال به پایگاه داده
نحوه ثبت نام کاربر
ذخیره اطلاعات در پایگاه داده
ورود یا همون login کاربر
نحوه شناسایی کاربر در صفحات
نحوه خروج از سیستم
قبل از شروع کار، شما به یک پایگاه داده نیاز دارید تا در برنامه از آن استفاده کنید. در ابتدا شما می توانید یک پایگاه داده با نام myDB ایجاد کنید در این پایگاه داده شما نیاز به یک جدول دارید . در این جدول نیز باید اطلاعات زیر وجود داشته باشند :
نقل قول: (userid (auto incrementساختار فایل install.php
username
password
email address
حالا ما ساختار کلی از جدول را داریم ، اکنون می توانیم دستورات زیر را در mysql یا از phpmyadmin اجرا کنیم تا جدول ساخته شود. دستورات یا کدهای لازم برای ساخت جدول “usersystem” در پایگاه داده”myDB” رو می تونید در سطر بعدی ببینید :
کد php:
CREATE TABLE myDB.usersystem (
userid INT(5) NOT NULL AUTO_INCREMENT ,
username VARCHAR( 50 ) NOT NULL ,
password VARCHAR( 32 ) NOT NULL ,
email VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( userid )
)
کد php:
<?php
//نصب پایگاه داده
include('index.php');
// establish a connection to the database server
if(!mysql_connect('localhost', 'root', '')) {
die("ERROR: Can't Connect To Database Server;" . mysql_error());
}
mysql_query("CREATE DATABASE myDB");
if(!mysql_select_db('myDB')) {
mysql_close();
die("ERROR: Can't Select Database;" . mysql_error());
}
mysql_set_charset('utf8');
$query = "
CREATE TABLE IF NOT EXISTS usersystem (
userid INT(5) NOT NULL AUTO_INCREMENT ,
username VARCHAR( 50 ) NOT NULL ,
password VARCHAR( 32 ) NOT NULL ,
email VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( userid )
)";
$result = mysql_query($query);
if (!$result) {
echo'>> Can\'t Creat Users Table < < '. mysql_error().'<br />';
} else {
echo '[ Users Table Created Successfully ] <br />';
}
?>
<br><hr><a href="index.php">Index Page</a><br>
ساختار فایل db.php
اولین فایل ، فایل ساختار ما خواهد بود که در این فایل function ها و دستورات اتصال ما به پایگاه داده قرار دارد. این فایل بعدا در ابتدای تمامی صفحات توسط include قرار داده می شود.
ابتدا ما ()sesssion_start را در خط اول می نویسیم . این دستور ما رو برای تشخیص کاربر وارد شده کمک خواهد کرد. در کل به عبارتی session برای هر کاربر یک آی دی ایجاد می کنه تا توسط اون کاربران در سیستم شناخته بشن تقریبا مانند cookie در مرورگر برای وبسایت .
این کد به شکل زیر استفاده میشه :
کد php:
<?php
session_start();
?>
در مرحله بعد باید با پایگاه داده اتصال برقرار کنیم . از توابع ()mysql_connect و ()mysql_select_db برای اینکار استفاده می کنیم . این دو خط هم به صورت زیراستفاده میشن :
کد php:
<?php
session_start();
mysql_connect("localhost", "username of your database", "password of database");
mysql_select_db("myDB");
?>
کد php:
<?php
session_start();
mysql_connect("localhost", "root", "");
mysql_select_db("myDB");
//تابع بررسی صحت کاربر
function user_login ($username, $password) {
$username = mysql_real_escape_string($username);
// چون پسورد در پایگاه داده به صورت کد شده قرار دارد ما نیز ابتدا پسورد دریافتی را کد کرده با پسورد موجود در پایگاه داده بررسی میکنیم
$password = md5($password);
$result = mysql_query("SELECT * FROM usersystem WHERE username = '".$username."' AND password = '".$password."' LIMIT 1");
$rows = mysql_num_rows($result);
if ($rows<=0 ){
echo "Incorrect username/password";
}
else {
// اگر کاربر تایید شد از طریق نشست ورود کاربر را مشخص میکنیم.
$_SESSION['username'] = true;
echo "<a href='adminpage.php'>you're login successfuly [Go To ADMINPAGE]</a><br><br>";
}
}
?>
حالا میریم سراغ قسمت ثبت نام کاربر :
ساختار فایل register.php
حالا ما نیاز به یک صفحه داریم تا کاربر بتونه ار اونجا ثبت نام خودش رو انجام بده. این فایل شامل کدهای HTML و PHP است که به صورت زیر است:
کد php:
<html>
<form action="register.php" method="post">
Username: <input name="username" type="text" />
Password: <input type="password" name="password" />
Email: <input name="email" type="text" />
<input type="submit" value="Submit" />
</form>
</html>
حال نیاز داریم اطلاعات دریافت شده از کاربر رو پاکسازی و سپس در پایگاه داده ثبت کنیم . در این کد ابتدا پر بودن فیلدهای username ، password و email بررسی می شود و سپس از تکراری نبودن username اطمینان حاصل می کند. کد زیر را ابتدای فایل register.php و قبل از کدهای Html قرار دهید .
کد php:
<?php
// فراخوانی منوی بالا
include('index.php');
// فراخوانی فایل دیتابیس
include("db.php");
if(isset($_POST['username']) && isset($_POST['password']) && isset($_POST['email'])){
$username = mysql_real_escape_string($_POST['username']);
$email = mysql_real_escape_string($_POST['email']);
$password = md5($_POST['password']);
$sql = mysql_query("SELECT username FROM usersystem WHERE username = '".$username."'");
if(mysql_num_rows($sql)>0){
die("Username taken.");
}
mysql_query("INSERT INTO usersystem(username, password, email) VALUES('$username', '$password', '$email')") or die (mysql_error()); echo "Account created.";
}
?>
ساختار فایل login.php
و در آخر کدهای صفحه ورود. دراین فایل نیاز به یک فرم داریم تا username و password را از کاربر دریافت کرده و پس ازاعتبار سنجی کاربر مجوز لازم برای ورود داده شود.
کد php:
<?php
include('index.php');
include("db.php");
if(isset($_POST['username']) && isset($_POST['password'])){
// تایید ورود کاربر از طریق تابعی که در فایل دیتابیس نوشتیم
user_login($_POST['username'], $_POST['password']);
}
?>
<html>
<form action="login.php" method="post">
Username: <input name="username" type="text" />
Password: <input type="password" name="password" />
<input type="submit" value="submit" />
</form>
</html>
کد زیر را باید در ابتدای تمامی صفحات وارد کنید تا بوسیله آن مجوز دسترسی کاربر بررسی شود:
کد php:
<?php
include('index.php');
include "db.php";
if(!$_SESSION['username']){
// تغییر مسیر کاربر در صورتی که وارد یا لاگین نشده است
header('location: ../login.php');
exit();
}
?>
ساختار فایل logout.php
کد php:
<?php
// خروج از سیستم و فالس کردن نشست
session_start();
$_SESSION['username'] = false;
echo "<a href='adminpage.php'>you're log Out successfuly [Go To ADMINPAGE]</a><br><br>";
?>
این آموزش به صورت ساده بیان شده و برای استفاده در پروژه های تجاری و وبسایت هایی که نیاز به امنیت زیادی دارن توصیه نمی شود.