آموزش ساخت فرم لاگین با PHP و Mysql
درود دوستان تو این آموزش میخوام نحوه ساخت یه فرم لاگین ساده با php و mysql رو بگم. این آموزش خیلی راحته فقط گام به گام با اموزش برید جلو کاری نداره.
اول سه فایل با این نام ها ایجاد کنید:
- main_login.php
- checklogin.php
- login_success.php
گام ها:
- ساخت تیبل members در دیتابیس test 2.ایجاد فایل main_login.php 3.ایجاد فایل checklogin.php 4.ایجاد فایل login_success.php 5.ایجاد فایل logout.php
- ساخت تیبل members در دیتابیس test
دیتابیسی با نام test ایجاد کرده و این کوئری ها رو اجرا کنید:
CREATE TABLE `members` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
--
-- Dumping data for table `members`
--
INSERT INTO `members` VALUES (1, 'john', '1234');
2.ایجاد فایل main_login.php
این فایل اصلی و چیزی که برای کاربر نمایش داده میشه. این کدها رو داخل این فایل بذارید و ذخیره کنید:
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
3.ایجاد فایل checklogin.php
کار این فایل رو اسمش هست این فایل چک میکنه که آیا اطلاعات وارد شده صحیحه یا خیر. اگر اطلاعات درست باشه فایل اطلاعات رو در سشن ست میکنه و کاربر رو به فایل login_success.php میفرسته در غیر اینصورت پیام Wrong Username or Password رو نمایش میده.
<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
برای کاربران PHP 5:
<?php
ob_start();
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>
4.ایجاد فایل login_success.php اگر سشن ست نشده باشه کاربر نمیتونه این صفحه رو ببینه
<?php
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>
<html>
<body>
Login Successful
</body>
</html>
5.ایجاد فایل logout.php در نهاست این فایل هم برای خروج کاربر نوشته میشه و سشن رو حذف میکنه.
<?php
session_start();
session_destroy();
?>
سئوالی درباره ی فرم لاگین بو در خدمتم 🙂