Hi,
ich bin ein rechter Noob was PHP und vor allen Dingen Sessions angeht. Nun habe ich vor einiger Zeit ein für meine Verhältnisse recht ehrgeiziges Projekt angefangen.
http://www.at-dawn.de
So nun habe ich folgendes Problem. Ich öffnne mit folgendem Link ein neues Fenster per JavaScript
:
PHP-Code:
<a href=\"content/print.php?sid=".$_GET["sid"]."\" target=\"print\" onclick=\"FensterOeffnen(this.href); return false\">Show Detailed-/Print-Version</a>
die FensterOeffnen() sieht so aus
PHP-Code:
function FensterOeffnen (Adresse) {
Fenster1 = window.open(Adresse, "print", "innerwidth=1200,height=700,left=0,top=0,scrollbars=yes,dependent=yes,resizable=yes,menubar=yes");
Fenster1.focus();
}
Am Anfang der
print.php (also die Datei die dann geöffnet wird) steht folgendes:
PHP-Code:
if ( !empty($_GET["sid"]) )
{
session_start();
if ( !isset($_SESSION['sess_user']) ) { session_destroy(); $logged_on = 0; } else { $logged_on = 1; }
}
Das das nicht so schön ist weiß ich, nur wie gesagt ich bin anfänger und besser hinkriegen tu ich im moment noch nicht.
So jetzt das Problem. Das ganze funktioniert im FireFox wunderbar. absolut ohne Probleme. Allerdings verliert er im IE wenn man dann die print.php mit dem JavaScript öffnet die kompletten Session-Variablen. Die Session wird gestartet (also die $_GET["sid"] wird korrekt übermittelt und kommt auch an), allerdings sind alle Daten die ich vorher gespeichert hab weg, also ist die $_SESSION["sess_user"] leer, also wird dann die session gleich wieder zerstört und man bekommt "You are not logged on". Dieser Fehelr tritt nur im IE auf, im Firefox funktionierts einwandfrei.
Auch bei allen anderen Seiten habe ich das Sessionmanagment (wenn an das überhaupt so nenne kann) so geregelt wie in der print.php, und da funktionierts sowohl im IE als auch im FF einwandfrei.
Wenn ich im IE von Hand ein neues Fenster öffne und dort dann die verknüpfung per Hand eingebe funktioniert das alles, es macht eben nur Probleme wenn ich es über das JavaScript aufrufe.
Wo liegt das Problem?
Aso wer das ganze ausprobieren will, dem hab ich auf
http://www.at-dawn.de einen Testaccount eingerichtet
Username: geb
Passwort: geb
Vielen Dank
Greez Dark