Hallo Leute,
ich habe folgendes Problem. Ich habe auf meiner Seite ein Tagebuch, in dem die Tage seitenweise angeordnet sind und man zwischen ihnen mit entsprechenden Buttons blättern kann. Dabei wird mittels AJAX immer der Inhalt des jeweiligen Tages in den DIV nachgeladen. Ich habe zwei PHP-Variablen eingeführt, eine mit dem Namen $max für den letzten möglichen Tag (wird per $fn ermittelt) und eine mit dem Namen $aktuell, in der der aktuell angezeigte Tag für das Blättern gespeichert wird. Am Anfang wird standardmäßig der letzte Tag angezeigt.
Hier der Quellcode für die Belegung der Variablen:
<?php
if($first==0)
{
do
{
$max=$max+1;
$fn = "Tag_" . (string) $max . ".txt";
}
while(file_exists($fn));
$max=$max-1;
if($aktuell==0)
$aktuell=$max;
$first=1;
}
?>
Hier der Code für die Buttons:
<td align="center"><input name="Anfang" type="image" src="Grafiken/PfeilAnfang.gif" onClick="javascript:sendRequest(1);"></td>
<td align="center"><input name="zurueck" type="image" src="Grafiken/Pfeilzurueck.gif" onClick="javascript:sendRequest(<?php $wert=$aktuell-1; echo $wert; ?>);"></td>
<td align="center"><input name="vor" type="image" src="Grafiken/pfeilvor.gif" onClick="javascript:sendRequest(<?php $wert=$aktuell+1; echo $wert; ?>);"></td>
<td align="center"><input name="Ende" type="image" src="Grafiken/pfeilEnde.gif" onClick="javascript:sendRequest(<?php echo $max; ?>);"></td>
Hier der AJAX-Code:
function sendRequest(tagesnummer)
{
if (!xhttp)
{
alert("Fehler beim Aufruf von XMLHttpRequest!");
return; // exit
}
xhttp.open("GET","Tag_"+tagesnummer+".txt",true);
xhttp.onreadystatechange=sendRequest_callback;
xhttp.send(null);
<?php
$aktuell=tagesnummer;
?>
}
function sendRequest_callback()
{
if (xhttp.readyState==4 && xhttp.status==200)
document.getElementById("Text").innerHTML=xhttp.responseText;
}
Nun mein Problem. Wie ihr seht, wird immer ein um eins verringerter oder erhöhter Wert bei den Vor- und Zurück-Buttons an die Javascript-Funktion übermittelt, wo dann die entsprechende Textdatei ausgelesen wird. Am Ende wird die PHP-Variable aktuell auf die gerade übergebene Tagesnummer gesetzt. Bis hierhin funktioniert alles einwandfrei, wie mir eine Ausgabe des Variableninhaltes an dieser Stelle auch zeigte. Wenn ich jetzt aber ein weiteres Mal auf den Button klicke, wird wieder der alte Wert der Variable $aktuell als Grundlage genommen, so dass ich mit vor und zurück immer nur zwischen zwei Seiten blättern kann. Wieso vergisst PHP diese Wertänderung zwischendurch? Und wie kann ich das Ganze umgehen?
Vielen Dank schon im Voraus für eure Hilfe!
PHP-Noob