Anmelde Formular Scriptfrage
#1
geschrieben 25. Mai 2013 - 02:16
ich wende mich mal vertrauensvoll an euch, mit meinem mittelgrossen bis gigantischem Problem, zumindest für mich.
Ich versuch das ganze mal so detailreich und knapp wie möglich zu halten.
Ich soll in ein HTML Dokument welches mit fester höhe und breite arbeitet ( 1280 px x 800 px ) eine Art Anmelde Formular basteln. ( Html CSS ist nich das problem )
Dieses besagte Anmelde Formular soll folgende Felder und kriterien enthalten.
Vorname ---> minimaler zeichensatz 2 buchstaben maximaler zeichensatz 20 buchstaben
Name ---> minimaler zeichensatz 2 buchstaben maximaler zeichensatz 20 buchstaben
Email ---> ist das @ zeichen bzw der . enthalten, handelt es sich um eine korrekte email-addresse
Checkbox ---> zum aktzeptieren von "bedinungen" rauchst du ja nein? ja = true nein = false es darf hier jeweils nur eine angabe gemacht werden
okay/abbrechen button
Desweiteren soll bei korrekter angabe sämtlicher daten im hintergrund eine email an den admin mit den entsprechenden informationen verschickt werden und auf das nächste Html dokument verlinkt werden.
bei falscher angabe von daten soll auf das fehlerhafte datenfeld hingewiesen werden mit einer entsprechenden fehlermeldung
Mein grundlegendes verständniss sagt mir bei Vorname
Ist nur ein zeichen enthalten = false
mehr als 20 zeichen enthalten = false
12 zeichen enthalten = true
im prinzip also eine wenn dann abfolge in reihe mit 2 möglichen resultaten - du kommst rein oder auch nicht
ergo ist alles true, dann schick mail und verweise auf nächste href
ist eine false angabe dann gib error mit komentar
nun meine eigentliche fragen
Welche Scriptart würde sich dafür anbieten? Meine persönlichen vorrausetzungen dazu sind, wenig code!!! :-), leicht zu verstehen, ggf zu modifizieren sowie die möglichkeit es via CSS zu formatieren. Die Formatierung ist nicht zwingend notwendig wenn das ganze über eine extra fenster einblendung ( nicht html dokument ) passiert was mir schon fast lieber wäre.
Java-Script wäre denke ich möglich, genauso wie PHP, SQL stände auch zur debatte jedoch wie gesagt fehlt mir da eindeutig das interne know-how ...
Worauf Frage 2 kommt - hat jemand genug langeweile dieses formular umzusetzen *hust*, oder aber etwas in der art rumliegen?
MfG - der der nicht schlafen kann und um 3:16 uhr Nachts nix mehr auch rächtschreibung gibt
Anzeige
#2
geschrieben 25. Mai 2013 - 05:35
- Maximale Feldlänge läßt sich schon in HTML umsetzen.
- Für Rauchen reicht ein simpler Radio-Button.
Stehe leider grad nicht so in HTML5 drin, meine mich aber zu erinnern, daß man da auch zulässige Zeichen in Form von Masken angeben konnte (für die Mail-Adresse); ansonsten halt einen regulären Ausdruck in Javascript oder Jscript oder VBScript, der direkt ans Formularfeld gebunden ist über einen passenden Eventhandler wie onKeyRelease (oder wie der auch immer genau heißen mag) zugreifen. Wenn okay -> true; wenn nicht -> CSS-Reformatierung anstoßen und je nach Laune Text reinschreiben oder aber vorhandenen Text sichtbar/unsichtbar schalten.
Vorteil hiervon: es werden überhaupt keine Daten geschickt, die erwiesenermaßen unbrauchbar (da falsch/nicht den Anforderungen entsprechend) sind.
Was serverseitiges brauchst Du auf jeden Fall - womit Du's umsetzt, mit Perl oder PHP oder sonstwomit bleibt Dir überlassen - was Dir am meisten zusagt. Ich finde, PHP ist für sowas am besten geeignet, weil die Datenbankanbindung hier recht trivial ist (auch wenn ich aus Deinem Post nicht herauslese, ob für Deine Aufgabe diese noch erforderlich ist oder nicht). Entsprechend Deiner Spezifikation müßte dieses Script auf jeden Fall die Mail verschicken (das geht clientseitig nicht) und die nächste Seite zurückgeben und das war's dann auch schon (auch wenn es sich IMMER empfielt, entsprechende Eingabe-Tests auf Serverseite erneut durchzuführen - sonst gibt's den Moment Ärger, wenn wer mit einem selbergebastelten HTML-Formular drauf zugreift oder wer sich in den Server reinhacken will. Ungeprüfte Eingabe auf Serverseite - Absolutes No-Go und bitte NICHT angewöhnen!).
SQL brauchst Du erst, wenn die Daten wirklich in die Datenbank geschrieben werden müssen. Das wäre dann der finale Schritt, der im Sinne einer Transaktion mit der versandten Mail zusammenfällt. Vorher läßt Du von der Datenbank die Finger - je weniger Last für die Datenbank, desto besser ist das.
Letztlich wäre es wohl am einfachsten, wenn Du die gesamte Seite per PHP generieren würdest; dann hättest Du alles zentral an einer Stelle, müßtest aber natürlich den Gültigkeitsbereich der einzelnen Blöcke im Auge behalten (was wird wo ausgeführt):
- HTML, CSS, Javascript -> Browser
- PHP -> Server
#3
geschrieben 25. Mai 2013 - 09:36
Zitat
Ansonsten, Tipp aus eigener Erfahrung, Mindestlängen für Namen sind ok, nur nicht unter 2, Maximallängen sind nicht einfach, 20 ist jedenfalls deutlich zu wenig(ich hab ne Freundin mit Doppelnamen, Adelszusatz und "van", die kommt auf 34 Zeichen nur im Nachnahmen).
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#4
geschrieben 25. Mai 2013 - 09:54
Laut Spezifikation reicht es ja, auf '@' gefolgt von Domain, Punkt, und TLD zu prüfen.... also sinngemäß /.+@[a-z0-9\.-]+\.[a-z]+$/ . Abfrage der Maximallänge (255, wenn ich mich recht entsinne) optional. (Regex nur zur Veranschaulichung.)
Klar gehts auch anders. Index vom @ finden; letzten Index vom '.' finden; schauen, ob beides da ist (ie Index > 0) und dann gucken, ob der Index vom '.' größer ist als der vom '@' (ie, dahinter steht). Aber das ist dann auch noch nicht unbedingt eine gültige Email - nach diesem Schema wäre @. eine Email-Adresse. Da ist Regex einfacher und genauer.
Dieser Beitrag wurde von RalphS bearbeitet: 25. Mai 2013 - 09:55
#5
geschrieben 25. Mai 2013 - 10:49
.+@.+\..+ ist wohl am einfachsten und sinnvollsten, aber RegEx für alle gültigen Mailadressen zu bauen ist genauso komplex und bescheuert, wie HTML mit RegEx bearbeiten zu wollen.
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#6
geschrieben 25. Mai 2013 - 10:59
Zitat
Das steht in der Spezifikation. Mehr nicht.
Heißt: /.*@.*\..*/ reicht aus.
Naja, groß über Sinn und Unsinn brauchen wir natürlich nicht zu sinnieren... aber, rein formal ist *soo* viel auch nicht zulässig für (gültige) Email-Adressen. Es gibt einen eingeschränkten Zeichensatz, es gibt eine Mindest- und eine Maximallänge, es gibt vorgeschriebene Zeichen an fixen (wenn auch unbekannten) Positionen...
Aber all das ist Beiwerk. Spezifikation sagt: @ plus Punkt gleich Email. *schulterzuck* Wenn das gewünscht ist, kann man das gerne so abliefern.
PS. Hier geht es natürlich um das Wohl des Betreibers. Es ist ja schließlich dieser, der *serverseitig* programmiert... und die Idee muß doch sein, unnütze Rechenleistung, soweit es geht, zu vermeiden. Wenn also bereits am Client 90% der Falscheingaben hängenbleiben, hat man dem Server schon ne ganze Menge Streß erspart.
Dieser Beitrag wurde von RalphS bearbeitet: 25. Mai 2013 - 11:02
#7
geschrieben 25. Mai 2013 - 11:11
#8
geschrieben 25. Mai 2013 - 11:16
Entweder ist die Aufgabe Teil eines Projektes, bei welchem sich andere um die hier fehlenden Aspekte kümmern (oder diese einfach später angefügt werden sollen)... oder aber eine Übungsaufgabe jedwelcher Form (worauf ich tippe => "feste Fenstergröße", und dann auch noch @ 1280x800... das ist produktiv nicht zumutbar.)
#9
geschrieben 25. Mai 2013 - 11:24
Und da muß ja dann auch die Seitengröße einen Sinn ergeben. Ob das jetzt 1280x800 oder 800x600 ist, ist ja egal. Es haben alle diese Vorgabe und der Lehrer guckt am Ende nur, ob die auch alle gleich groß sind.
Dieser Beitrag wurde von Holger_N bearbeitet: 25. Mai 2013 - 11:27
#10
geschrieben 25. Mai 2013 - 11:45
es handelt sich um eine praktische aufgabe.
die auflösung ist festgelegt, daran darf leider nicht gerüttelt werden, von daher würde sich ein extra pop up fenster anbieten, da dies von der auflösung unabhängig sein kann.
da auch alles in allem für den Nutzer "nur" 4 abfragen erfolgen ( vorname name mail checkbox ) muss dieses auch nicht so gross sein.
Die background info die rausgeschickt werden soll wäre als mail am einfachsten und würde letzten endes auch nicht mehr in mein gebiet fallen, es geht lediglich darum das die informationen an eine andere stelle verschickt werden.
Wie ich schon sagte, was mir wichtig ist wäre das der code so knapp wie möglich ist und einfach zu modifizieren.
Sprich das ich ggf, neue angaben hinzufügen kann bei bedarf.
MfG - icke
#11
geschrieben 25. Mai 2013 - 12:22
Zitat
"foo bar ist [email protected]"ist z.B. valide.
Ebenso natürlich
!#$%&'*+-/=?^_`{|}~"(),:;<>@[\]und alles >U+007F
Zumindest gilt das für den local Part. Das Längenlimit ist übrigens 254.
Das ist so die Essenz, was in den RFCs steht, nur weil das nicht alle Mailserver auch genau so umsetzen, heißt das ja nicht, dass man sowas nicht einfach verbieten kann - mein eigener Server z.B. macht keine willkürlichen Einschränkungen.
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#12
geschrieben 25. Mai 2013 - 12:46
Selber schuld, wer das alles zuläßt.
#13
geschrieben 25. Mai 2013 - 13:25
#14
geschrieben 25. Mai 2013 - 14:48
Zitat (RalphS: 25. Mai 2013 - 12:46)
…
Hab RFC gerade gegoogelt bzw. gewikipediert und die Absätze zum Thema Humor sind nicht schlecht.
#15
geschrieben 25. Mai 2013 - 15:16
Zitat (Holger_N: 25. Mai 2013 - 14:48)
nur hilft mir das leider nicht weiter :-/
- ← Riesige Homepage zentrieren [uCoz]
- Skript/Web-Programmierung
- MP3 mittels script ineinander kopieren →