Telefonnummer im PHP Formular auf Syntax überprüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Telefonnummer im PHP Formular auf Syntax überprüfen

    Hallo,

    kann mir vielleicht jemand helfen?

    Ich habe ein Formular und möchte, dass die Telefonnumer auf den richtigen Syntax (also nur Nummern und "/" und "-") überprüft wird.

    Hier ist der Code der Mail.php:

    <html>

    <?include("tel_conf.inc");


    ?>

    <body>

    <?if ("$name"=="" or "$telefon"==""){
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=tel_fehler.html\">\n";exit();}
    $teltest = ereg('[0-9-]', $telefon);

    if ("$teltest"<"0"){echo "<meta http-equiv=\"refresh\" content=\"0; URL=tel_fehler.html\">\n";exit();}






    mail("$mailadresse", "Rückruf-Service", "


    Folgende Person wünscht einen telefonischen Rückruf:

    Name: $name

    Telefon: $telefon



    Anfrage:
    $mitteilung



    ","From: $email\nReply-To: $email\nX-Mailer: PHP/" . phpversion());

    ?>

    <meta http-equiv="refresh" content="0; URL=tel_danke.html">


    Vielen vielen Dank...

  • #2
    und was ist dein problem?

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Wenn du PHP-Code postest, richte dich bitte hiernach

      Aber im wesentlichen geht es sich ja nur um die RegExp. Und da zeigst du nicht mehr als ein simples [0-9]. Das ist als Ansatz oder Problembeschreibung ein bisschen wenig.

      Statt ereg_ solltest du lieber preg_ benutzen.

      OffTopic:
      Im übrigen würde ich bei nem Call-Back wunsch nicht all zu sensibel prüfen. Das sind potentielle Kunden!

      Kommentar


      • #4
        also... es kommt hier immer darauf an, wie genau du die Telefonnummer denn prüfen möchtest....

        Ich denke mal, dass hier eine ganz einfache Lösung reicht. Daher würde ich auch keinen Regex verwenden sondern einfach ganz simpel testen.

        ich würde das für deinen fall so angehen:

        PHP-Code:
        $teltest str_replace('/'''$telefon);
        $teltest str_replace('-'''$telefon);
        $teltest str_replace(' '''$telefon);

        if(!
        is_numeric($teltest){
            
        // Die Telefonnummer ist invalid


        so dürfen zahlen, bindestriche, slashes und whitespaces vorkommen...
        Zuletzt geändert von case; 09.07.2008, 15:01.
        signed oder unsigned... das ist hier die Frage

        Kommentar


        • #5
          Nicht selten erweden auch (Klammern) verwendet.

          Kommentar


          • #6
            Oder auch +49(0) 5555 34442 2

            Ist eine gültige Telefonnummer
            SQL Injection kitteh is...

            Kommentar


            • #7
              hab hier noch einen alten codeschnipel:
              Code:
              $telefon = '+49 (0)202 / 12345 - 67';
              $telefon = '0170 345678';
              $telefon = '0221 56789';
              
              $pattern = "/^(\+[0-9]{2,3}|0+[0-9]{2,5}).+[\d\s\/\(\)-]/";
              if (preg_match ($pattern, $telefon, $hit))
              {
                print_r ($hit);
              }
              mal zum testen. müßte eigentlich passen.
              EDIT:
              habs mal in code-tags gepackt, da das forum hier ja die hälfte frisst.


              peter
              Zuletzt geändert von Kropff; 09.07.2008, 15:33.
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Ok leute... vielen dank... ich werd mal gucken ob ich da was verwenden kann...

                Kommentar

                Lädt...
                X