PDA

View Full Version : مشکل در لاگین کاربران



sogoli
دوشنبه 14 بهمن 1387, 17:03 عصر
باسلام
من چندتافرم با 2 کاربر طراحی کردم که هرکدام از کاربرها به یکسری از فرمها دسترسی دارند.مشکل اینجاست زمانی که کاربر اول لاگین می کنه و سپس خارج میشه ، کاربر دوم می خواهد لاگین کند ،فرمهای مربوطه به کاربر اول را می ببینه ولی زمانی که دکمه refresh رو می زنم تازه این کاربر می تونه فرمهای خودش رو ببینه
درواقع کاربر وقتی لاگین می کنه بالای صفحه نام کاربر لاگین شده رو منویسه،ولی جالب اینکه نام کاربر قبلی رو نشون می ده که همونطوری که گفتم با رفرش درست میشه.
ممنون میشم راهنمایی بفرمایید

sama01
دوشنبه 14 بهمن 1387, 18:11 عصر
خوب. شما از چه روشی برای لاگین استفاده می‌کنید؟
احتمال خیلی زیاد کوکی‌هایی که قبلا ساخته‌اید از بین نمی‌روند.

به هر حال با این توضیحاتی که دادید نمی‌شه جواب قاطعی داد. کد لاگین را بگذارید.

sogoli
دوشنبه 14 بهمن 1387, 18:52 عصر
البته این نکته رو فراموش کردم بگم که این مشکل روی local نیست ولی زمانی که انرا اپلودش می کنم این مشکل پیش میاد...

sama01
دوشنبه 14 بهمن 1387, 22:11 عصر
به این حساب به احتمال خیلی زیاد اشکال در کوکی است. من هم چنین مشکلی داشتم. کد را بگذارید تا به‌تر بشه نظر داد.

sogoli
سه شنبه 15 بهمن 1387, 07:50 صبح
<?php

if(@$_SERVER["REQUEST_URI"])
{
$pinfo=pathinfo($_SERVER["REQUEST_URI"]);
$dirname = @$pinfo["dirname"];
$dir = split("/",$dirname);
$dirname="";
foreach($dir as $subdir)
{
if($subdir!="")
$dirname.="/".rawurlencode($subdir);
}
if($dirname!="")
{
// @session_set_cookie_params(0,$dirname);
}
}
@session_cache_limiter("none");
@session_start();

error_reporting(E_ALL ^ E_NOTICE);

$host="localhost";
$user="admin";
$pwd="123456";
$port="";
$sys_dbname="tender";


$cCharset = "utf-8";

header("Content-type: text/html; charset=".$cCharset);

$dDebug=false;
$dSQL="";

$bSubqueriesSupported=true;

$tables_data=array();
$field_labels=array();

include("commonfunctions.php");
include("dbconnection.php");



$strLeftWrapper="`";
$strRightWrapper="`";

$cLoginTable = "user";
$cUserNameField = "user";
$cPasswordField = "pass";
$cUserGroupField = "level";
$cEmailField = "";


$cFrom = "";
if($cFrom)
ini_set("sendmail_from",$cFrom);

$gPermissionsRefreshTime=0;
$gPermissionsRead=false;


set_error_handler("error_handler");




$strLastSQL="";


?>

sama01
سه شنبه 15 بهمن 1387, 14:09 عصر
این کد مربوط به چیه؟
من هرچی نگاه می‌کنم درست سر در نمی‌آرم.

sogoli
سه شنبه 15 بهمن 1387, 17:46 عصر
مشکلم با اضافه کردن کد زیر حل شد:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");