HTML (JS/PHP) mit Button Zähler in .txt Datei schreiben?

4 Antworten

Nun soll dieser Button zusätzlich noch einen Zähler immer um eins Hochzählen

bis hierhin kein Problem mit JS

und das ganze in eine Textdatei schreiben.

das geht nicht mehr mit JS.

Dazu benötigst Du eine serverseitige Sprache wie z. B. PHP und eine Lösung wie hier vorgeschlagen: https://www.gutefrage.net/frage/html-jsphp-mit-button-zaehler-in-txt-datei-schreiben#answer-303391984

Alex

Dateistruktur:

Projekt-Root:
- index.php
- counter.txt (kann initial einfach leer sein)

Inhalt index.php:

<?php
if (isset($_POST["reset"])) {
    file_put_contents("counter.txt", intval(file_get_contents("counter.txt")) + 1);
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Counter Test</title>
</head>
<body>
<form method="POST">
    <button name="reset">Zurücksetzen</button>
</form>
</body>
</html>

Eine Möglichkeit ohne reload

<? if(isset($_GET["inc_counter"])) file_put_contents('counter.log', ((int) file_get_contents('counter.log')) + 1); ?>
<html>
<head>
  <!-- HEAD -->
</head>
<body>
  <button onclick="(new Image()).src = location + '?inc_counter'">Klicken</button>
</body>
</html>

Dafür muss auf dem Server die Datei counter.log existieren.

Textdatei auf dem Server nehme ich an?

naja, du baust entweder ein Form, dass dann an eine PHP-Seite weitergeleitet und ausgewertet wird oder du lößt per Javascript requests an die URL aus.

Ich frage mich nur, wofür du das brauchst....

FabioFragt 
Fragesteller
 01.02.2019, 07:57

Ja auf einem Server.

Das ganze ist dafür gut, dass ich auswerten kann, wie oft dieser Button geklickt wurde.

Oder gibt es hier noch eine einfachere Methode?

0
Destranix  01.02.2019, 08:00
@FabioFragt

Das loggt nur dummerweise nicht nur, wie oft der Button gecklickt wurde, sondern lässt sich manipulieren, indem man gefakte Anfragen an den Server schickt. Und das funktioniert leider immer, da der Button Clientseitig ist.

Wofür brauchst du das denn?

0
FabioFragt 
Fragesteller
 01.02.2019, 08:02
@Destranix

Das ist nicht schlimm, soll nix öffentliches sein sondern nur Intern.

Es wurde von unserer Sicherheitsabteilung die Anforderung gestellt, eine Art Anzeige zu gestalten, wann der letzte Unfall passiert ist.

Das ist soweit mit einer Art "Stoppuhr" Funktion erledigt.

Nun will man noch wissen, wie oft diese Stoppuhr über den Button zurückgesetzt wurde, also wie oft ein Unfall passiert ist.

Dienst erstmal nur Testzwecken

0
Destranix  01.02.2019, 12:40
@FabioFragt

Hm...An sich würde ich die Zahl ja anders erheben.

Aber mit der Lösung von Dory1 sollte es gehen...Sogar ohne die Datei vorher anzulegen.

0