$_SESSION nicht in Popup vorhanden

lifehunter

Erfahrenes Mitglied
Hallo,
ich habe bei mir auf der Seite Popups in denen die Nachrichtn stehen die User sich schreiben. Mein Problem ist nun aber das irgendwie die Var. $_SESSION['ID'] nicht im Popup vorhanden ist.
Das hier ist der verkürzte Code:
PHP:
<? include("../check.php");
session_start ();
<div class="right">
<font size="-1">
<? 
$iresult=mysql_query("SELECT `ID`,`an`,`text`,`date`, `lesen` FROM `inbox` WHERE `von`='$mid' AND `an`='".$_SESSION['ID']."' ORDER BY `date` DESC LIMIT 3") or die("inbox auslese: " . mysql_error());
$oresult=mysql_query("SELECT `ID`,`an`,`text`,`date`, `lesen` FROM `outbox` WHERE `an`='$mid' AND `von`='".$_SESSION['ID']."' ORDER BY `date` DESC LIMIT 3") or die("outbox auslese: " . mysql_error());

$zahl= mysql_num_rows($iresult) + mysql_num_rows($oresult);
for($i=0;$i<$zahl;$i++){
$result[$i]=mysql_fetch_array($iresult);
$i++;
$result[$i]=mysql_fetch_array($oresult);}

function cmp ($b, $a) { 
   if ($a[0] == $b[0]) return 0; 
   return ($a[0] < $b[0]) ? -1 : 1; 
}
usort ($result,cmp ); 

for($i=0; $i<3; $i++){
if(isset($result[$i]['text'])){
$text=nl2br($result[$i]['text']);
if($result[$i]['an']!=$_SESSION['ID'])
echo "<em>";
echo "<div align=right>".date("d.m.Y H:i:s", strtotime($result[$i]['date']))."</div>";
if($result[$i]['lesen']==0)
echo "<b>".$text."</b>";
else
echo $text;
echo "<p>";
if($result[$i]['an']!=$_SESSION['ID'])
echo "</em>";}} ?>
</font></div> ?>
Was mach ich falsch?
Bei den Leuten kommt keine Fehlermeldung oder der gleichen. Bei denen wird einfach nur nix angezeigt. Ich weiß das bei denen die $_SESSION['ID'] fehlt, da ich einmal versucht habe $_SESSION['ID'] per echo aufzurufen. Es kam bei den Leuten nix.
Um Ratschläge wird gebeten!
MfG
 
des ist in einem iframe deshalb des reload:
PHP:
<? include("../check.php");
ob_start();
header("Refresh: 60; URL=mailcheck.php");
$result=mysql_query("SELECT `von` FROM `inbox` WHERE `an`='".$_SESSION['ID']."' AND `lesen`='0' GROUP BY `von`");
echo mysql_num_rows($result);
if(mysql_num_rows($result)!=0){
for($i=0;$i<mysql_num_rows($result);$i++)
$nachrichtenid[$i]=mysql_fetch_array($result);
for($i=0;$i<count($nachrichtenid);$i++){
$result=mysql_query("SELECT `nick` FROM `userdaten` WHERE `ID`='".$nachrichtenid[$i]['von']."'");
$nick=mysql_result($result, 'nick'); ?>

<script language="javascript" type="text/javascript">
window.open.focus('http://mainlive.com/mailbox/popup.php?mid=<? echo $nachrichtenid[$i]['von']; ?>','<? echo $nick; ?>','toolbar=no,height=310,width=480,'+
'location=no,status=no,menubar=no,scrollbars=yes,resizable=0,top=10,left=200' );
</script>
<? }}
ob_end_flush(); ?>
 
?!
was meinst du mit übergeben? wenn man sich einloggt wird die $_SESSION['ID'] erstellt. un dann is die überall auf der Seite vorhanden. Sollte und dachte ich zumindest...
 
Ja, gut und schön, alles kein Problem, wenn man Cookies anhat.
Ist dies jedoch nicht der Fall, muss die Session-ID per URL übergeben werden..... Session-ID's schwirren nicht so einfach in der Gegend herum.

Dies geschieht aber zum Einen nicht automatisch(es sei denn, du hast use_trans_sid aktiviert), schon garnicht bei JS-Aufrufen(was open() ist)... und erst recht nicht bei externen Adressen(was bei dir der Fall ist, da die Adresse mit http:// beginnt)
 
Gibt es irgendeinen Befehl, mit dem ich überprüfen kann ob die Cookies aktiv sind?
Die Verlinkung per JavaScript is zu einer internen Seite, kann des http also eigentlich wech machen.
 
Du selbst kannst für dich in den Browsereinstellungen nachschauen.

Bei anderen Leuten:Cookie setzen>Seite neu laden>schauen, ob ein Cookie da ist.

Was das JS betrifft, ...das hilft dir auch nicht weiter.(das Entfernen des http://), die Session-ID würde dort trotzdem nicht eingesetzt(das geschieht im Grossen und Ganzen nur bei Links udn Formularen).

Füge die Session-ID doch per Hand ihn die URL ein.
 
wenn ich die SESSION['ID'] per Hand übergene würde, dann könnte man wenn man Ahnung davon hat das an der Adresse erkennen und sich als jemand anderes ausgeben und jemand was schreiben
 
Jo...da bist du auf einen wesentliches Merkmal von Sessions gestossen:

keine Cookies + keine Sessionübergabe per URL == keine Session (es sei denn, du arbeitest mit POST-Formularen, aber das ist nur unbedeutend sicherer als Übergabe per URL)
 
Zurück