Sessions-Problem

xkill

Mitglied
Hi Leute,
ich hab hier ein Problem. Bei mir werden Sessions einfach nicht übertragen.
Anfangs, dachte ich, dass es bei $_POST auch so wäre aber, ich muss es immer wieder neu definieren. Also hier nennen es viele "das GET-Problem":

Am Anfang einer Datei muss immer folgendes stehen:
Code:
<?php
$name=$_POST["name"];
?>


Bei GET ist es das gleiche, deshalb ist meine Frage ob das auch das Problem mit den Sessions sein kann.

Danke für alle Antworten.
Euer xkill
 
Wie wird die SessionID bei Dir uebergeben?
In einem Session-Cookie oder im URL?

Hast Du in jedem Script welches auf die Session zugreifen soll am Anfang session_start() ?
 
Danke für deine Antwort (so früh oder so spät ;)).
Ich sende am besten mal ein paar Codeschnipsel.

Das ist aus der Login-Datei:
Code:
<?php 
$pwd=$_POST["pwd"];
$name=$_POST["name"];

session_start();


$sql = "SELECT * FROM cup_teams WHERE name='$name' AND pw='$pwd'"; 
$result = mysql_query ($sql,$db); 

if (mysql_num_rows ($result) == 1) 
{ 

  $data = mysql_fetch_array ($result); 

  $_SESSION['user_id']=$data['id']; 
  $_SESSION['user_name']=$data['name']; 

header ("Location: index.php?show=cup_center"); 
} 
else 
{
header ("Location: index.php?show=formular&fehler=on"); 
} 
?>

Folgendes aus der darauf geladenen Seite:
Code:
<?php 
session_start();
?>
HTML KRAM
  TeamId: <?php echo $_SESSION['user_id']; ?><br> 
  Teamname: <?php echo $_SESSION['user_name']; ?>
...

Ich hoffe das hat dir weitergeholfen.

Mit freundlichen Grüßen
xkill
 
Naja, ich hab's weder frueh noch spaet. Bald 2 Uhr mittags. ;)

Hmm, der Code sieht eigentlich okay aus.
Moeglicherweise wird kein Session-Cookie gesetzt und die SessionID muss im URL uebergeben werden.
 
Könnte man das auch über ein <input type=hidden...machen?
Wenn ja, dann weiß ich, wie es geht ;)

MfG xkill
 
Es waere theoretisch moeglich, aber dann muesste jeder Link ein Submit-Button sein.
Es waere besser die Links ungefaehr so aufzubauen:
HTML:
<a href="blasuelz.php?sessionid=<?php echo session_id(); ?>">BlaSuelz</a>
Und in blasuelz.php steht am Anfang dann folgendes:
PHP:
if (isset($_GET['sessionid']))
 {
  session_id($_GET['sessionid']);
 }
session_start();
 
Danke für deine Hilfe, doch das Problem steht.
Wenn ich auf der neuen Seite mit print_r($_SESSION); die session abrufe wird:
Array ( )
ausgegeben.
Die sessionid wird in der URL übertragen (ziemlich lange zahl) und folgendes hab ich auch drinstehen:

Code:
<?php
if (isset($_GET['sessionid'])) 
{ 
  session_id($_GET['sessionid']); 
} 
session_start(); 
?>
 
Probier mal dieses Script:

test.php
PHP:
if (isset($_GET['sessionid']))
 {
  session_id($_GET['sessionid']);
  session_start();
  if (isset($_SESSION['test']))
   {
    echo "geht";
   }
  else
   {
    echo "geht nicht";
   }
 }
else
 {
  session_start();
  $_SESSION['test']="test";
  header("Location:test.php?sessionid=".session_id());
 }

Es sollte eigentlich "geht" ausgeben.
 
Es geht, aber vielleicht hast du mir indirekt den Fehler gezeigt.
Ich betrachte nochmal das Script und werde mich dann wieder melden.
 
Zurück