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