مشكلي كوچك در ورود و خروج كاربران

lordweb

Member
سلام
دوستان من يك اسكريپت ساده نوشتم براي محيط كاربري
ولي يك مشكلي دارم هنگام لوگين شدن اول بايد يك پيغام بياد بعد از كليك روي لينك برم به صفحه كاربري
حالا ميخوام كمكم كنيد تا بتونم بعد از اوكي كردن يوزر نيم و پسورد به صورت مستقيم به محيط كاربري برم
كد login.php

PHP:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<?php
session_start();
include("config/config.php");
if(isset($_POST['login'])){
$user = strtolower($_POST['user']);
$pass = $_POST['pass'];
$sql = "SELECT `pass` FROM `users` WHERE `user`='$user '";
$query = mysql_query($sql);
$data = mysql_fetch_array($query);
if(mysql_num_rows($query)==1 && $data['pass'] == $_POST['pass'])
{
$_SESSION['user'] = $_POST['user'];
$_SESSION['LogedIn'] = true;
print('<h1>خوش آمديد</h1><br /><br />:جهت ورود به حساب كاربري بر روي لينك زير كليك كنيد <br /><br />');
print('<a href="user.php">Go to User Page</a>');
}
else
{
print('<font color="#FF0000">نام كاربري يا كلمه عبور اشتباه ميباشد.لطفآ دوباره سعي كنيد<br /></font>');
print('<a href="index.html">Back</a>');
}
}
?>
 

Cyletech

Member
شما میخواید وقتی لوگین درست شد یه پیغام بده که حاوی یک لینک هست و بعد از کلیک روی اون لینک وارد صفحه دیگه بشه. خب همینی که نوشتید درسته. لینکش رو اگر درست داده باشید باید وارد اون صفحه بشه. مشکل الآن دقیقاً کجاست؟
 
من دقیقا متوجه نمیشم منظورتون چیه ولی یه توضیح می دم شاید الگوریتمش به درد بخوره


یک صفحه هست به نام login.php این صفحه یوزر نیم و پسورد رو چک می کنه اگه درست بود یه session می سازه و session_id و ip کاربر رو تو دیتابیس ذخیره می کنه . بعدش با تابع header() اون رو به صفحه user.php می فرسته. صفحه user.php چک می کنه اگر سشن مقدار داشت که هیچ در غیر این صورت با تابع header کاربر رو پرتابش می کنه به login.php . حالا یک نکته دیگه تو صفحه login.php باید چک بشه که آیا اون سشن آیدی و اون ip که کاربر داره تو دیتابیس هست .اگه هست یه سشن درست کنه و کاربر رو به صفحه user.php پرتاب کنه در غیر این صورت هیچ
این کار برای اینه که اگه کاربر خواست بیاد تو سایت دوباره login نکنه

به قول دوستان مجید آنلاینی
موفق باشید

:paint::rose::):mad:
 

Cyletech

Member
در همون صفحه login.php این چنین وارد کنید:
PHP:
<?php
session_start();
if( !isset( $_SESSION['ip'],$_SESSION['id'] ) ) {
header( 'Location: login.php' );
}
else {
if( mysql_num_rows( mysql_query( "SELECT `id` FROM `members` WHERE `ip` = '" . $_SESSION['ip'] . "' AND `id` = '" . $_SESSION['id'] . "'" ) ) >= 1 ) {
//inja harkari bekhay mikoni chon too db vojod dare va session ha ham vojood daran
}
else {
header( 'Location: login.php' );
}
}
?>
 

جدیدترین ارسال ها

بالا