درود دوستان تو این آموزش میخوام نحوه ساخت یه فرم لاگین ساده با php و mysql رو بگم. این آموزش خیلی راحته فقط گام به گام با اموزش برید جلو کاری نداره.

اول سه فایل با این نام ها ایجاد کنید:

  1. main_login.php
  2. checklogin.php
  3. login_success.php

گام ها:

  1.  ساخت تیبل members در دیتابیس test 2.ایجاد فایل main_login.php 3.ایجاد فایل checklogin.php 4.ایجاد فایل  login_success.php 5.ایجاد فایل  logout.php

  2.  ساخت تیبل 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>&nbsp;</td>
<td>&nbsp;</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();
?>

سوالی بود در خدمتم :)