Mehrere Formulare in einer Datei auswerten

Hallo PHP-Experten!

Ich arbeite an einer Turniertabelle für Canasta. (Zum Anschauen ist es hier.)Dabei gibt es am Tisch 4 Spieler und die besseren zwei kommen in die nächste Runde. Ziel ist nun, dass ich die Tische nacheinander rausschicken kann, wenn sie komplett besetzt sind. Das Eingabeformular für einen Tisch schaut so aus:

Tisch 1

Dieses steht in der Datei eingabe.html achtmal untereinander.

Die Ausgabe erfolgt in zwei Schritten. Im ersten Schritt werden die Variablen umgewandelt:

$spieler1 = $_POST[‚spieler1‘];
$spieler2 = $_POST[‚spieler2‘];
$spieler3 = $_POST[‚spieler3‘];
$spieler4 = $_POST[‚spieler4‘];

und dann mit echo ausgegeben:

echo „“;
echo „“.$spieler1."";
echo „“.$spieler2."";
echo „“.$spieler3."";
echo „“.$spieler4."";
echo „“;

Klappt alles super, nur wenn ich den zweiten Tisch abschicke, werden die Variablen überschrieben. Der zweite Tisch (und auch die folgenden) sind gleich aufgebaut, die Tische und Spieler sind weiter durchnummeriert, also sitzen an Tisch 2 die Spieler 5 - 8, Tisch 3 9 - 12 etc. Gibt es nun eine Möglichkeit, die Auswertung so aufzubauen, dass die vorher eingegebenen Spielernamen nicht mehr überschrieben werden? Eine Datenbank bringt mich hier nicht weiter, denn diese Turniertabelle soll ja nur bestehen, solange das Turnier läuft. Nach dem Turnier werden die Sieger ohnehin in einer Datenbank erfasst.

Danke im Voraus für eure Tipps, Anregungen und auch Kritik.

Liebe Grüße
Alex

hi,

wenn sie nacheinander ausgefüllt werden, dann musst du die Informationen irgendwo speichern. Das geht entweder in einer DB oder in einer Session-Variable. Letzteres ist allerdings vom nachteil wenn nicht alles an einem Rechner gemacht werden soll.

Ansonsten hast du immer das Problem, dass bei dem nächsten Aufruf des Scripts die Daten von „eben“ verloren gegangen sind.
Workaround: Die Textfelder mittels value=$_POST[SpielerX] mit den schon eingegebenen Daten füllen und somit quasi immer wieder mitzusenden.

Grüße
IceDragon

Hallo IceDragon!

Danke für die schnelle Antwort.

wenn sie nacheinander ausgefüllt werden, dann musst du die
Informationen irgendwo speichern. Das geht entweder in einer
DB oder in einer Session-Variable. Letzteres ist allerdings
vom nachteil wenn nicht alles an einem Rechner gemacht werden
soll.

Ich werde über die Session-Variablen gehen, habe mich darüber schlau gemacht. Ein Turnier wird immer nur von einem Turnierleiter an einem Rechner abgewickelt. Daher geht das gut mit den Session-Variablen. Die Session dauert dann halt so lange wie das Turnier.

Gruß Alex

Eine Datenbank dient der Datenhaltung .
Da eine Webseite , auch ein PHP , faktisch unabhängig ist bei jedem aufruf , muss der Programmierer die Daten selber speichern.
Entweder nimmt er den Browser (Cookie/iframe) , die URL/Forms (parameter) , oder Dateien bzw Datenbanksysteme.

Bei Cookies läuft es nur in diesem Browser , je nach Einstellung im browser nur bis zum ende der Sitzung.
Bei Iframe nur bis zum neuladen der Seite.

Bei URL oder FORMs werden die Daten an die URL bzw in Inputfeldern gehalten bzw der dem neuen Aufruf übergeben.

Browser aus gleich :frowning: ausser man hat bei URL die aktuelle URL kopiert.

Also bleibt eigentlich gegen sicheren ausfall PHP Daten auf dem Server Speichern.

Die frage ist was soll das werden , nur eine Seite in einem Browser , die dann eben bei ergebniseingabe das anzeigt und die tische erstellt ?

Kein Login ? ok , also nur du am PC und die Leute sehen den Bildschirm (einzelplatzsystem).

Dann reicht Cookie und JavaScript das kannste ohne server nutzen und läuft auf jeden Browser gleich und ist einfach , halt nur nicht auf
anderen Browsern .

http://de.selfhtml.org/navigation/suche/index.htm?Su…

Also Session auf Server auf 1 Tag stellen , denn auch Sessions haben eine Lebensdauer .
Nimm die Session als GET an der URL damit du die abspeichern kannst, dann kann man da wo man die URL mit session ID eingibt weiter machen an dem tournamen , cookies sind da eher unpraktisch, gehen aber auch , solange man sie nicht löscht, irgendwie muss der server ja wissen welche session gerade aktuell ist :smile: