Session ID übergeben?!

Simi

Angesehenes Mitglied
Hi all,

Irgendwie kompliziert zum erklären das ganze. Ich habe einen Formular kreiert bei dem die Daten in einer DB gespeichert werden und die Seite wird danach mittels JavaScript weitergeleitet. Dort lese ich die letzte ID aus der Datenbank aus und lasse dann ein pdf mit den Daten erzeugen. Soweit so gut und funktioniert auch tadellos!

Das Problem ist nun, wenn ich die Seite direkt aufrufe bei der ich weitergeleitet wurde, wird natürlich das pdf automatisch generiert mit den Daten vom letzten User. Das ist Sicherheitstechnisch gesehen Sch....!

Meine Idee war folgende:

CODE
script language='JavaScript'>
<!--
window.open('anmeldung_pdf.php?<?=session_id(); ?>', '_blank')
//-->
</script>



Wie ihr sehen könnt versuche ich die session ID zu übermitteln. So könnte ich auf der Seite bei der ich weitergeleitet werde mittels einer if Abfrage checken ob irgendeine session ID vorhanden ist und wenn nicht, wird der Zugriff verweigert. Ehrlich gesagt, hat das nicht so geklappt wie ich mir vorgestellt habe. Nun ist mein Latein am Ende.

Was würdet ihr mir vorschlagen oder resp. wie kann ich die session ID ohne formular übermitteln?

Ich hoffe, dass ihr versteht was ich meine!

Danke im Voraus für Eure Antworten!

Gruss
Simi
 
Hi sd12,

Yep sorry natürlich in PHP. Und wie würde das bei der JavaScript Umleitung aussehen? Etwa folgendermasse:

CODE
<script language='JavaScript'>
<!--
window.open('anmeldung.php?<? $_SESSION["meinesession"]; ?>', '_blank')
//-->
</script>



die Abfrage würde dann folgendermasse aussehen?

anmeldung.php

CODE
<?php
session_start();
if ($_SESSION["meinesession"]) {
echo "Bla bla";
} else { echo "Kein Zugriff!"; }
?>



Das funktioniert leider nicht.

Gruss
Simi
 
du musst natuerlich die Session auch ausgeben:

CODE
<script language='JavaScript'>
<!--
window.open('anmeldung.php?<? echo $_SESSION["meinesession"]; ?>', '_blank')
//-->
</script>



MfG
GP
 
Hi G.P. ,

Ich habe es so gemacht, funktioniert aber leider nicht. Was mach ich falsch? Könnte es am target_blank liegen das die Session nicht übergeben wird? Wobei ich danach in der url folgendes sehe "?1" und die Meldung kommt wie in meiner Abfrage "Kein Zugriff!"

Na ja pröble mal weiter..!

Gruss
Simi
 
Hi all,

Nun habe ich es mit "error_reporting(E_ALL);" und kriefe folgende Fehlermeldung:

Notice: Undefined variable: _SESSION

Hat jemand von euch einen Vorschlag?

Gruss
Simi
 
Hi all,

Ich habe nun festgestellt, dass es an der Generierung des pdf Files liegt. Ich kann mir aber nicht erklären wieso?!

Mein Code sieht folgendermassen aus:

CODE

<?php
session_start();
if ($_SESSION['anmeldung']) {
include('db.inc.php');
require('./pdf/fpdf.php');
$query = "SELECT * FROM anmeldung ORDER BY id DESC LIMIT 1";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
$id = $row["id"];
$name = $row["name"];
$vorname = $row["vorname"];
$adresse= $row["adresse"];
$nr = $row["nr"];
$plz = $row["plz"];
$ort = $row["ort"];
$telgesch = $row["telgesch"];
$telprivat = $row["telprivat"];
$email = $row["email"];
$modell = $row["modell"];
$jahrgang = $row["jahrgang"];
$motivation = $row["motivation"];

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,$id);
$pdf->Cell(50,10,$name);
$pdf->Cell(60,10,$vorname);
$pdf->Output();

}

} else { echo "Kein Zugriff!"; }
?>



Wenn ich aber ohne Sessions arbeite funktioniert das ganze problemlos!

Um Ratschläge und Code Korrigierung wäre ich dankbar.

Gruss
Simi
 
Schreibe mal session_start() direkt nach <?php.

So ein Zeilenumbruch kann Dir eventuell den ganzen Tag verderben.
 
if ($_SESSION['anmeldung']) {
müsste das nicht so sein?

if ($_SESSION[anmeldung]!="") {

ACHTUNG ich habe auch noch die '' entfernt!
 
Hi all,

Ich habe gerade festgestellt, dass der Script nur bei Firefox (Version 2.0.0.7) und Netscape (Version 7.1) funktioniert. Ich verstehe nicht, wieso es bei Opera (Version 9.23) und IE6 nicht funktioniert.

IE6 Fehlermeldung:

http://www.santonelli.ch/forum/fehlermeldung_pdf.bmp

Opera:

Die Datei wird zwar geöffnet, aber ohne Inhalt. Rechte Maustaste funktioniert dann auch nicht...lol!

Evtl. hatte jemand von euch schon mal das gleiche Problem.

Gruss
Simi
 
Hi all,

Problem gelöst! Habe die Lösung in der FAQ von FPDF gefunden. Einfach for session_start() folgende Zeile hinzufügen session_cache_limiter('private');

Gruss
Simi
 
Zurück
Oben