آموزش پی اچ پی -> ایجاد لاگین ( ورود مدیریت یا اعضا )
نویسنده : مهرداد دیزاین | تاریخ ارسال : يكشنبه 18 / 11 / 1388 | 52 : 12 | تعداد بازدید : 292
سلام دوستان
از اين به بعد چون روش كار كردن با ديتا بيس رو ياد گرفتيم مي تونيم برنامه هاي جالب ، به درد بخور و كاربردي بنويسيم
امروز ساخت يك برنامه Login را آموزش ميدم به بهانه ياد گيري اين طرض استفاده از Session ها رو هم ياد ميگيريد.
اول از همه نياز به يه Table داريم كه نام كاربري و رمز عبور كاربران ما داخل اونه :
با اجراي Query زير در PhpMyAdmin جدول مورد نظر رو بسازيد:
يه چند تا user هم توي اون Insert كنيد.
بعد يه فرم Login درست ميكنيم :
خوب حالا توي فايل login.php كه قراره با هم بسازيم اول ميگيم كه اگه هيچ درخواستي (Request) ارسال نشده فرم رو نشون بده. پس در شرط زير بررسي ميكنيم اگر بر روي دكمه ورود كليك شده است كار هاي مربوط به Login رو انجام بده واگر نه توي خطوط بعدي فرم رو نشون مي ديم.
خوب حالا فرض كنيم درخواستي داريم يعني فرم ارسال شده است، پس بايد چك كنيم ببينيم كه نام كاربري و پسورد وارد شده درسته يا نه ؟
خوب اول مقادير دو Text Box نام كاربري و كلمه عبور را در دو متغير ميريزيم :
خوب حالا براي اين که ببينيم درست هستند يا نه بايد از يه Query استفاده كنيم :
و حالا اجرا كردن Query :
خوب حالا در صورت پيدا شدن نتيجه اي كلمه عبور دريافتي رو هم چك مي كنيم. اول ببينيم كه تعداد نتايج SELECT چند تا است ، اگه يك نتيجه داريم بريم سراغ بررسي پسورد:
خوب حالا كد كامل صفحه رو مي نويسم :
-------------------------------------------------
Session ؟
خوب ما هويت كاربر رو توي اين صفحه بررسي كرديم... اما اگه به يه صفحه ديگه رفتيم چي ؟ فرض كنيد ما يه صفحه براي كاربر داريم كه مثلا توي اون صفحه كاربر ميتونه يه چيزي رو ارسال كنه يه به يه سري اطلاعات دسترسي داشته باشه ... نمي تونيم توي هر صفحه از کاربر نام کاربري و کلمه عبور رو بپرسيم که ... ؟ براي اين كار بايد متغير هايي داشته باشيم كه توي تمامي صفحات سايت قابل دستيابي باشه به اين نوع متغير Session (جلسه) مي گيم.
... Session باشه براي قسمت بعد.
کلمات کلیدی : آمزوش پی اچ پی ، ورود اعضا
سلام دوستان
از اين به بعد چون روش كار كردن با ديتا بيس رو ياد گرفتيم مي تونيم برنامه هاي جالب ، به درد بخور و كاربردي بنويسيم
امروز ساخت يك برنامه Login را آموزش ميدم به بهانه ياد گيري اين طرض استفاده از Session ها رو هم ياد ميگيريد.
اول از همه نياز به يه Table داريم كه نام كاربري و رمز عبور كاربران ما داخل اونه :
با اجراي Query زير در PhpMyAdmin جدول مورد نظر رو بسازيد:
کد:
CREATE TABLE `user_table` (
`user` VARCHAR( 32 ) NOT NULL ,
`pass` VARCHAR( 32 ) NOT NULL
) TYPE = MYISAM ;
`user` VARCHAR( 32 ) NOT NULL ,
`pass` VARCHAR( 32 ) NOT NULL
) TYPE = MYISAM ;
يه چند تا user هم توي اون Insert كنيد.
بعد يه فرم Login درست ميكنيم :
کد:
<form method="POST" >
<p>User name: <input type="text" name="user_name" size="20"></p>
<p>Password: <input type="password" name="password" size="20"></p>
<p><input type="submit" value="Login" name="login_btn"></p>
</form>
<p>User name: <input type="text" name="user_name" size="20"></p>
<p>Password: <input type="password" name="password" size="20"></p>
<p><input type="submit" value="Login" name="login_btn"></p>
</form>
خوب حالا توي فايل login.php كه قراره با هم بسازيم اول ميگيم كه اگه هيچ درخواستي (Request) ارسال نشده فرم رو نشون بده. پس در شرط زير بررسي ميكنيم اگر بر روي دكمه ورود كليك شده است كار هاي مربوط به Login رو انجام بده واگر نه توي خطوط بعدي فرم رو نشون مي ديم.
کد:
<?php
if(isset($_POST['login_btn']))
{
// ---
// ---
// ---
}//End of if(isset($_POST['login_btn']));
?>
if(isset($_POST['login_btn']))
{
// ---
// ---
// ---
}//End of if(isset($_POST['login_btn']));
?>
خوب حالا فرض كنيم درخواستي داريم يعني فرم ارسال شده است، پس بايد چك كنيم ببينيم كه نام كاربري و پسورد وارد شده درسته يا نه ؟
خوب اول مقادير دو Text Box نام كاربري و كلمه عبور را در دو متغير ميريزيم :
کد:
$user_name = $_POST['user_name'];
$password = $_POST['password'];
$password = $_POST['password'];
خوب حالا براي اين که ببينيم درست هستند يا نه بايد از يه Query استفاده كنيم :
کد:
$sql = "SELECT `pass` FROM `user_table` WHERE `user` = '$user_name'";
و حالا اجرا كردن Query :
کد:
mysql_connect('localhost','root','');
mysql_select_db('test');
$sql = "SELECT `pass` FROM `user_table` WHERE `user` = '$user_name'";
$result = mysql_query($sql) or die(mysql_error());
mysql_select_db('test');
$sql = "SELECT `pass` FROM `user_table` WHERE `user` = '$user_name'";
$result = mysql_query($sql) or die(mysql_error());
خوب حالا در صورت پيدا شدن نتيجه اي كلمه عبور دريافتي رو هم چك مي كنيم. اول ببينيم كه تعداد نتايج SELECT چند تا است ، اگه يك نتيجه داريم بريم سراغ بررسي پسورد:
کد:
if(mysql_num_rows($result) == 1)
{
//Check Password ...
if($password == mysql_result($result,0))
{
//Logined Ok!
print("Ok");
exit();
}
}
print("The User name And/Or password is invalid!");
{
//Check Password ...
if($password == mysql_result($result,0))
{
//Logined Ok!
print("Ok");
exit();
}
}
print("The User name And/Or password is invalid!");
خوب حالا كد كامل صفحه رو مي نويسم :
کد:
<html>
<head>
<title>Login Page...</title>
</head>
<body style="font-family:arial;font-size:10pt">
<?php
if(isset($_POST['login_btn']))
{
$user_name = $_POST['user_name'];
$password = $_POST['password'];
mysql_connect('localhost','root','');
mysql_select_db('test');
$sql = "SELECT `pass` FROM `user_table` WHERE `user` = '$user_name'";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result) == 1)
{
//Check Password ...
if($password == mysql_result($result,0))
{
//Logined Ok!
print("Ok");
exit();
}
}
print("The User name And/Or password is invalid!");
} //End of if(isset($_POST['login_btn']));
?>
<form method="POST">
<p>User name: <input type="text" name="user_name" size="20"></p>
<p>Password: <input type="password" name="password" size="20"></p>
<p><input type="submit" value="Login" name="login_btn"></p>
</form>
</body>
</html>
<head>
<title>Login Page...</title>
</head>
<body style="font-family:arial;font-size:10pt">
<?php
if(isset($_POST['login_btn']))
{
$user_name = $_POST['user_name'];
$password = $_POST['password'];
mysql_connect('localhost','root','');
mysql_select_db('test');
$sql = "SELECT `pass` FROM `user_table` WHERE `user` = '$user_name'";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result) == 1)
{
//Check Password ...
if($password == mysql_result($result,0))
{
//Logined Ok!
print("Ok");
exit();
}
}
print("The User name And/Or password is invalid!");
} //End of if(isset($_POST['login_btn']));
?>
<form method="POST">
<p>User name: <input type="text" name="user_name" size="20"></p>
<p>Password: <input type="password" name="password" size="20"></p>
<p><input type="submit" value="Login" name="login_btn"></p>
</form>
</body>
</html>
-------------------------------------------------
Session ؟
خوب ما هويت كاربر رو توي اين صفحه بررسي كرديم... اما اگه به يه صفحه ديگه رفتيم چي ؟ فرض كنيد ما يه صفحه براي كاربر داريم كه مثلا توي اون صفحه كاربر ميتونه يه چيزي رو ارسال كنه يه به يه سري اطلاعات دسترسي داشته باشه ... نمي تونيم توي هر صفحه از کاربر نام کاربري و کلمه عبور رو بپرسيم که ... ؟ براي اين كار بايد متغير هايي داشته باشيم كه توي تمامي صفحات سايت قابل دستيابي باشه به اين نوع متغير Session (جلسه) مي گيم.
... Session باشه براي قسمت بعد.
کلمات کلیدی : آمزوش پی اچ پی ، ورود اعضا