آموزش ساخت فرم لاگین با PHP و Mysql
#1
Note 
درود دوستان
تو این آموزش میخوام نحوه ساخت یه فرم لاگین ساده با 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


1.  ساخت تیبل members در دیتابیس test

[تصویر:  db_members.gif]

دیتابیسی با نام 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

[تصویر:  member_login.gif]

این فایل اصلی و چیزی که برای کاربر نمایش داده میشه. این کدها رو داخل این فایل بذارید و ذخیره کنید:
کد:
<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:
<?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:
<?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:
<?php
session_start
();
if(!
session_is_registered(myusername)){
header("location:main_login.php");
}
?>

<html>
<body>
Login Successful
</body>
</html> 

5.ایجاد فایل  logout.php
در نهاست این فایل هم برای خروج کاربر نوشته میشه و سشن رو حذف میکنه.
کد php:
<?php
session_start
();
session_destroy();
?>

سوالی بود در خدمتم Smile

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note آموزش MVC به زبان ساده (تصویری) Daniel 1 802 16-08-2016 ساعت 09:24
آخرین ارسال: aaiz
Note آموزش MVC Daniel 1 679 26-11-2015 ساعت 12:56
آخرین ارسال: bkk
Note کتاب آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 992 16-02-2015 ساعت 10:48
آخرین ارسال: Stack OverFlow
Note چرا میگن نباید دیگه از mysql در php استفاده کنیم؟ FireBug 3 911 18-01-2015 ساعت 16:29
آخرین ارسال: rockstar
Note سوال پروژه عملی یهویی php and Mysql . لطفاً راهنمایی کنید... rouzbeh 1 508 26-08-2014 ساعت 13:52
آخرین ارسال: REza mAX
Note خطای MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL Daniel 0 398 18-08-2014 ساعت 17:43
آخرین ارسال: Daniel
Note دریافت اطلاعات از json و ذخیره در mysql infoweb 1 473 06-08-2014 ساعت 15:00
آخرین ارسال: REza mAX
Note ذخیره و بازیابی اطلاعات در دیتابیس MySQL REza mAX 0 445 03-08-2014 ساعت 10:43
آخرین ارسال: REza mAX
Note ایجاد ارتباط از php به mysql hasti 4 1,037 11-07-2014 ساعت 22:06
آخرین ارسال: Comodo
Note جلوگیری از ورود رکورد تکراری (PHP-MySQL) Php1 1 862 16-06-2014 ساعت 10:37
آخرین ارسال: BaNNer LorD

کاربرانِ درحال بازدید از این موضوع:   1 مهمان