Tom: Hilfe beim Kontaktformular

Beitrag lesen

Hello,

whois internic.net: No match for domain "RENE171188.NET".

C:>ping RENE171188.NET
Ping-Anforderung konnte Host "RENE171188.NET" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.

ist das eine Dyn-DNS-Adresse?

Und was meinst Du mit "brakes"?
Das sind übersetzt "Bremsen"

Meintest Du vielleicht "brackets"?

Was beabsichtigst Du mit dieser Zeile?

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="application/x-www-form-urlencoded" name="kontakt">

Ist der Encryption-Type hier bewusst von Dir gewählt worden?
Bist Du Dir über die XSS-Gefahr von $_SERVER['PHP_SELF'] im Formular bewusst?

Das Thema "Optionen und Alternativen in Formularen" haben ja Andere hier schon angesprochen. Wenn Du unterschiedliche Datenaspekte aus den Post-Parametern in Datentypen im Script verwandeln willst, musst Du erst einmal wissen, welche Variablen Du erwartest und in welchen Typ sie konvertierbar wsein sollen. PHP macht bereits Variablen aus den Parametern, aber weist ihnen allen den Typ "String" (Skalar) zu. Nur solche Parameter, die mit [] im Formular gekennzeichnet wurden, werden in Arrays verpackt. Die einzelnen Elemente erhalten aber auch wieder den Typ "String".

Es liegt nun an Dir:

1. Skalare Größen von den Arrays zu trennen
2. Die Umwandlungsvorschriften für jedes einzelne Element festzulegen, anzuwenden
   und zu überprüfen, ob sie erfolgreich waren.
3. eine eigene, manipulationssicher eingebrachte Vergeleichsstruktur bereit zu halten,
   mit deren Hilfe Du die erhaltenen Werte prüfst auf:

3a. durften sie überhaupt gesendet werden?
   3b. konnte sie erfolgreich in den Zieltyp umgewandelt werden?
   3c. liegt der ermittelte Wert im Gültigkeitsbereich?
   3d. sind alle erwarteten Werte übermittelt worden?

Lass es mich bitte mal so zusammenfassen:

Du willst ungeheuer viel in deinem Script erreichen, hast es aber bisher noch nicht einmal geschafft, einzelne Aufgaben in Funktionen zu verpacken. Außerdem solltest Du Steuerflusskontrolle (also die Entscheidungsstruktur) und Datenverarbeitung voneinandr trennen, soweit es geht.

Wenn Du das geschafft hast, lohnt es sich, die bis dahin entstandenen Bausteine einzeln zu diskutieren und zu verbessern, vielleicht sogar, das Ganze dann mit OOP zu redesignen. Dazu solltest Du aber die einzelnen Aufgaben erst einmal identifizieren können und sauber voneinander trennen.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de