|
|||
Captcha neu laden ohne JS und $_GET
Hey,
ich hab ein "komisches" Problem. Ich hab ein Captcha und möchte jetzt eine Reload-Funktion einbauen. Ich hab mir gedacht: <form> Input: Vorname Input: Nachname Input: E-Mail Input: Nachricht Input: Captcha <form>submit(für das Formular </form> Da das aber nicht geht, könnte ich das zweite Form unter das erste und dann mittels CSS anpassen, was ich aber nicht schön finde. $_GET möcht ich nicht, weil der Parameter angehängt bleibt, also auch wenn z.B. ein ungültiger Name eingegeben wurde. Was würdet Ihr machen? LG rs-web Geändert von rs-web (07.09.2010 um 21:49 Uhr) |
Sponsored Links |
|
|||
Hi,
aber ich das Problem ist, dass der User dann noch auf Absenden drücken muss. Ich will eigentlich so einen Text wie "Captcha neu Laden" oder einen Aktualisierungspfeil und wenn man draufdrückt, lädt das Captcha neu. LG rs-web |
|
||||
Klar brauchst du mehr als einen Button, wie willst du denn sonst unterscheiden können was der User eigentlich von dir will?
Du musst dir das ungefähr so vorstellen. Du hast ja dein Forumlar. In diesem kommen erst die Felder zur Eingabe persönlicher Daten. Unten drunter kommt der Captcha mit dem Feld zur Eingabe des Textes im Bild und der Text "Captcha neu laden". Dieser ist ein Button, der auf Link getrimmt ist. Darunter kommt dann noch der eigentlich "Absenden" Button. Im php kannst du die beiden über den Value unterscheiden und entsprechend entweder den Captcha neuladen oder das Forumlar absenden. Sollst nun nur der Captcha neu geladen werden, könnte es ja sein, dass Meldungen kommen, die sagen "Bitte geben Sie Ihren Namen ein." oder ähnliches. Diese unterdrückst du einfach mit Hilfe eines Parameters in der URI. Dieser könnte "neuer-captcha", "reload-captcha" oder ähnlich heißen. Darauf hin gibst du dann wieder das Formular aus. Um den User nicht zu verärgern, steht selbstverständlich der soeben eingegebene Text wieder in den Feldern. Es wird ein neuer Captcha generiert und angezeigt. Der User ist vielleicht glücklich. Wenn nun das Formular wirklich versendet wird und ein Fehler auftritt musst du nur daran denken den Parameter aus der URI zu entfernen um Fehlermeldungen nicht zu unterdrücken. Ist alles bestens, so wird das Formular selbstverständlich weiter verarbeitet. Es ist ja nicht verboten mehrere Submit-Felder in Formularen zu haben. Falls du gewillt bist einen Captcha nachzubauen, so kann ich dir empfehlen vorher mal danach zu googlen. Diese "Captcha-Generatoren" bringen die Funktion zum Neuladen normalerweise von Haus aus mit.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade! |
|
||||
Du brauchst keinen Parameter in der URL, unterscheiden kannst du die Anfragen anhand des Submitbuttons der das Formular abgeschickt hat, das Value wird ja übertragen.
In der Regel werden Captchas asynchron aktualisiert, dafür müsstest du dann auch das Formular nicht abschicken (bzw. nur als Fallback wenn Javascript deaktiviert ist). |
|
|||
Hi,
danke für eure Antworten. Das mit den mehreren Submits in einem Formular wusste ich noch nicht, das werd ich Mal ausprobieren. Aber zu dem value von Submit hab ich Mal gelesen, dass eine IE Version die Ignoriert. @Praktikat: Das Captcha ist schon bis auf die neu laden Funkton fertig LG rs-web |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Problem bei Formular layout. | cooky79 | CSS | 0 | 30.05.2011 20:54 |
Kontaktformular Fehler ... | root-2k | (X)HTML | 3 | 22.11.2010 20:05 |
Linkverhalten im IE6 | ChOpSueY! | CSS | 19 | 19.05.2008 22:48 |
Eigene Tags in XHTML 1.1 | x-sharp | (X)HTML | 8 | 03.03.2005 20:53 |
Validator sagt FORM und INPUT Tags nicht erlaubt | Pulli | (X)HTML | 2 | 17.09.2004 11:44 |