[SQL] Klein- und Großschreibung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von smo_0chy, 3. Dezember 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Dezember 2008
    Klein- und Großschreibung

    Hallo,

    Ich arbeite zur Zeit an einer kleinen Community Site.
    Während der Registrierung wird dann natürlich auch überprüft ob der gewünschte Benutzername bereits benutzt wird.
    Das klappt aber nur, wenn ich die Benutzernamen in der Datenbank und im Formular mit einem Großbuchstaben am Anfang geschrieben habe. Sollte aber alles klein geschrieben worden sein, legt er ohne weiteres mehrere Benutzer mit dem selben Nick an.

    Etwa so:
    Datenbank: Test -> Formular: Test = Benutzername bereits vergeben!
    Datenbank: test -> Formular: test = Benutzername erfolgreich angelegt!

    Hab es bis jetzt nur so getestet...

    PHP:
    $connectionid   mysql_connect  ( "localhost" "******" "******" );
                                        if (!
    mysql_select_db  ( "obpe" $connectionid )) {  
                                              echo 
    "<span class='error'>Keine Verbindung zur Datenbank!</span>" ;
                                        }
                                        
                                        
    $_POST [ 'mail' ] =  mysql_real_escape_string ( $_POST [ 'mail' ]);
                                        
                                            
    $user  $_POST [ "user" ];
                                            
    $pw  md5  ( $_POST [ "pw" ]);
                                            
    $first  $_POST [ "first" ];
                                            
    $second  $_POST [ "second" ];
                                            
    $sex  $_POST [ "sex" ];
                                            
    $mail  $_POST [ "mail" ];
                                            
    $bd  $_POST [ "byear" ]. "." . $_POST [ "bmonth" ]. "." . $_POST [ "bday" ];
                                            
    $erstellt  date ( "Y.m.d H:i:s" );
                                            
    $aktivierungscode  rand ( 1 99999999 );
                                            
                                            
    $queryuser  "select * from ecuser where Nickname=' $user '" ;
                                            
    $resultuser  mysql_query ( $queryuser ); 
                                            
    $rowuser  mysql_fetch_array ( $resultuser ); 
                                            
    $checked_user  $rowuser [ 'Nickname' ]; 
                                                    
                                            if(
    $user  ==  $checked_user ) {
                                                echo 
    "<span class='error'>Der Benutzername <b>" . htmlspecialchars ( stripslashes ( $_POST [ "user" ])). "</b> ist bereits in der Datenbank vorhanden.<br />Bitte w&auml;hlen sie einen anderen!</span><br />" ;
                                                include (
    "formular.php" );
                                            } else {
    Und in der Datenbank benutze ich "utf8_general_ci" als Kollation...
    Wär klasse wenn mir da jmd helfen könnte, dass er in Zukunft Groß- und Kleinschreibung ignoriert und überprüft ob der Nick in dieser Art schon vorhanden ist...egal ob vereinzelt Buchstaben Groß geschrieben wurden!

    Vielen Dank
     
  2. 3. Dezember 2008
    AW: Klein- und Großschreibung

    Moin.

    Probier mal die ifabfrage so:

    PHP:
    if( strtoupper ( $user ) ==  strtoupper ( $checked_user ))
    dann vergleicht er die beiden sachen als ob alles groß geschrieben werden würde
    Das selbe würde auch mit kleinschreiben funktionieren, sprich strtolower();.

    gruß encud
     
  3. 3. Dezember 2008
    AW: Klein- und Großschreibung

    dein schlagwort ist hier:

    UPPER() Convert to uppercase
    LOWER() Return the argument in lowercase

    damit kannst du alles groß schreiben oder kleinschreiben:

    bsp:
    PHP:
    SELECT  FROM profil WHERE UPPER ( nickname ) =  UPPER ( $deinevariabe )
    wenn der nickname Test ist und der benutzer test eingibt vergleicht du mit dieser SQL

    PHP:
    TEST  TEST
    danach hast du das problem nicht mehr
     
  4. 3. Dezember 2008
    AW: Klein- und Großschreibung

    PHP:
    $queryuser  "SELECT * FROM ecuser WHERE UPPER(Nickname) = UPPER(' $user ')" ;
    $resultuser  mysql_query ( $queryuser ); 
    $rowuser  mysql_fetch_array ( $resultuser ); 
    $checked_user  $rowuser [ 'Nickname' ]; 
                                                    
    if(
    strtoupper ( $user ) ==  strtoupper ( $checked_user )) {...
    Klappt wunderbar...
    Vielen Dank (Bewertungen raus)
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.