IPB

Willkommen, Gast ( Anmelden | Registrierung )

4 Seiten V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Die Robots und das Kontaktformular, Wie wehren?
Conny
Beitrag 08.01.2008 - 10:08
Beitrag #11


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

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
Go to the top of the page
 
+Quote Post
Andreas
Beitrag 08.01.2008 - 10:25
Beitrag #12


____________________
Gruppensymbol

Gruppe: Admin
Beiträge: 1.220
Mitglied seit: 20.10.2001
Mitglieds-Nr.: 3



ZITAT(Conny @ 08.01.2008 - 10:08) *
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
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 08.01.2008 - 10:52
Beitrag #13


Nachschlagewerk des Orakels
Gruppensymbol

Gruppe: Mods
Beiträge: 955
Mitglied seit: 29.08.2006
Wohnort: Frankfurt am Main
Mitglieds-Nr.: 6.217



ZITAT(Conny @ 08.01.2008 - 10:08) *
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.
Go to the top of the page
 
+Quote Post
Conny
Beitrag 08.01.2008 - 10:56
Beitrag #14


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

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 smilywand.gif

Any suggestions?

cu
Conny
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 08.01.2008 - 11:00
Beitrag #15


Nachschlagewerk des Orakels
Gruppensymbol

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.
Go to the top of the page
 
+Quote Post
Conny
Beitrag 08.01.2008 - 11:10
Beitrag #16


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

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
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 08.01.2008 - 11:25
Beitrag #17


Nachschlagewerk des Orakels
Gruppensymbol

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.
Go to the top of the page
 
+Quote Post
Andreas
Beitrag 08.01.2008 - 13:16
Beitrag #18


____________________
Gruppensymbol

Gruppe: Admin
Beiträge: 1.220
Mitglied seit: 20.10.2001
Mitglieds-Nr.: 3



ZITAT(Thomas @ 08.01.2008 - 11:25) *
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


Genau so macht das Sinn. Ist auch meine Vorgehensweise.
Go to the top of the page
 
+Quote Post
Conny
Beitrag 08.01.2008 - 15:19
Beitrag #19


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



ZITAT(Thomas @ 08.01.2008 - 11:25) *
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
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 08.01.2008 - 19:17
Beitrag #20


Nachschlagewerk des Orakels
Gruppensymbol

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 (&nbsp; als Inhalt im TEXTAREA-Tag) - ist das Absicht?
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

4 Seiten V  < 1 2 3 4 >
Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 18.06.2024 - 17:57

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here