1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

PHP - bestimmte Zeichen verbieten

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von GreenApple, 09.02.09.

  1. GreenApple

    GreenApple Reinette de Champagne

    Dabei seit:
    20.05.07
    Beiträge:
    412
    Hi,
    eigentlich ganz einfach: Ein Feld soll ausgefüllt werden, darf aber nicht leer bleiben und darf nur Zahlen enthalten.

    Code:
    <?php
    	$empfaenger ="E-Mailadresse";
    	$betreff	= "Neue Bewertung auf ***.de";
    	$mailtext	="
    	Eine neue Bewertung f&uuml;r das aktuelle Bild ist eingetroffen:
    	Punkte: $punkte";
    	if(empty($punkte) || ereg ("0-9",$punkte))
    	{
    	header("Location: fehler.html");
    	}
    	else
    	{
    	mail("$empfaenger", "$betreff", "$mailtext", "From: $email");
    	header("Location: danke.html");
    	}
    ?>
    
    Irgendwie funktionierts aber nicht. Es funktioniert, wenn das Feld leer ist, aber ich kann weiterhin Buchstaben eingeben und verschicken.

    Danke schon mal
     
  2. vcr80

    vcr80 Doppelter Melonenapfel

    Dabei seit:
    06.11.08
    Beiträge:
    3.352
    seh ich das richtig, dass du schon während der eingabe das überprüfen willst?
     
  3. GreenApple

    GreenApple Reinette de Champagne

    Dabei seit:
    20.05.07
    Beiträge:
    412
    Nien,
    nachdem man auf absenden gedrückt soll es überprüft werden. Falls dann Buchstaben in dem Feld sind oder es leer gelassen wurde, soll die Fehlerseite erscheinen.
     
  4. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.565
    Versuch mal
    Code:
    if(ereg ("[0-9]",$punkte))
    {
    	mail("$empfaenger", "$betreff", "$mailtext", "From: $email");
    	header("Location: danke.html");
    }
    else
    {
            header("Location: fehler.html");
    }
    
    Du hast PHP ja gesagt, dass wenn Nummern in $punkte stehen ein Fehler ausgegeben werden soll. Zudem war die RegEx falsch.

    Noch ein wenig besser ist:
    Code:
    if (is_int($punkte)) // Prüft, ob $punkte numerisch ist
    {
          if($punkte>=0 && $punkte <=9) // Prüft, ob die Punkte auch im richtigen Intervall liegen.
          {
          MAILCODE HIER
          }
          else { FEHLERCODE HIER }
    }
    else { FEHLERCODE HIER }
    
     
    #4 Bananenbieger, 09.02.09
    Zuletzt bearbeitet: 09.02.09
    GreenApple gefällt das.
  5. GreenApple

    GreenApple Reinette de Champagne

    Dabei seit:
    20.05.07
    Beiträge:
    412
    Vielen Dank hat geklappt! :)

    Schönen Abend noch
     
  6. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    Wieso benutzt ihr nicht die Funktionen is_numeric() und empty() in Kombination?
     
  7. Dadelu

    Dadelu Reinette Coulon

    Dabei seit:
    06.07.05
    Beiträge:
    939
    Währe wohl die beste und sauberste Lösung.. In Bezug auf die Performance könnte es auch noch einen schönen Unterschied machen.
     
  8. GreenApple

    GreenApple Reinette de Champagne

    Dabei seit:
    20.05.07
    Beiträge:
    412
    Hi,
    ich brauche noch einmal eure Hilfe.
    Ich möchte mit der Funktion fwrite einer Datei Text hinzufügen lassen, der Dateizeiger ist aber lässt sich ja aber nur ganz oben oder unten platzieren.

    Jetzt habe ich von der Funktion fseek gelesen, habe aber nicht wirklich verstanden wie es wirklich gehen soll.

    Wäre toll, wenn ihr mir Helfen könntet!
     

Diese Seite empfehlen