Erledigt: PHP Session geht mit Chrome aber nicht mit FF,IE

Edit:
Bin dem Geheimnis auf die Spur gekommen, danke nochmals an Pit für den Hilfeversuch!
Das Problem hatte nichts mit der Session zu tun, es lag einfach an dem php-downloadscript. Dort kann man einen Http-Referrer vorgeben, über den der Download aufgerufen werden muss. Über meine “Adresse.bplaced.net” hat es funktioniert. Mit der aufgeschalteten Domain “Adresse.hahaha.de” funktioniert es nicht… .
Sorry for the Störung!
ERLEDIGT!

Hallo!
Ich bin PHP-Anfänger, habe aber bisher alles so hin gekriegt, wie ich wollte (learning by doing).
Jetzt bin ich aber bei einem Problem angelangt, wo es keinen eindeutig definierbaren Fehler gibt. Im Forum oder FAQ oder Google habe ich nach Stunden der Freude auch nix gefunden, deshalb hoffe ich hier auf Hilfe.
Ich habe einen Download auf meiner Site, den ich schützen möchte. Lösen wollte ich das über ein Formular, das Besucher nachdem Sie die AGB bestätigt haben auf die Downloadsite verweist (per Header(location)), die dann per Http Meta refresh den Downloadlink aufruft, so dass dann der Download gleich startet. Per Abfrage einer von mir gesetzten Sessionvariable soll der Aufruf des Direktlinks nur erfolgen, wenn die Variable vorhanden ist.
Fubktioniert mit Chrome und Safari tadellos, mit IE und Firefox leider nicht. Die Fehlermeldung von Firefox und IE lautet einfach:" Internal Server Error. Contact…" . Leider nicht sehr aussagekräftig. Ohne Session funktionieren die PHP-Scripte auch bei IE und FF einwandfrei.

Die Scripts sehen etwa so aus:
Formular verweist auf ja-nein.php ->

ja-nein.php:

<?php if(isset($_POST['JA']) && $_POST['JA'] == '1') { header("location: ../zurdownsite.php"); } else { header("location: ../machsnocheinmal.php"); } ?>

zurdownsite.php:

<?php SESSION_START(); $_SESSION["meine_variable"] = "123456"; header("location: ../Downloadsite.php"); ?>

Downloadsite.php:

[code]bissle HTML

<?php
echo “<meta http-equiv=“refresh” content=“1; URL=http://test.bplaced.net/download.php?f=xyz”>”;
?>
bissle HTML[/code]

download.php:

<?php SESSION_START(); if (isset($_SESSION["meine_variable"])) { -downloadscript- } else { echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://test.bplaced.net/index.php\">"; } session_destroy(); ?>

Probiert habe ich:

header("Cache-Control: no-cache"); header("Pragma: no-cache"); direkt nach SESSION_START(), ändert nix…
in der Config von bplaced steht session.cache_limiter auf nocache und session.use_only_cookies On , kann das vielleicht daran liegen?

Da das ja in Chrome und Safari super läuft, scheint das Problem ja Browser-spezifisch zu sein… .

Über Hilfe würde ich mich echt freuen, mache jetzt seit Ewigkeiten an der Seite rum und hätte jetzt gerne eeendlich mal ein funktionierendes Ergebnis.
Gruß,
Holk

Setz mal in zurdownsite.php ein session_write_close():

session_start();
$_SESSION["meine_variable"] = "123456";
session_write_close();
header("location: ../Downloadsite.php");

und schau dir die cookies an und vergleiche.

LG pit

Hi Pit,
vielen Dank für Deinen Hilfeversuch!
Meine Antwort hat jetzt etwas gedauert, da ich noch einiges probiert habe.
Also, Deinen Tip mit session_write_close(); hatte ich schon getestet, ohne Erfolg.
Habe jetzt noch

session_cache_limiter ('private_no_expire, must-revalidate'); ob_start(); getestet, alles das Gleiche: FF & IE nein, Safari & Chrome ja… .

Habe die Cookies verglichen, aber die machen mich auch nicht schlauer:
ohne session close:

[code]chrome:
Name: PHPSESSID
Content: f3ce1a05575d0984d8c0d73eb5b72002
Domain: bb-bb-bb.de
Pfad: /
Senden für: Jede Verbindungsart
Für Skript zugänglich: Ja
Erstellt: Dienstag, 12. März 2013 17:43:04
Läuft ab: Beim Beenden der Browsersitzung Anm.-> Cookie trotz session destroy noch vorhanden

Download läuft ok
--------------------->
Firefox 19:

Name PHPSESSID
Value a00d75cac5b6eacd70f1512d3b628499
Host bb-bb-bb.de
Path /
Expires At end of session
Secure No
HttpOnly No

Download: Fehler. Internal server error. Please contact system administrator.


MIT session close:

chrome:
Name: PHPSESSID
Content: a52bdf4bba517609aa9edbb0bf763137
Domain: bb-bb-bb.de
Pfad: /
Senden für: Jede Verbindungsart
Für Skript zugänglich: Ja
Erstellt: Dienstag, 12. März 2013 17:54:28
Läuft ab: Beim Beenden der Browsersitzung

Download läuft ok

-------------------->
Firefox 19:

Name PHPSESSID
Value a00d75cac5b6eacd70f1512d3b628499
Host bb-bb-bb.de
Path /
Expires At end of session
Secure No
HttpOnly No

Download: Fehler. Internal server error. Please contact system administrator.[/code]

Meine große Hoffnung war ob_start(); , jetzt gehen mir echt die Ideen aus.

Fällt Dir noch was ein, oder habe ich bei den Cookies etwas übersehen?

LG, Holk