M
master.rv
Gast
Hi,
Ganz in vorweg, ich bin absoluter Neuling bei PHP und JavaScript auch.
ich habe eine Seite wo man eine Datei "download.zip" herunterladen könnte. Dabei möchte ich mit PHP einen Zähler setzen und in einer Datei speichern. Das die bisherige download Zahl an der Seite zeigt. Dabei wird auch die IP ($adresse) von Downloader auf der Seite gezeigt.
Nach dem download sollte ich eine Mail über den download bekommen. Was auch funktioniert, aber der Zähler wird nicht erhöht und nicht in der "zahler.txt" "Datei gespeichert. Es wird nur der alte Stand gezeigt. Die Zugriffsrechte auf dem Server sind korrekt gesetzt.
Leider vertragen sich die beide nicht so recht. Sobald die JavaScript Zeile aktiviert wird schmiert die Seite ab. Und auch der Zähler wird in der "$datei" nicht erhöht und auch nicht gespeichert. Ich kann den Fehler leider nicht finden.
Das sind die Codes:
PHP:
$adresse = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : "127.0.0.1";
print "<font size="5" face='Times'><br />";
print "Das ist Deine IP: $adresse<br />" ;
print "</font>";
$meineIP = "xxx.xxx.x.xxx";
$datei = "zaehler.txt";
$datei =fopen($datei,"r");
$aufruf =fgets($datei,6);
$aufruf = ($aufruf +1);
$aufruf = (int) preg_replace('/[^\d]/', '', $aufruf);
fclose($datei);
print "<font size="4" color="#66ffff" face='Times'><br />";
print "( Die download.zip wurde bis jetzt insgesamt <span id="jsCount">$aufruf</span> mal heruntergeladen )";
print "</font>";
if ($_GET['file']=="zip") AND (!$meineip == $adresse)){
$datei=fopen($datei, "r+");
$aufruf =fgets($datei,6);
$zaehler = ($aufruf + 1);
rewrite($datei);
fwrite($datei, $zaehler);
fclose($datei);
$subject="download.zip wuerde heruntergeladen.";
$subject1="Epson Treiber (als ZIP Datei) wuerde von dieser IP Adresse: $adresse heruntergeladen.\n
(Insgesammt zum $zaehler-ten mal)";
$message=" Hallo Webmaster von $domain,\n\n der $subject1 \n\n ";
mail($to,$subject,$message,$headers,"-f ".$from);
} else
die();
?>
JavaScript:
<a href="?file=zip" onClick="document.getElementById('jsCount').innerHTML= parseInt(document.getElementById('jsCount').innerHTML)+1">download.zip / als ZIP Datei</a>
Und damit sollte der Zähler auf der Seite gezeigt werden:
print "<font size="4" color="#66ffff" face='Times'><br />";
print "( Die download.zip wurde bis jetzt insgesamt <span id="jsCount">$aufruf</span> mal
heruntergeladen.)";
print "</font>";
Ganz in vorweg, ich bin absoluter Neuling bei PHP und JavaScript auch.
ich habe eine Seite wo man eine Datei "download.zip" herunterladen könnte. Dabei möchte ich mit PHP einen Zähler setzen und in einer Datei speichern. Das die bisherige download Zahl an der Seite zeigt. Dabei wird auch die IP ($adresse) von Downloader auf der Seite gezeigt.
Nach dem download sollte ich eine Mail über den download bekommen. Was auch funktioniert, aber der Zähler wird nicht erhöht und nicht in der "zahler.txt" "Datei gespeichert. Es wird nur der alte Stand gezeigt. Die Zugriffsrechte auf dem Server sind korrekt gesetzt.
Leider vertragen sich die beide nicht so recht. Sobald die JavaScript Zeile aktiviert wird schmiert die Seite ab. Und auch der Zähler wird in der "$datei" nicht erhöht und auch nicht gespeichert. Ich kann den Fehler leider nicht finden.
Das sind die Codes:
PHP:
$adresse = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : "127.0.0.1";
print "<font size="5" face='Times'><br />";
print "Das ist Deine IP: $adresse<br />" ;
print "</font>";
$meineIP = "xxx.xxx.x.xxx";
$datei = "zaehler.txt";
$datei =fopen($datei,"r");
$aufruf =fgets($datei,6);
$aufruf = ($aufruf +1);
$aufruf = (int) preg_replace('/[^\d]/', '', $aufruf);
fclose($datei);
print "<font size="4" color="#66ffff" face='Times'><br />";
print "( Die download.zip wurde bis jetzt insgesamt <span id="jsCount">$aufruf</span> mal heruntergeladen )";
print "</font>";
if ($_GET['file']=="zip") AND (!$meineip == $adresse)){
$datei=fopen($datei, "r+");
$aufruf =fgets($datei,6);
$zaehler = ($aufruf + 1);
rewrite($datei);
fwrite($datei, $zaehler);
fclose($datei);
$subject="download.zip wuerde heruntergeladen.";
$subject1="Epson Treiber (als ZIP Datei) wuerde von dieser IP Adresse: $adresse heruntergeladen.\n
(Insgesammt zum $zaehler-ten mal)";
$message=" Hallo Webmaster von $domain,\n\n der $subject1 \n\n ";
mail($to,$subject,$message,$headers,"-f ".$from);
} else
die();
?>
JavaScript:
<a href="?file=zip" onClick="document.getElementById('jsCount').innerHTML= parseInt(document.getElementById('jsCount').innerHTML)+1">download.zip / als ZIP Datei</a>
Und damit sollte der Zähler auf der Seite gezeigt werden:
print "<font size="4" color="#66ffff" face='Times'><br />";
print "( Die download.zip wurde bis jetzt insgesamt <span id="jsCount">$aufruf</span> mal
heruntergeladen.)";
print "</font>";
Zuletzt bearbeitet von einem Moderator: