![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() ![]() |
![]() |
![]()
Beitrag
#11
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
Moin Thomas,
wenn ich an der Stelle include verwende wird die 'Kontrol-Seite' in der bestehende Seite geladen (quasi überlagert) Das ginge (zur Not), sieht aber irgendwie Sch** aus. Schöner wäre wenn die 'Kontrol-Seite' (kontaktformbest.php) als eigenständige Seite geladen wird. Anstelle von include sollte also der 'Befehl' ''Lade jetzt die Seite kontaktformbest.php'' stehen. Wie könnte denn sowas aussehen? GET oder go to ?? Da fehlt mir halt das know how. cu Conny |
|
|
![]()
Beitrag
#12
|
|
____________________ ![]() Gruppe: Admin Beiträge: 1.220 Mitglied seit: 20.10.2001 Mitglieds-Nr.: 3 ![]() |
Anstelle von include sollte also der 'Befehl' ''Lade jetzt die Seite kontaktformbest.php'' stehen. Ich mache die Überprüfung in dem Formular selbst. Einziger Nachteil ist, dass man dann durch Ausnutzung von Lücken das Formular mißbrauchen *könnte*. Die Auslagerung der Prüfung ist dann auch nur Security through Obscurity. IMHO natürlich nur. Gruß Andreas |
|
|
![]()
Beitrag
#13
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Anstelle von include sollte also der 'Befehl' ''Lade jetzt die Seite kontaktformbest.php'' stehen. Wenn du bereits HTML-Code ausgegeben hast, ist das ganz schlecht. Dann besser mit der Ausgabe warten, bis feststeht, ob die Prüfung okay ist oder nicht (also das Skript mit dem IF für die Prüfung in zwei Teile teilen: Wenn okay dann dein Skript einbinden, wenn nicht, normalen HTML-Code ausgeben (i.e. die Tabellen etc.)). Normalerweise arbeite ich auch so wie von Andreas beschrieben: Alles in einem Skript, und je nachdem, welche Daten übergeben werden, erkennt das Skript, in welchem Status es sich befindet (erste Eingabe oder Prüfung der Felder mit eventueller Anzeige der Fehler bzw. Weiterleitung der Daten). Ich würde da die Code-Prüfung auch gar nicht von der Prüfung der restlichen Felder trennen. Ist der eingegebene Captcha-Code fehlerhaft, sollte das genau so eine Fehlermeldung geben wie wenn eine Eingabe in einem anderen Feld fehlerhaft ist. |
|
|
![]()
Beitrag
#14
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
Wenn ich statt include header('Location: kontaktformbest.php'); verwende, geht es prinzipiell wie gewünscht, außer, daß das Formular nicht mit den Daten, sonder offensichtlich leer übergeben wird. Ergo das Formular wird nicht abgesandt
![]() Any suggestions? cu Conny |
|
|
![]()
Beitrag
#15
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Mit dem Aufruf von header() wird ein neuer Request erzeugt, der mit dem bisherigen nichts zu tun hat - ergo sind auch alle Daten, egal ob POST, GET oder COOKIE, weg. Die "suggestions" stehen schon weiter oben - wenn du die übergebenen Daten erhalten willst, musst du mit include() bzw. einem einzelnen Skript arbeiten.
|
|
|
![]()
Beitrag
#16
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
Ja, da haben sich unsere Postings überschnitten.
Ich werde die gesamte Prüfung auf einmal durchführen lassen müssen, in zwei Schritte wird wohl nicht gehen... Soll ich nun das Formular zur Prüfseite übergeben und dort dann auch die Prüfung der Code implementieren, oder auf der Seite bleiben und die (gesammte) Prüfauswertung per include aufrufen? Bis jetzt habe ich für die Auswertung (und was dann zu tun ist) eine zweite Seite. cu Conny |
|
|
![]()
Beitrag
#17
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Ich habe in der Regel ein Skript - wenn ein Fehler auftritt, muss ja auch wieder das Formular angezeigt werden, idealerweise mit Markup für die fehlerhaften Felder.
Das Vorgehen wäre also informell folgendes: Prüfen ob Daten vorliegen ja -> Daten prüfen nein -> Leeres Formular anzeigen Daten prüfen (inklusive Captcha) okay -> Daten absenden nein -> Formular mit Daten und Fehlerhinweis anzeigen Geht bei mir mittlerweile über eine Klasse, der ich die Informationen für die Formularfelder sowie Prüffunktionen etc. übergebe, ist aber gerade bei kleineren Formularen, die sich nicht ändern, mit Kanonen auf Spatzen geschossen. Für den Anfang sollte es reichen, eine Funktion zu schreiben, die den Datensatz bekommt und als zweites Argument ein Array mit Fehlermeldungen (Indizes identisch mit denen des Datensatzes). Diese erzeugt das Formular und setzt die Felder des Datensatzes dort ein und - sofern im zweiten Argument eine Fehlermeldung zum entsprechenden Index vorliegt - formatiert das Feld z. b. mit rotem Hintergrund und zeigt dahinter die Fehlermeldung an. |
|
|
![]()
Beitrag
#18
|
|
____________________ ![]() Gruppe: Admin Beiträge: 1.220 Mitglied seit: 20.10.2001 Mitglieds-Nr.: 3 ![]() |
|
|
|
![]()
Beitrag
#19
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
Prüfen ob Daten vorliegen ja -> Daten prüfen nein -> Leeres Formular anzeigen Daten prüfen (inklusive Captcha) okay -> Daten absenden nein -> Formular mit Daten und Fehlerhinweis anzeigen Klar so funktioniert das jetzige Formular auch. Nur das die Sendebestätigung oder der Fehlerhinweis auf einem extra Blatt stehen. Ich Denke das kann auch so bleiben, ich muss lediglich ein Feld mehr Prüfen lassen (die Code Eingabe). Wie es dann mit der Weiterbehandlung beider Scripte geht; also, wie ich das Captcha-Script mit dem bestehenden Script 'geschmeidig' zusammen füge ist wohl die große Herausforderung für mich. cu Conny |
|
|
![]()
Beitrag
#20
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Hmmm - zurück über JS ist zwar ganz nett, aber bei daktiviertem JS blöd, da muss man dann erstmal selber drauf kommen und den Zurück-Button des Browsers anklicken. Auch vor diesem Hintergrund scheint mir die Behandlung in einem Skript günstiger, denn da liegen die Daten immer vor und zudem kannst du (sofern du willst) gezielter auf die Fehler eingehen, indem du z.B. die Felder einfärbst o.ä.
Dein Nachrichtenfeld ist übrigens mit einem Leerzeichen vorbelegt ( als Inhalt im TEXTAREA-Tag) - ist das Absicht? |
|
|
Google Bot |
![]()
Beitrag
#
|
![]() Google Ads ![]() |
|
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 15.05.2025 - 20:16 |