phpبرنامه نویسی

آموزش ساخت فرم لاگین با PHP و Mysql

درود دوستان تو این آموزش میخوام نحوه ساخت یه فرم لاگین ساده با 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> </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();
?>

سئوالی درباره ی فرم لاگین بو در خدمتم 🙂

محمد فرجی

تلاش بیهوده نیست...

نوشته های مشابه

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

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

دکمه بازگشت به بالا