Hallo Wissende,
ich habe ein Problem, dem ich einfach nicht Herr werde und ich weiß, der
Bug sitzt bestimmt vor dem Rechner. Also könnte ich mal Eure Hilfe
gebrauchen.
Das möchte ich erreichen:
In einem Javascript wird geprüft, ob eine bestimmte Datei vorhanden ist.
Ist sie vorhanden, wird ein PHP-Script aufgerufen, welches dann die
Datei löscht. Sobald die Datei gelöscht wurde, soll ein Alert()
angezeigt werden.
Das Problem:
Der Alert wird nicht angezeigt. Warum?
Hier das Javascript:
<script type="text/javascript">
function isNewMail()
{
var url = "
https://example.com/message/postboxen/postbox_<?PHP echo
$_SESSION['benutzer'];?>.dat";
// document.getElementById('showurl').innerHTML = url;
request = new XMLHttpRequest(); // Definition des Request
request.open('head',url, true); // Request öffnen ... url ist eine
Variable. Bei direktem Aufruf statt dessen '
http://domain.de/datei,xyz'
einschließlich Anführungszeichen
request.send(null); // Request senden
request.onreadystatechange = showAlert; // Request auswerten
setTimeout(isNewMail, 30000);
}
function showAlert()
{
if (request.readyState == 4 && request.status == 200 )
{
location.href = "
https://example.com/tools/delpostbox.php";
}
}
</script>
Das Script läuft mit beiden Funktionen korrekt, wie es soll.
Hier nun das PHP:
<?PHP session_start();
$url=$_SERVER['DOCUMENT_ROOT'] . "/message/postboxen/postbox_" .
$_SESSION['benutzer'] . ".dat";
if (file_exists($url))
{
unlink($url);
sleep(2);
?>
<script>alert('Sie haben neue Nachrichten in Ihrem Postfach.');</script>
<?PHP
}
$uri=$_SERVER['HTTP_REFERER'];
header("location:$uri");
?>
Und in diesem PHP-Script wird der Alert nicht angezeigt, obwohl der
unlink() ausgeführt wird. Warum? Ich stehe da ziemlich auf dem Schlauch.
Gruß
Heiko