PDA

View Full Version : سوال: مشکل سشن و کوکی



ingenuous67
شنبه 25 اردیبهشت 1395, 21:50 عصر
دوستان سلام
بنده چند روزی هست که با یک مشکل خیلی بد توی php برخورد کردم.
کد زیر رو ببینید:
<?php
session_start();
error_reporting(E_ALL);
$_dbHOST='localhost';
$_dbNAME='dbname';
$_dbUSER='user';
$_dbPASS='********';
$header=mysql_connect($_dbHOST,$_dbUSER,$_dbPASS)o r die('خطا');
mysql_select_db($_dbNAME,$header);
mysql_query("SET NAMES 'utf8'",$header);
mysql_query("SET time_zone='Asia/Tehran'",$header);
date_default_timezone_set('Asia/Tehran');
$test= "cooike_content";
$cexp=time()+(60*60*24*3650);
$_SESSION['ss_user']='salam';
echo 'ss='.$_SESSION['ss_user'];
setcookie("user",$test,$cexp,"jamepush.ir");
if(isset($_COOKIE["user"])){
echo 'cc='.$_COOKIE["user"];
}
else{
echo "Refresh Page!";
}
?>
وقتی اجراش میکنم این خروجیشه:
ss=salamRefresh Page
- سشن ایجاد میشه اما توی صفحات دیگه بهش دسترسی ندارم و خالیه!
- کوکی هم به هیچ عنوان ایجاد نمیشه!
نکته دیگه اینکه همین کد توی سرورهای دیگه تست شده و مشکلی نداره.
پشتیبانی هاست هم میگه سرورها مشکلی ندارن.
دوستان لطف کنید کمک کنید تا این مشکل من حل بشه.
با تشکر

saeedvir
یک شنبه 26 اردیبهشت 1395, 15:25 عصر
از این کد htaccess استفاده کنید :



RewriteEngine on
RewriteCond %{HTTP_HOST} ^DomainName\.ir$ [OR]
RewriteCond %{HTTP_HOST} ^www\.DomainName\.ir$
RewriteRule ^/?$ "http\:\/\/DomainName\.ir\/" [R=301,L]



DomainName هم نام دامنه بدون .ir

حواستون به اون ir خط 2 و 3 و 4 باشه - اگه دامنتون با com هست ، به جای اونا com قرار بدید.

ingenuous67
یک شنبه 26 اردیبهشت 1395, 16:59 عصر
این کد شما رو گذاشتم اما ری دایرکت نکرد.
یه کد خودم پیدا کردم که ری دایرکت انجام میشه اما کوکی همچنان ایجاد نمیشه
RewriteEngine On
RewriteCond %{HTTP_HOST} ^jamepush\.ir
RewriteRule (.*) http://www.jamepush.ir/$1 [R=301,L]

aaaaaaaa1
یک شنبه 26 اردیبهشت 1395, 23:14 عصر
دوست عزیز این مشکل رایجه در برنامه نویسی
بهخ این دلیله که شما در تمامی صفحات از session_start() استفاده میکنید
این کار باعث میشه سیشن های ست شده تنها در همان صفحه عمل کنند
session_start() رو در هدر قرار دهید و هدر را فراخانی کنید دیگه از session_start() در بالا سیشن ها استفاده نکنید...

ingenuous67
دوشنبه 27 اردیبهشت 1395, 09:40 صبح
فکر نکنم به این راحتی ها که شما میفرمایید باشه.
من کد رو تغییر دادم ببینید:
فایل header.php
<?php
session_start();
?>

فایل test.php

<?php
include('inc/header.php');
$cexp=time()+(60*60*24*3650);
setcookie('cookie_jamepush','cookie_content',$cexp ,'/');
echo 'cc='.$_COOKIE['cookie_jamepush'];

?>
اما باز هم کوکی ایجاد نمیشه.

aaaaaaaa1
دوشنبه 27 اردیبهشت 1395, 17:47 عصر
سلام مجدد.
بنده همین کد رو تست کردم انجام شد ...

<?php
session_start();

$cexp=time()+(60*60*24*3650);
setcookie('cookie_jamepush','cookie_content',$cexp ,'/');
echo 'cc='.$_COOKIE['cookie_jamepush'];
?>
این م آدرس تست
http://takfadesign.ir/tst.php

ingenuous67
دوشنبه 27 اردیبهشت 1395, 18:17 عصر
با تشکر
اما حرف بنده هم همینه.
من همین کد رو روی سایر سایت های خودم تست کردم و مشکلی نداره.
فقط روی هاست jamepush.ir به مشکل خوردم.
دوستان ممنون میشم کمک کنید حدودا یه هفته ای هست که درگیر این مسئله هستم.

vahidmoghadam
سه شنبه 28 اردیبهشت 1395, 08:23 صبح
آقا چرا قضییه رو پیچیدش میکنید ... اتم نیست که یه کوکی و سشن سادس ... و اما شما از سشن استفاده نمیکنید که session_start رو اول کدتون آوردید ... اسمش روشه session .... فقط اون صفحه که قصد ایجاد کوکی دارید از کد زیر در ابتدای کل کدتون (خط اول) استفاده کنید :

ob_start();
و از کد زیر در انتهای کل کدتون (خط آخر) استفاده کنید :

ob_end_flush();
البته فقط در صفحه ای که قراره کوکی ایجاد بشه ... در بقیه صفحات که قصد خوندن اطلاعات کوکی رو دارید نیازی به این کدها نیست ... ایشالله که موفق باشی ... البته اگه موفق نباشی بدون مشکل حادتر از این حرفاس :چشمک:

ingenuous67
سه شنبه 28 اردیبهشت 1395, 10:01 صبح
با تشکر از دوستان اما این کد هم کار نکرد.

ingenuous67
سه شنبه 28 اردیبهشت 1395, 21:05 عصر
با تشکر از دوستانی که نظراتشون رو مطرح کردن.
بنده تصمیم گرفتم فایل ها رو یک بار از روی هاست بردارم و دوباره اپ کنم.
جالبه که بعد از آپلود دوباره سایت کوکی و سشن ایجاد میشه. البته تو صفحه ای که مدنظرم بود ایجاد نشد اما مجبور شدم کوکی و سشن رو توی یه صفحه دیگه ایجاد کنم و مشکلم حل شد.
با تشکر دوباره