[GastForen Programmierung/Entwicklung PHP und MySQL Formular serverseitig prüfen und erneut anbieten

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Formular serverseitig prüfen und erneut anbieten

Tömsken
Beiträge gesamt: 720

16. Mär 2004, 22:04
Beitrag # 1 von 13
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie löst man Folgendes am elegantesten/einfachsten:

1. Anwender füllt ein Formular aus und schickt's ab.

2. Server-seitiges Script prüft die Eingaben, befindet sie als fehlerhaft und will dem Anwender das Formular _incl._ der bereits ausgefüllten Felder erneut vorlegen.

Nun könnte man die Formulardaten als Session-Variable(n) speichern und dem Formular z.B. per GET mitteilen, dass es diese auslesen und anzeigen soll.

Oder man sichert die Formulardaten in einem als temporär gekennzeichneten Datensatz und sagt dem Formular "lies mal Datensatz x aus und zeigt ihn an".

Oder... wie macht man sowas am elegantesten bzw. einfachsten?
X

Formular serverseitig prüfen und erneut anbieten

Pozor
Beiträge gesamt: 892

16. Mär 2004, 23:11
Beitrag # 2 von 13
Beitrag ID: #75347
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Ich loese dies meistens in so:

Das Formular schickt die Daten (POST) an ein anderes PHP-skript oder an sich selbst. Die Daten hatt das Empfaengerskript, es muss also nicht zwischengespeichert werden. Das ueberpruefende Skript gibt dann das Formular nochmals aus, mit den entsprechenden Daten die gesendet wurden.
Fehlerhafte Eingaben loeschen und Feld ev einfaerben.

Gruss Pozor


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

Tömsken
Beiträge gesamt: 720

17. Mär 2004, 00:30
Beitrag # 3 von 13
Beitrag ID: #75353
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Pozor!
Eine Unbekannte gibt's für mich in Deiner Beschreibung, wenn die Daten _nicht_ an die gleiche Datei geschickt werden:

formular.php enthält <form action="checkme.php">

checkme.php prüft nun die Daten und will formular.php erneut aufrufen. Kann's ja auch, aber wie übergibt es formular.php die Daten?


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

Pozor
Beiträge gesamt: 892

17. Mär 2004, 07:37
Beitrag # 4 von 13
Beitrag ID: #75367
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

wie wärs wenn checkme.php das formular selber ausgibt? ansonsten kann man direkt das selbe skript verwenden um die daten zu testen und weiterzuverarbeiten.
Man kann es per GET an die url anhängen, oder per post mit hidden fields an das formular weitergeben.

Ich würde es im selben Skript testen und weiterverarbeiten, oder das checkme Skript gibt das formular selber nochmals aus...

Eine andere Möglichkeit ist der Back-Button -> schlechte idee, würde ich nie so lösen, da nicht sichergestellt werden kann was genau passiert...

Gruss Pozor


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

SabineP
Beiträge gesamt: 7586

17. Mär 2004, 08:42
Beitrag # 5 von 13
Beitrag ID: #75382
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tömsken, Du kannst das gesamte Formular erstmal an ein Script senden das phpinfo aufruft.
In der phpinfo.php siehst Du dann die Namen der Variablen, die den Inhalt der einzelnen Felder enthalten.
So kannst Du erstmal herausfinden wo sich Deine Formulardaten befinden.

Gruß Sabine


als Antwort auf: [#75340]
(Dieser Beitrag wurde von SabineP am 17. Mär 2004, 08:43 geändert)

Formular serverseitig prüfen und erneut anbieten

Tömsken
Beiträge gesamt: 720

17. Mär 2004, 11:31
Beitrag # 6 von 13
Beitrag ID: #75435
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ Pozor
Wenn ein Formular sich selber aufruft, ist's natürlich am einfachsten. Aber diesen Weg möchte ich ungern gehen, um Darstellung und "Logik" zu trennen und weil's bei komplexen Scripts zu unübersichtlich wird (ich hab' z. B. ein Formular, das wahlweise mehrere alternative Scripts aufruft).
Die Back-Button-Lösung wäre von der "Komplexität" her genau das, was mir gefallen könnte :) Aber leider - wie du schon schriebst - nicht unbedingt empfehlenswert.


@ Sabine
Ich weiß schon, wie die Variablen heißen, auch wie die Daten-Weitergabe prinzipiell funktioniert. Nur frage ich mich, ob's nicht vielleicht eine einfachere Lösung gibt, als die Rückgabe per GET, selbst-aufrufendes Formular, Cookie, Session-Variable oder temporärem SQL-Datensatz.
Wie löst Du denn sowas?


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

SabineP
Beiträge gesamt: 7586

17. Mär 2004, 12:05
Beitrag # 7 von 13
Beitrag ID: #75451
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tömsken,

mit einem einzigen Script kann man das machen.

Mit Fallunterscheidungen (if elsif else) kann man je nach Prüfung der gesendeten Formulardaten
verschiedene Formulare an den Browser zurücksenden.
Diese Formulare kann man ja sofort wieder mit den gesendeten Formulardaten füllen,
da sich ja die Formulardaten in den Variablen befinden.

Wenn Formulardaten die Prüfung nicht bestehen wird das entsprechende Formularfeld leer an den Browser zurückgesendet.

Gruß Sabine


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

Tömsken
Beiträge gesamt: 720

17. Mär 2004, 12:26
Beitrag # 8 von 13
Beitrag ID: #75455
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Sabine!

Versteh' ich nicht ganz. Gehst Du von nur einer Datei aus, die das Formular UND die Server-seitigen Prüfroutinen enthält?

Falls ja: Ok, alles klar, aber ich würde gerne Formular und Scripts in separaten Dateien vorhalten.

Wie machst Du's, wenn formular.php checkme.php aufrufen und dieses dann wiederum ggf. zu formular.php zurückverlinken soll incl. Datenübergabe?


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

oesi50
  
Beiträge gesamt: 2315

17. Mär 2004, 12:52
Beitrag # 9 von 13
Beitrag ID: #75465
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi Tömsken,
das Thema hatten wir schon mal:

http://www.hilfdirselbst.ch/...5&topic_id=13185

ausprobieren kannst Du das Script hier:
http://vsrv.net/test/formtest.php

Hier ist der Quellcode dazu:
http://vsrv.net/test/formtest.txt

Für das Back-Button Problem gibt's auch eine Lösung:

- Beim ersten Aufruf wird eine eindeutige ID in ein Hidden-Feld gespeichert
- Bei jedem weiteren Aufruf wird dann diese ID Verwendet

ausprobieren kannst Du das Script hier:
http://vsrv.net/test/formular.php

Hier ist der Quellcode dazu:
http://vsrv.net/test/formular.txt



Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#75340]
(Dieser Beitrag wurde von oesi50 am 17. Mär 2004, 13:09 geändert)

Formular serverseitig prüfen und erneut anbieten

SabineP
Beiträge gesamt: 7586

17. Mär 2004, 13:03
Beitrag # 10 von 13
Beitrag ID: #75467
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tömsken, ja ich meine eine Datei, die alles "macht".
Mit verschiedenen Dateien wird es sicher auch irgendwie gehen, habe ich aber noch nie so realisiert.

Gruß Sabine



als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

Tömsken
Beiträge gesamt: 720

17. Mär 2004, 14:11
Beitrag # 11 von 13
Beitrag ID: #75487
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ oesi50

Danke für die Links - aber die Lösung geht auch von einem "all-inclusive"-Formular aus.

(Scheint so, als ob ich zu der ganz seltenen Gattung von PHP-Leuten gehöre, die Formular und Weiterbearbeitung trennen... ;)

Ich glaube - in Ermangelung besseren Wissens - dass die beste Lösung in der Verwendung eines temporären Session-Arrays besteht. Und bei gaaanz umfangreichen Formularen in der Anlage eines temporären Datensatzes, der direkt nach der Wiedervorlage des falsch ausgefüllten Formulars gelöscht wird.


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

Anonym
Beiträge gesamt: 22827

21. Mai 2004, 00:53
Beitrag # 12 von 13
Beitrag ID: #86515
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe grad ein ähnliches problem, ich hab ne lösung mit all in one script gemacht aber das wird extrem unübersichtlich, ergo tempdatensatz beste lösung meiner ansicht nach!


als Antwort auf: [#75340]

Formular serverseitig prüfen und erneut anbieten

Anonym
Beiträge gesamt: 22827

4. Okt 2004, 14:36
Beitrag # 13 von 13
Beitrag ID: #112982
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
sdfsdfsd


als Antwort auf: [#75340]
X

Aktuell

PDF / Print
PDF-XCange_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
09.09.2021 - 17.12.2021

Digicomp Academy, Zürich
Donnerstag, 09. Sept. 2021, 13.00 Uhr - Freitag, 17. Dez. 2021, 19.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von Publishing NETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: 6'300.– zzgl. 7.7% MWST
Dauer: 18 Tage(ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch