Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

24.09.2014, 18:46

HTML Buttons -> PHP Script

Moin!

ich bin gerade ein bisschen am Verzweifeln über meinen Code einer Test-Website. Dazu muss man sagen, dass ich ziemlicher Neuling in der Webentwicklung bin, ich schließe also auf einen typischen Anfängerfehler :S...

Also, es geht um Folgendes: Eine Website soll im Großen und Ganzen ein paar Buttons anzeigen. Wird einer von diesen gedrückt, so soll ein PHP-Script aktiviert werden, dass eine Zahl in eine Textdatei schreibt. Bei meiner Version wird jetzt aber (glaube ich) noch nicht einmal das Script aufgerufen. Ich habe das ganze über xampp gestartet.

Hier die Codes:
example.html

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
</head>
<body>
<form action="auswertung.php" method="post">
    <input type="button" name="A1" value="foo">
    <input type="button" name="A2" value="bar">
    <input type="button" name="A3" value="foobar">
</form>
<br />
<br />
<form action="auswertung.php" method="post">
    <input type="button" name="B1" value="foo2">
    <input type="button" name="B2" value="bar2">
    <input type="button" name="B3" value="foobar2">
</form>
</body>
</html>


auswertung.php

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
if (isset($_POST['A1']))
{
    $datei = fopen("foo.txt", "w");
    fwrite($datei, "-1");
    fclose($datei);
}
if (isset($_POST['A2']))
{
    $datei = fopen("foo.txt", "w");
    fwrite($datei, "0");
    fclose($datei);
}
if (isset($_POST['A3']))
{
    $datei = fopen("foo.txt", "w");
    fwrite($datei, "1");
    fclose($datei);
}
if (isset($_POST['B1']))
{
    $datei = fopen("bar.txt", "w");
    fwrite($datei, "-1");
    fclose($datei);
}
if (isset($_POST['B2']))
{
    $datei = fopen("bar.txt", "w");
    fwrite($datei, "0");
    fclose($datei);
}
if (isset($_POST['B3']))
{
    $datei = fopen("bar.txt", "w");
    fwrite($datei, "1");
    fclose($datei);
}
?>


Ich hoffe, ihr könnt mir auf die Sprünge helfen :)

Grüße

2

24.09.2014, 18:54

Die Buttons müssen vom Typ "submit" sein, nicht "button". Hab ewig kein HTML/PHP mehr benutzt, aber das sollte so theoretisch gehen.
Cube Universe
Entdecke fremde Welten auf deiner epischen Reise durchs Universum.

3

24.09.2014, 19:23

:dash:
Dankeschön, funktioniert jetzt :thumbsup:

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

4

24.09.2014, 19:32

Zwei kleine Dinge: fopen, fwrite und fclose sind in der Funktion file_put_contents zusammengefasst (und für das auslesen existiert gleichwohl die Funktion file_get_contents).
Zudem sollte man keine doppelten Anführungszeichen in PHP verwenden, da der Interpreter diese auf mögliche Variablen-Vorkommen hin untersucht, um sie zu ersetzen.
Dieser Code:

Quellcode

1
2
$var = 42;
print "Die Nummer $var ist die Antwort auf Alles!";

würde also Die Nummer 42 ist die Antwort auf Alles! ausgeben.
Das ist aber gleichwohl schlechter / alter Stil und die Verkettung durch den Punkt-Operator (in Kombination mit einfachen Anführungszeichen) ist vorzuziehen:

Quellcode

1
2
$var = 42;
print 'Die Nummer ' . $var . ' ist die Antwort auf Alles!';

Einfache Anführungszeichen sind also de facto etwas schneller / performanter.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Werbeanzeige