Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] preg_match ein Rätsel

Einklappen

Neue Werbung 2019

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

  • [Erledigt] preg_match ein Rätsel

    Hallo da ich mal eben neu bin und wirklich ein Anfänger und das gesuchte nicht zu meinem Problem passt hab ich mal einen neuen Thread auf gemacht.

    So mal eben zu meinem Problem.

    Ich versuche nun seit mehreren Stunden eine Lösung zu finden um eine Eingabe vor den Datenbank eintrag zu kontrolieren.
    Es funktioniert sagen wir mal zu 50% , aber halt nicht wirklich so wie ich es mir dachte.

    und zwar

    PHP-Code:
    //zu kontrolierendes input
    <input type=\"text\" name=\"atag\" value=\"'gfhdh\" maxlength=\"7\">

    //kontrolle
    <?php
    $pfehler
    =true// habs sie mal verbessert
    $tagchange $_POST['atag'];
        if(
    preg_match("/[^a-z0-9-_~=]$/"$tagchange))
            {
    $fehler false;}

        if(
    $pfehler==false)
        {echo
    "<tr>
                     <td ><font color='red'>Bitte keine Sonderzeichen!</font></td>
                  </tr>"
    ;}
        if(
    $pfehler==true)
        {
    $tageintrag htmlspecialchars($tagchangeENT_QUOTES'UTF-8');
           
    $GLOBAL['MySQL']->Query("Update table SET tag = '".$tageintrag."'");                
    ?>

    //eintrag trotz Eingabe eines '

    'g
    Ich weiss wirklich nicht mehr weiter und danke für jede Hilfe.


    MfG ca1n3

  • #2
    Hast du dich vielleicht bei den Variablen verschrieben? Du hast nämlich einmal die Variable fehler und einmal die Variable pfehler. Und pfehler wird irgendwie in deinem Skript nicht definiert.

    Kommentar


    • #3
      sorry auch die erste Variable heisst natürlich $pfehler
      also ist sie nur im obengenannten code falsch

      Kommentar


      • #4
        Erwähnst du noch, auf was du überhaupt testen willst?

        Code:
        /[^a-z0-9-_~=]$/
        Wozu das $ am Ende, am Anfang aber kein ^? Wieso willst du nur das Ende testen, ob keine Buchstaben, Zahlen - _ ~ = darin vorkommen?

        Willst du nicht einfach nur das hier:
        http://de3.php.net/manual/en/functio...ape-string.php

        Kommentar


        • #5
          Ich versteh das noch nicht so ganz,
          aber genau das suchte ich.

          Danke, werd mcih da mal durchkämpfen.


          MfG ca1n3

          Kommentar


          • #6
            /[^a-z0-9-_~=]$/
            Nur so Nebenbei, dass Minuszeichen soll sicher auch als solches erkannt werden.
            Also: /[^a-z0-9\-_~=]$/

            Kommentar

            Lädt...
            X