Mal wieder ein Session-Problem

xkill

Mitglied
Hi an alle,
ich hab hier ein kleines Problem:
und zwar wird in cup_center bei der Session unter user_name alles korrekt angezeigt, jedoch bei cup_teamprofil ist die Session wie leer...

index.php?section=cup_center :
Code:
<?php 
$sessionid=$_GET['sessionid'];
if (isset($_GET['sessionid'])) 
{ 
  session_id($sessionid); 
} 
session_start();
?> 
<br> 
  TeamId: <?php echo $_SESSION['user_id']; ?><br> 
  Teamname: <?php echo $_SESSION['user_name']; ?><br><br>
  <?php echo "<a href=\"index.php?section=cup_teamprofil&sessionid=$sessionid\">Teamprofil</a>";?> <br>
  <a href="index.php?show=logout.inc">Ausloggen</a>
</body> 
</html> 
<?php
   } 
  else 
   { 
    echo "Error!"; 
   } 
?>

index.php?section=cup_teamprofil :
Code:
<?php
$sessionid=$_GET['sessionid'];
if (isset($_GET['sessionid'])) 
{ 
  session_id($sessionid); 
} 
session_start();
$id=$_SESSION['user_id'];
mysql_query($db);
	
$sql = "SELECT * FROM $cup_teams where id=$id";

    $result = mysql_query($sql) OR die(mysql_error());
 
Hoi!

Habe zwar noch nie mit Sessions gearbeitet und kenn deine vorherige Vorgehensweise nicht, so wie du es machst, aber laut Manual steht da folgendes

Anmerkung: Falls Session-Cookies verwendet werden und für session_id() eine ID angegeben wird, wird ungeachtet dessen, ob die aktuelle Session-ID mit der neuen identisch ist, bei jedem Aufruf von session_start() ein neues Cookie gesendet.

Die Konstante SID kann auch dazu verwendet werden, den aktuellen Namen und die Session-ID als Zeichenkette passend zum Anhängen an URLs zu erhalten. Beachten Sie, dass SID nur definiert ist, wenn vom Client nicht das richtige Cookie gesendet wurde.

Übertragen auf dein Beispiel:
Du ziehst erstmal die Session ID nicht über die Konstante SID aus der URL (scheint ein Fehler zu sein). Dann überschreibst du wohl mit dem Eintrag session_id(VALUE); die aktuelle (und eigentlich richtige) Session.
Was passiert wenn du einfach mit SESSION_START(); arbeitest und die Session ID über SID weitergibst

Ist für mich in der Art gerade neuland, daher muss es nicht richtig sein, was ich hier schreib,
Gruss
 
Ob Du eine eigene Variable (hier $sessionid) nutzt oder die Konstante SID ist egal.
Den Code hatte ich hier gepostet und verwende ihn recht aehnlich erfolgreich auf meiner Website.

Hilft es wenn der Link so aussieht?
PHP:
 <?php echo '<a href="index.php?section=cup_teamprofil&amp;sessionid='.$sessionid.'">Teamprofil</a>"; ?>
//
//

Weiterhin hab ich einen kleinen Aenderungsvorschlag fuer das hier:
PHP:
$sessionid=$_GET['sessionid'];
if (isset($_GET['sessionid'])) 
{ 
  session_id($sessionid); 
} 
session_start();
Mach das mal so:
PHP:
if (isset($_GET['sessionid'])) 
{ 
  $sessionid=$_GET['sessionid'];
  session_id($sessionid); 
} 
session_start();
if (!isset($sessionid))
 {
  $sessionid=session_id();
 }
 
Zuletzt bearbeitet:
Zurück