• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
غیر فعال بود و پاک شدن شسن ها بعد رفرش یا اتقال
#1
باسلام
من روی لوکال یک سایت ساختم و قسمت لاگینش درست کار میکنه
اما الان آوردمش روی هاست
بدون گرفتن یوزر و پس وارد میشه
حتی با کلیک روی دکمه خروج (که با گت دستور خروج رو میفرسته هم خارج نمیشه از مدیریت)
چرا؟

اینم کد :
کد پی‌اچ‌پی:
<?php
//شروع یک نشست
session_start();
 
if ( (isset(
$_GET['logout'])) && ($_GET['logout'] == "true") )
{
unset (
$_SESSION['username']);
header ("Location: login.php");
 
 
}
 
//بررسی تنظیم شدن یا نشدن متغیرهای سشن
if (!isset($_SESSION['username']) || !isset($_SESSION['password'])){
//در صورتی که متغیرهای سشن تنظیم نشده باشند، کاربر مجاز به دیدن ادامه صفحه نیست و او را به صفحه اصلی منتقل می کنیم
header("location:login.php");     
}
elseif(!
$_SESSION['start'])
{
    
$_SESSION['start']=time();
}
else{
    
$time_now=time();
    if(
$time_now $_SESSION['end'])
    {
        unset(
$_SERVER['username']);
        
header("location:login.php?timeout");
    }
}
?>



location رو هم با L بزرگ نوشتم
بازم تغییری نکرد(توی سرچ نوشته بود شاید مال این باشه)
البته مثلا توی قسمت های دیگه هم همین مشکل هست
مثلا من در صفحه اصلی فروشگاه دارم .و با کلیک روی دکمه خرید آیدی اون توی یک سشن ذخیره میشه....اما میرم صفحه بعد (نمایش فاکتور) که قرار بیاد همون آیدی ها رو باز کنه و محصول و نشون بده هیچی نشون نمیده(صفحه رو نشون میده اما قسمتی ک محصولات باید لود بشه خالیه)

یک مشکل دیگه هم اینه وقتی روی دکمه خرید کلیک کنید با متد post آیدی محصول ارسال میشه به همین صفحه و داخل سشن باید بره ....اما وقتی کلیک میکنی میره داخل سبد اما روی یک کالا دیگه کلیک میکنی بجای اینکه توی سبد بشه 2تا محصول همون محصولی که تازه روی خرید کلیک کردم هست و قبلیه پاک شده....

مشکل چیه؟
بیاید با هم مهربان باشیم .....
از محبت خارها گل میشود Heartمثبت بودن رو باهم تمرین کنیمHeart
  پاسخ
تشکر شده توسط :
#2
خط آخر سشن باید unset بشه نه $_SERVER !!!
  پاسخ
تشکر شده توسط :
#3
این مشکل حل کردم اما الان سبد خریدم مشکل داره و کار نمکینه
کدش به این صورته
کد اون
قسمت از صفحه اصلی که درباره سبد خریده
کد پی‌اچ‌پی:
<?php
 
 
 
 
 
session_start
(); 
 
    if(isset(
$_POST['pid'])){
 
 
 
$_SESSION['total_elements'][]=$_POST['pid'];
$names_length=count($_SESSION['total_elements']); 
 
 
 
 
}
 
 
 
 
 
?>
اینم فایل سبد :
کد پی‌اچ‌پی:
<?php
 
if(isset($_GET["refresh"])){
 
 if(
$_GET['refresh']==1){ session_unset(); 
 
 
header('Location: index.php');}
 
  
 
}
 
 
 
if(isset(
$_SESSION['total_elements']))
 
{
 
$names_length=count($_SESSION['total_elements']); 
 
if(
$names_length>0){
 
     
 
     
 
$names_length=count($_SESSION['total_elements']); 
 
 
 
for(
$x=0;$x<$names_length;$x++){
 
  
$idfs=$_SESSION['total_elements'][$x];
 
   
 
$sqlm "SELECT * FROM shopp where p_ID=$idfs;";
 
$result $con->query($sqlm);
 
    
?>
 
    <?php
 
    
while($row $result->fetch_assoc()) {
 
         
 
        echo 
'
 
        <table width="200" border="0">
 
  <tr>
 
    <td width="89">'
.$row['p_title'].'</td>
 
    <td width="101" rowspan="2"><img src="admin12a/'
.$row['p_img'].'" width="50px" height="50px"</td>
 
  </tr>
 
  <tr>
 
    <td height="38">'
.$row['p_price'].'</td>
 
  </tr>
 
</table>
 
 
 
 
 
 
 
        '
;}
 
 
 
   
 
   
 
   
 
   
 
}
 
 
 
}}
//ifif
 
 
?>
 
<a href="index.php?refresh=1">پاک سازی سبد خرید</a>
 
 
 
<a href="factor.php?ok=1">ثبت نهایی سفارش</a> 
بعضی موقع ها کار میکنه
نمیدونم به چی مربوطه.مثلا بعضی موقع ها با کرومسایت کار میکنه.بعضی موقع ها کار نمیکنه با لاگین کردن توی مدیریت کار میکنه و.....


روی لوکال عالی کار میکردUndecided
بیاید با هم مهربان باشیم .....
از محبت خارها گل میشود Heartمثبت بودن رو باهم تمرین کنیمHeart
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان