مشکل با از بین رفتن Session ها در ماژول جوملا
با سلام خدمت تمامی دوستان
من قصد دارم یه دونه ماژول لاگین اختصاصی برای جوملا درست کنم.
اول من نمی خوام این ماژول به طور کامل به جوملا وابسته باشه.
اصلا بذارید کدمو بذارم روی اون توضیح بدم
[PHP]<?php
include("MyFunctions.php");
JHTML::stylesheet("Default.css", "modules/mod_LoginTest/CSS/");
//بررسی پست شدن اطلاعات به سایت
if(isset($_GET['btnSend'])){
$UserName=$_GET['txtUserName'];
$Password=$_GET['txtPassword'];
$Password=HashPassword($Password);
//------------------------------------------------------بررسی حساب کاربری ----------------------------------------------
$ResultCustomers=RunQuery("SELECT `Name`,`Family`,`Status` FROM `customers` WHERE `UserName`='$UserName' AND `Password`='$Password'");
//تست موجود بودن حساب کاربری
if(mysql_num_rows($ResultCustomers)==1){
//تست فعال بودن حساب
if(mysql_result($ResultCustomers,0,'Status')==1){
$_SESSION['LogedIn']=1;
$_SESSION['UserName']=mysql_result($ResultCustomers,0,'Name').' '.mysql_result($ResultCustomers,0,'Family');
}else{
echo("<script>alert('حساب شما فعال نمی باشد. لطفا ابتدا ایمیل خود را بررسی کنید و مجددا امتحان نمایید.');</script>");
}
}else{
echo("<script>alert('نام کاربری یا کلمه عبور شما صحیح نمی باشد.');</script>");
}
if(!isset($_SESSION['LogedIn'])){
echo("
<html>
<head></head>
<body>
<form method='GET' id='LoginForm' action=''>
<table border='0' id='LoginTable'>
<tr>
<td>نام کاربری:</td>
</tr>
<tr>
<td><input name='txtUserName' type='text' style='text-align:left;width:100%'></td>
</tr>
<tr>
<td>کلمه عبور:</td>
</tr>
<tr>
<td><input name='txtPassword' type='password' style='text-align:left;width:100%'></td>
</tr>
<tr>
<td><input type='checkbox' name='SaveMe' value='Saved'/><label>مرا به خاطر بسپار.</label></td>
</tr>
<tr>
<td colspan='2' align='left'><input name='btnSend' type='submit' value='ورود' style='width:60px'></td>
<tr>
<tr>
<td>فراموش کردن کلمه عبور.</td>
</tr>
<tr>
<td>فراموش کردن نام کاربری.</td>
</tr>
<tr>
<td><a href='index.php?option=com_wrapper&view=wrapper&It emid=5'>ایجاد حساب کاربری جدید.</a></td>
</tr>
</table>
</form>
</body>
</html>
");
}
?>[/PHP]
خوب حالا مشکل اصلی اینه که اگه کاربر بخواد به سایت لاگین بشه هیچ مشکلی نیست ولی وقتی بین صفحه ها جابه جا بشه Session مربوطه کاربر پاک میشه. و مانند کسی هست که تا حالا به سایت لاگین نکرده.حالا اگه من بیام خط
[PHP]$ResultCustomers=RunQuery("SELECT `Name`,`Family`,`Status` FROM `customers` WHERE `UserName`='$UserName' AND `Password`='$Password'");[/PHP]
رو غیر فعال کنم دیگه هیچ مشکلی وجود نداره و کاربر خیلی راحت میتونه بیت صفحات سایت جابجا بشه بدون اینکه Session از بین بره. در باره تابع runquery خط با لا هم باید بگم که کد این تایع برای اتصال به بانک اطلاعاتی هست و محتویات اون به شکل زیر هست
[PHP] function RunQuery($QueryString="")
{
$DBName='gtc';
$DBUserName='root';
$DBPassword='';
$DBHost='localhost';
$Connect=mysql_connect($DBHost,$DBUserName,$DBPass word);
$SelectTBL=mysql_select_db($DBName,$Connect);
mysql_query("SET CHARACTER SET utf8");
return mysql_query($QueryString,$Connect);
mysql_close($Connect);
}[/PHP]
حالا به نظر شما مشکل من از کجا میتونه باشه.