Kendi sunucumda çalışan session değerleri farklı bir sunucu da çalışmadı.
Öncelikle
index.php sayfamda şöyle bir switch tagım var.
switch ($s)
{
case '12':
$sql="SELECT menu_detay,id from menu where id='$s' limit 0,1";
$sorgu=mysql_query($sql) or die(mysql_error());
$menu=mysql_fetch_array($sorgu);
echo stripslashes($menu['menu_detay']);
break;
case 'alk' :
include("iletisim.php");
break;
case 'userduzen' :
include("userduzenle.php");
break;
default:
include('slider.php');
break;
}ben bu sayfadaki sesison değişkenlerini görmek için yukarıdaki kodu yazdım.ilk giriş yaptığımda<?php print_r($_SESSION);?>
Array ( [giris] => 1 [id] => 5 )yukarıdaki gibi bana lazım olan [id] session değeri 5 oluyor.
Ama ben üye girişi yapınca açılan menüdeki.
<a href="index.php?s=userduzen" >Üye düzenle</a>ye tıklayınca garip bi şey oluyor ve benim session değerlerim şu şekle dönüyor.
Array ( [giris] => 1 [id] => userduzen )
Ha bunu kontrol eden ve session atayan kontrol sayfamı da paylaşayım arkadaşlar.Yani orda s değişkenine sessiın atayan bişeler de yok.
<?php
session_start();
if($_POST[action]=='do_login')
{
if(!$_POST['username'] || !$_POST['password'])
{
echo "<script>alert(\"!Kullanici Adi ve Sifre girmelisiniz.\")</script><script type=\"text/javascript\">window.location=\"index.php\"</script>";
exit;
}
$sitegiris = $_POST['username'];
$sitesifre = $_POST['password'];
$sitesifre=md5($sitesifre);
$sitegiris = str_replace("<","<",$sitegiris);
$sitegiris = str_replace(">",">",$sitegiris);
$sitesifre = str_replace("<","<",$sitesifre);
$sitesifre = str_replace(">",">",$sitesifre);
$kayitgiris=mysql_query("SELECT id,username,password,onay FROM uyelik WHERE username='$sitegiris'");
$resultgiris = mysql_query("SELECT COUNT(*) FROM uyelik WHERE username='$sitegiris'");
if($resultgiris)
{
$vargiris=mysql_fetch_row($resultgiris);
}
else{
$vargiris[0]=0;
}
if($vargiris[0]>0)
{
while($listele=mysql_fetch_row($kayitgiris))
{
$uyepassword=$listele[2];
if($uyepassword==$sitesifre)
{
$_SESSION[giris]=1;
$_SESSION[id] = "$listele[0]";
$_SESSION[username] = "$listele[1]";
}
else
{
$_SESSION[giris]=0;
}
}
}
else{
$_SESSION[giris]=0;
}
}
if($_GET['action']=='cikis')
{
$_SESSION[giris]=0;
$_SESSION[id] = '';
echo "<script>window.top.location.href = 'index.php';</script>";
}
$oturum[giris]=$_SESSION['giris'];
$uyeid = $_SESSION['id'];
$username=$_SESSION['username'];
?>Ve işin tuhafı benim sunucumda sorun yok ama başka sunucuya atınca session kafayı yiyor.Bu arada
- session_start() yapıyorum.
- session_save_path() denedim ama () <--- bunun içinene yazacağımı tam anlamadım.
- php.ini ye yetki verilmemiş ulaşamıyorum yani ini de bir değişklik de yapamıyorum.
Önerileirnizi bekliyorum.
Saygılar