Mysql-DS mit Formulareingaben vergleichen

Moritz123

Erfahrenes Mitglied
Hallo,

ich soll ein Script programmieren, das folgendes leisten soll:

- User gibt seine Adressdaten in ein Formular ein
- Script soll prüfen, ob daten schon in der Datenbank stehen:
: wenn ja, Formdaten nur per Mail an Empfänger senden
: wenn nein, in die Datenbank eintragen und Mail versende

Nun habe ich mir überlegt, was passiert, wenn der User schon in der Datenbank steht, aber beim ersten eintrag seinen Namen klein und beim zweiten nutzen des Formulars seinen namen groß geschrieben hat.

Wie kann ich das verhindern? Ich habe mir überlegt, dass bevor die eigentlichen Daten verarbeitet werden, alles in Kleinbuchstaben umgewandelt wird.
Aber das halte ich eigentlich für eine recht unschöne Lösung; vielleicht habt ihr ja was besseres...

Vielen Dank jedenfalls!
 
..indem du beim eintragen , den namen entweder mit LCASE(str) bzw. UCASE(str) oder LOWER(str) bzw UPPER(str) in die db eintragen laesst.

ps. aber es sollte mysql egal sein ob gross oder klein, wenn das feld 'unique' gesetzt worden ist, duerfte es auch so funktionieren.
 
ok, erst einmal vielen dank dafür!

Jetzt stehe ich vor dem Problem, dass ich nicht so genau weiß, wie ich die sache angehen soll.
Das mit dem Eintrag in die Datenbank ist kein Thema, aber das mit dem abchecken, ob ein datensatz schon in der Datenbank steht oder nicht und diesen dann ggf updaten, etc...

Vielleicht hat einer von euch ja eine gute Idee dazu...?
 
einfach eine select frage machen:

PHP:
$abfrage = mysql_query("select LCASE(wasauchimmer) from tabelle where name='$_POST[name]'");
if(mysql_num_rows($abfrage) < 1) 
    {
$update = mysql_query("update bla...");
if(mysql_affected_rows($update) > 0) 
   {
     echo "update erfolgreich";
       }
    }

so in etwa.. :-)
 
das macht das script ja... es prueft mit .. where name='$name' .. ob der name bereits vorhanden ist oder nicht.. wenn er es nicht ist, dann machst Du einfach einen .. insert .. ansonsten ein .. update

PHP:
$abfrage = mysql_query("select LCASE(wasauchimmer) from tabelle where name='LCASE($_POST[name])'");
if(mysql_num_rows($abfrage) == 1) 
    {
$update = mysql_query("update bla...");
if(mysql_affected_rows($update) > 0) 
   {
     echo "update erfolgreich";
       }
    } ... to be continued ...
 
Zurück