SessionID übergabe

Yenky

Grünschnabel
Hallo, ich mal wieder :)

Habe nun folgendes Problem:

Nach Eingabe von Daten in ein Formular werden durch klick auf "Eintragen" die Werte in die MySQL Datenbank eingetragen. Zur Bestätgung bekommt man die Anzeige: ... erfolgreich eingetragen.

Da das ganze in einem geschützen Bereich geschieht, wird man per SessionID identifiziert.

Ich habe es nun geschafft, dank der Hilfe hier im Forum, die übergabe der Session ID an die URL der erfolgreich eingetragen Meldungsseite zu übergeben.

Wenn ich nun aber weiter gehen will, nimmt er die SessionID nicht mehr mit, und man muss sich neu einloggen.

Das Skript sieht folgendermassen aus:

<?

include("config.inc.php");

echo "$kopfzeile1 Clanwars - Admin $kopfzeile2";

$conn = mysql_connect($sqlhost, $sqluser, $sqlpass) or
die ("Verbindung zur Datenbank nicht möglich !");
$db = mysql_select_db($database, $conn);

if ($do == yes)
{

if(strlen($gegnerclantag)<1){
$error_msg.="<b>Du hast den Clantag des Gegners nicht angegeben.</b><br>";
}
if(strlen($gegnername)<1){
$error_msg.="<b>Du hast den Namen des Gegners nicht angegeben.</b><br>";
}
if(strlen($gegnerurl)<10){
$error_msg.="<b>Du hast die URL des Gegners nicht angegeben.</b><br>";
}
if(strlen($supporter)<2){
$error_msg.="<b>Bitte gebe einen Author an.</b><br>";
}
if($error_msg){
echo "<center>Der Clanwar konnte aus folgenden Gründen nicht editiert werden:<br><br>";
echo $error_msg;
}else{

$sql = "INSERT INTO $mysql_clanwars (datumtag,datummonat,datumjahr,gegner,gegnerclantag,gegnerurl,gegnerirc,liga,xonx,map1,ergebnismap1eigen,ergebnismap1gegner,map2,ergebnismap2eigen,ergebnismap2gegner,bericht,supporter) VALUES ('$datumtag', '$datummonat', '$datumjahr', '$gegnername', '$gegnerclantag', '$gegnerurl', '$gegnerirc', '$liga', '$xonx', '$map1', '$ergebnismap1eigen', '$ergebnismap1gegner', '$map2', '$ergebnismap2eigen', '$ergebnismap2gegner', '$bericht', '$supporter');";
mysql_query($sql, $conn);

mysql_close($conn);

######### Hier ist die Meldung das der War erfolgreich eingetragen wurde. In der URL steht die korrekte SesssionID #########

echo"
<br><br><br>
<font size='2' face='Verdana'><center>Der Clanwar wurde eingetragen.<br><br>
[ <a href='http://www.blubb.de/index.php?sub=waradmin&".session_name()."=".session_id().">Weiter</a> ]</center></font>
<br><br><br>
";


exit;

}
}

echo"
<input type=\"hidden\" name=\".session_name().\" value=\"".session_id()."\" />
<center>
<form name=cwadd method=post action='/wars/admin/add.php?".session_name()."=".session_id()."'>
<table width='$tablew' border='0'>
<tr>
<td colspan='2'><b>Clanwar Hinzufügen</b></td>
</tr>
<tr>

##### Ausgeschnitten (Hier kommt normal die Eingabe der Werte) #####

<td>&nbsp;</td>
<td><br>
<input type=hidden name=do value=yes>
<input type=submit value=Hinzufügen>
</td>
</tr>
</table>
</form>
<br><br>
<a href='index.php'>zurück</a>
</center>
<br><br>
";


Das ganze ist in einer Datei. Die übergabe der Session ID von der Eingabemaske auf die Erfolgreich eingetragen Seite funktioniert, nur beim klick auf weiter geht sie dann verloren und der Link sieht dann nur so aus:

http://www.blubb.de/index.php?sub=waradmin&sessionid=

Also fehlt hier die Session ID und somit muss man sich neu einloggen um weitere im Internen Bereich arbeiten zu können.

Was fehlt mir nun in dieser Datei für ein Eintrag, das er auch beim zweiten Link die Session ID mitnimmt?

Greets Jens
 
Du solltest mal überprüfen ob die Session in deinem Script mittels session_start() gestartet wird. Falls ja fällt mir momentan kein Fehler auf, falls die Session jedoch nicht gestartet wird kannst du die Funktion session_id() soweit ich weiß nicht benutzen. In beiden fällen müsste aber die SessionID in der Variable $sessionid gespeichert sein.

Vielleicht hilft dir das ja weiter.
 
Zuletzt bearbeitet:
Daaaanke, du warst meine Rettung...

Ich habe einfach mal das $sessionid als Asgabe gemacht und siehe da er hats genommen....

Mit dem ursprünglichen Befeh: ".session_id()." hat er keine zurückgeliefert aber mit ".$sessionid." im Link macht er es :)

Freu

Danke dir für den Tip :)

Greets Jens
 
Zurück