kostenloser Webspace werbefrei: lima-city


Php Gross/Kleinschreibung

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    nadsche

    nadsche hat kostenlosen Webspace.

    Folgendes, ich hab ein Formular (formular.htm)
    UND eine php seite die das Formular dann auswertet (formular-auswertung.php)

    In dem Formular wird ein Username und eine E-mailadresse gespeichert - php gibt die daten an mysql weiter.
    Ich hab dafür gesorgt, dass man das Formular nicht abschicken kann, wenn nichts angegeben ist - um leere einträge zu verhindern.

    So, da das Formular eine weile online sein wird, hab ich mir eine kleine maßnahme überlegt, um es vor spambots zu schützen. Das es keinen 100%igen schutz gibt, ist mir klar. Ein Bild auf dem z.B ein Auto zu sehen ist.

    Der User MUSS (ist ein pflichtfeld) angeben was er sieht.

    PHP macht natürlich einen unterschied ob da 'AUTO' , 'auto' oder 'Auto' steht.

    Wie kann ich denn das verhindern?
    Ich lasse prüfen ob in feld $spam 'auto' steht UND ob $name NICHT leer ist

    if ($spam == "auto" && $name != "")
    {
    dann verbindet er mit MYSQL...
    [...]


    Beitrag zuletzt geändert: 26.1.2009 15:15:35 von nadsche
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du kannst entweder alles in Großbuchsataben umwandeln, alles in kleinbuchstaben umwanden oder die Funktion strcasecmp verwenden. Alle Infos auf http://de2.php.net/manual/de/function.strcasecmp.php




    mfg

    drafed-map
  4. Hi,
    Tillorgias empfiehlt heute:
    strtoupper($string)
    und
    strtolower($string)

    Wenn du also einen begriff wie "Auto" hast, dann vergleich so:
    if(strtolower($_POST['usereingabe']) == strtolower($begriff))
    {
          //Welt in Ordnung
    }

    Beide strings werden in kleinbuchstaben umgewandelt. damit müssen sie dann, egal welche groß/kleinschreibung, gleich sein.

    Gruß Tillorgias
  5. g****e

    wenn du testen willst ob eine variable ein leerstring ist nutz doch lieber empty($var)
    wenn die variable einen leerstring enthält oder nich gesetzt ist gibt es ein true zurück. setz in deine if-schliefe also ein: !empty ($name)
    das heißt nur wenn die variable $name nicht leer ist ist ok.
    http://www.php.net/manual/de/function.empty.php

    mit den in lowercase setzen haben meine vorgänger alles gesagt:
    http://www.php.net/manual/de/function.strtolower.php
    hier wird die funktion nochmal erklärt ;-)

    viel spaß damit
  6. n*************h

    Hallo,
    das ist vielleicht keine elegante Lösung, aber so müsste es funktionieren:


    if ($spam == "auto" && $name != "" || $spam == "Auto" && $name != "" || ...)
    {
    dann verbindet er mit MYSQL...
    [...]


    einfach ein logisches oder verwenden
    ich hoffe, es klappt :wink:
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!