Malcolm Beck´s: Mein Self Formmailer ist fertig.

Beitrag lesen

hi,

ich sehe da noch viel Redundantes, das über eine Funktion vereinfacht werden könnte, z.B. die Prüfungen auf leere Pflichtfelder und das Umkopieren der POST-Eingaben.

Ich weiss nicht wie ich anders die Vorschau bauen kann. Ich brauch die POST Daten ja mehrfach, der einfachste Weg ist für mich die in einer Variablen zu haben.

Die Email-Validierung ist Murks - altertümlich und lässt gültige Adressen nicht durch.
Ich habe hierzu nur eine Minimalprüfung:

function tsCheckEmail($adr) {

$regEx = '^([^\s@,:"<>]+)@([^\s@,:"<>]+.[^\s@,:"<>.\d]{2,}|(\d{1,3}.){3}\d{1,3})$';
  return (preg_match("/$regEx/",$adr,$part)) ? $part : false;
}

if($tsPart=tsCheckEmail($tsAdr)) { $tsMail=$tsPart[1]; $tsDomain=$tsPart[2]; }

  
Kannst du mir bitte DAU sicher verraten, wie man das in eine abfrage packt.  
Am besten in Kombination mit tsInput, das mit tsInput habe ich verstanden.  
  

> Anmerkung: der Kunde wollte dann auch noch reine Ziffernfolgen akzeptiert haben, so dass meine Abfrage dann letztlich so aussah:  
> ~~~php

  if(in_array($key, $tsForm['Telefon']) && $val!=='' && !tsCheckPhone($val) && !preg_match("/^0[0-9]{7,21}$/",$val)) tsAddError('Unerwartetes Nummernformat im Feld "'.$key.'"');  

> 

also der letzte preg_match auf 0 mit 7-21 folgenden Ziffern hinzugekommen ist.

Auch hier versteh ich nicht wie man das integrieren kann.

mit diesem:

<p><label for="E-Mail">E-Mail Adresse:</label>

<input id="E-Mail" <?php tsInput("E-Mail"); ?> />
</p>


> Die dazugehörige Funktion ist eine universelle:  
> ~~~php

function tsInput($field,$def='') {  

>   echo 'name="',$field,'" value="';  
>   if(isset($_POST[$field]) && $_POST[$field]!=='') echo str_replace('"','&quot;',htmlspecialchars($_POST[$field]));  
>   elseif($def) echo str_replace('"','&quot;',htmlspecialchars($def));  
>   echo '"';  
> }

Eins weiss ich jetzt, ich werde mich jetzt erstmal auf ein Tutorial stürzen und lernen, wie man Funktionen baut. :)
Was ich hier aber nicht versteh, warum ersetzt du " mit &quot;?

str_replace('"','&quot;',htmlspecialchars($_POST[$field]));

Das macht doch htmlspecialchars.

Abgesehen davon, dass "Homepage" meiner Erfahrung nach am ehesten von Spam-Bots links liegen gelassen wird, würde ich als Bot bei "display: none;" und plötzlich semantisch korrekter Nutzung von <label> vielleicht doch misstrauisch...

Ja, das ist mir auch später durch den Kopf gegenagen, das muss ich noch überarbeiten.

Danke für die Mühen.

grüße

--
I have a Dream...
Bugs erzeugen gegenbugs.
Wir müssen Bugs mit Bugs bekämpfen!
0 61

Mein Self Formmailer, brauchbar oder Gemeingefährlich?

Malcolm Beck´s
  • php
  1. 0
    gooxsy
    1. 0
      Malcolm Beck´s
      1. 0
        gooxsy
        1. 0
          Malcolm Beck´s
          1. 0
            gooxsy
            1. 0
              Malcolm Beck´s
  2. 0
    Stonie
    1. 0
      Malcolm Beck´s
      1. 0
        Stonie
        1. 0
          gooxsy
        2. 0

          Die SELF MODS, brauchbar oder Gemeingefährlich?

          Malcolm Beck´s
          • menschelei
          1. 0
            Ingo Turski
        3. 0
          Malcolm Beck´s
  3. 0
    Volker Nebelung
    1. 0
      Malcolm Beck´s
      1. 0
        gooxsy
        1. 0
          Malcolm Beck´s
          1. 0
            Volker Nebelung
            1. 0
              Malcolm Beck´s
              1. 0
                Volker Nebelung
                1. 0

                  Hacker on Board

                  Malcolm Beck´s
                  • menschelei
                  1. 0
                    Volker Nebelung
                    1. 0
                      Malcolm Beck´s
                      1. 0
                        Volker Nebelung
                        1. 0
                          Malcolm Beck´s
        2. 0
          dedlfix
          1. 0
            gooxsy
            1. 0
              dedlfix
              1. 0
                Malcolm Beck´s
                1. 0
                  dedlfix
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      at
  4. 0
    Ingo Turski
    1. 0
      Malcolm Beck´s
      1. 0
        Ingo Turski
        1. 0
          Malcolm Beck´s
          1. 0
            Ingo Turski
            1. 0

              Mein Self Formmailer. Danke.

              Malcolm Beck´s
              1. 0
                Patrick Andrieu
                1. 0
                  Malcolm Beck´s
                  1. 0
                    Patrick Andrieu
                    1. 0
                      Malcolm Beck´s
                      1. 0
                        Patrick Andrieu
                        1. 0
                          Malcolm Beck´s
    2. 0
      Cybaer
      1. 0
        Ingo Turski
        1. 0
          Cybaer
  5. 0

    Mein Self Formmailer ist fertig.

    Malcolm Beck´s
    1. 0
      Tom
      1. 0
        Malcolm Beck´s
        1. 0
          Tom
          1. 0
            Malcolm Beck´s
    2. 0
      Ingo Turski
      1. 0
        Malcolm Beck´s
        1. 0
          Ingo Turski
          1. 0
            Malcolm Beck´s
            1. 0
              Malcolm Beck´s
            2. 0
              Tom
              1. 0
                Malcolm Beck´s
  6. 0

    PHP Function, Variable auf true/false setzen

    Malcolm Beck´s