PDA

View Full Version : سوال: طريقه ي كد نويسي Session



ravand
چهارشنبه 14 دی 1390, 15:23 عصر
سلام
من يه نمونه كد آزماشي براي Session نوشتم. خواستم بذارم اينجا تا ببينم اگه اشكال كدنويسي داره دوستان راهنمايي كنند برطرف كنم. چون از روي جزوه ي مشخصي ننوشتم.
شايد اصولش رو رعايت نكرده باشم . گفتم شايد يه نفر بهم كمك كنه.
مثلا اين SESSION_destroy رو و Session_start(); در مكان خودش قرار دادم يا نه؟
متشكرم.


<form action="login.php" method="POST">
نام كاربري<input type="text" name="user"><br><br>
پسورد<input type="password" name="password">
<input type="submit" value="ارسال ">
</form>

login.php


<a href="logout.php">خروج </a><br>
<?php
Session_start();
$name=$_POST['user'];
$pass=$_POST['password'];

$host="localhost";
$user="root";
$password="";
$db="publisher";
$connect=mysql_connect($host,$user,$password)or die(mysql_error());
if(empty($_POST['user']) && empty($_POST['password'])){
Echo "please insert user and password";
}
Else {
mysql_select_db($db,$connect);
$query = "SELECT * FROM `user` WHERE `user` = '".$name."' AND `password` = '".$pass."'";
$result=mysql_query($query)or die(mysql_error());
$num=mysql_num_rows($result);
if($num > 0)
{
$_SESSION['username'] = $name;
echo "wellcom $name";

}
else
{
echo "نام کاربری یا گذرواژه اشتباه است.";
}
SESSION_destroy ();
}
?>






logout.php

<?php
session_start();
$host="localhost";
$user="root";
$password="";
$db="publisher";
$connect=mysql_connect($host,$user,$password)or die(mysql_error());
mysql_select_db($db,$connect);
session_destroy();
header("location: send.php");
?>

mtchabok
چهارشنبه 14 دی 1390, 20:30 عصر
login.php

<?php
Session_start();
$message = "":
$host="localhost";
$user="root";
$password="";
$db="publisher";
$connect=mysql_connect($host,$user,$password)or die(mysql_error());
mysql_select_db($db,$connect);
$name=mysql_real_escape_string(trim($_POST['user']),$connect);
$pass=mysql_real_escape_string(trim($_POST['password']),$connect);


if(empty($name) && empty($pass)){
$message = "please insert user and password";
}
Else {

$query = "SELECT * FROM `user` WHERE `user` = '".$name."' AND `password` = '".$pass."'";
$result=mysql_query($query)or die(mysql_error());
$num=mysql_num_rows($result);
if($num > 0)
{
$_SESSION['username'] = $name;
$message = "wellcom $name";

}
else
{
$message = "نام کاربری یا گذرواژه اشتباه است.";
}
SESSION_destroy ();
}
?>
<a href="logout.php">خروج </a>
<?php
if($message) echo $message;
?>

برای فایل logout.php هم اگه سشن به صورت پیش فرض php هس نیازی به اتصال با دیتابیس نیس .

ravand
چهارشنبه 14 دی 1390, 21:11 عصر
خيلي ممنون داداش.
ولي اين كد

$message = "":
رو كه بعد از

Session_start()
آورديد باعث ايجاد پيام اخطار ميشه.
من برش داشتم مشكلش حل شد.

mtchabok
پنج شنبه 15 دی 1390, 08:37 صبح
ببخشید یه اشتباه بود . این درسته :

$message = "";