Anmeldeformular = Meldung ausgeben

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

  • Anmeldeformular = Meldung ausgeben

    Hallo,

    und zwar habe ich ein Anmeldeformular. Dieses Formular trägt Daten in die SQL Datenbank ein. Mein Problem ist jetzt, dass, wenn man z.B. einen Benutzernamen wählt, dieser aber bereits in der DB eingetragen ist, dass keine Meldung erscheint, das dieser Benutzername bereits vergeben ist.

    Ich habe das Anmeldeformular aus dem Internet. Nur habe ich keine Ahnung, wie ich Meldungen (z.B. Benutzername vergeben etc.) ausgeben kann.

    Hier der Code:
    PHP-Code:
    <?php
    $host 
    "localhost";
    $user "bla";
    $passwd "bla"

    $db=mysql_connect($host$user$passwd) or exit ("Keine Verbindung hergestellt!");
    mysql_select_db("datenbank") or exit ("Datenbank nicht geöffnet!");

    $Email $_POST["Email"];
    $Klammid $_POST['Klammid'];
    $Benutzername $_POST['Benutzername'];
    $Kennwort $_POST['Kennwort'];

    $result_Email mysql_query("SELECT Email FROM tabelle WHERE Email LIKE '$Email'"); 
    $result_Klammid mysql_query("SELECT Klammid FROM tabelle WHERE Klammid LIKE '$Klammid'"); 
    $result_Benutzername mysql_query("SELECT tabelle FROM tabelle WHERE benutzername LIKE '$Benutzername'"); 
    $result_Kennwort mysql_query("SELECT Kennwort FROM tabelle WHERE Kennwort LIKE '$Kennwort'"); 

    $if_Email mysql_num_rows($result_Email); 
    $if_Klammid mysql_num_rows($result_Klammid); 
    $if_Benutzername mysql_num_rows($result_Benutzername); 
    $if_Kennwort mysql_num_rows($result_Kennwort); 

    // Zur überprüfung 
    echo "$if_Email$if_Klammid$if_Benutzername$if_Kennwort."
    // Ausgabe, wenn beides schon vergeben: 

    if (($if_Email $if_Klammid $if_Benutzername $if_Kennwort) == 0) {
    $sqlbef "insert into tabelle (Email, Klammid, Benutzername, Kennwort) values ('$Email', '$Klammid', '$Benutzername', '$Kennwort')";
    $sqlerg mysql_query($sqlbef$db) or die(mysql_error);
    if (
    $sqlerg == true) echo"Anmeldung erfolgreich!";
    } else {
    echo
    "Anmeldung nicht erfolgreich! Bitte melden Sie sich nochmals an. Bei mehreren erfolglosen Anmeldungen kontaktieren Sie uns bitte. Vielen Dank!"
    }
    mysql_close($db);  
    ?>
    Ich hoffe ihr könnt mir helfen, wo ich was verändern muss und welchen Code ich einsetzen muss?

  • #2
    PHP-Code:
    <?php

    $host 
    "localhost";
    $user "bla";
    $password "bla"

    mysql_connect($host$user$password) or die("Keine Verbindung hergestellt!");
    mysql_select_db("datenbank") or die("Datenbank nicht geöffnet!");

    $params $where = array();
    foreach (array(
    'Email''Klammid''Benutzername''Kennwort') as $param) {
        
    $params[$param] = isset($_POST[$param]) ? mysql_real_escape_string($_POST[$param]) : '';
        
    $where[] = sprintf("%s LIKE '%s'"$param$params[$param]);
    }

    $sql "SELECT 1 FROM tabelle WHERE " implode(" OR "$where) . " LIMIT 1";
    $result mysql_query($sql);

    if (
    mysql_num_rows($result)) {
        
    $message "Existiert bereits.";
    } else {
        
    $sql "
            INSERT INTO tabelle ( " 
    implode(', 'array_keys($params) . " )
            VALUES ( '" 
    implode("', '"$params) . "' )
        "
    ;
        
    $result mysql_query($sql) or die(mysql_error());
        if (
    $result) {
            
    $message "Anmeldung erfolgreich";
        } else {
            
    $message "Anmeldung nicht erfolgreich";
        }
    }

    echo 
    $message;

    ?>

    Kommentar


    • #3
      Danke, aber ich weiß nicht wo ich das Einfügen soll, also an welcher Stelle.
      Ich habe das jetzt mal so gemacht, wie das oben steht, also unter der Datenbankverbindung.

      Aber das funktioniert nicht.

      Bitte, wo muss der Code hin? Ich habe echt keine Ahnung.

      Kommentar

      Lädt...
      X