MySQL Datenbank auf doppelten Eintrag überprüfen

01/19/2016 21:05 .Traze™#1
Guten Abend liebe Community,

mein Problem ist, immer wenn ich meine Script aktualisiere.
Also oben auf "Aktuelle Seite neu laden" klicke, dann trägt er Benutzername etc. mit leeren Feldern in die Datenbank ein.

Und wie kann ich eine Abfrage starten, damit keine Codes zwei mal in der Datenbank vorhanden sind?
PHP Code:
<?php
    session_start
();

    
$config['database'] = array(
        
'host' => '127.0.0.1',
        
'user' => 'root',
        
'pass' => 'comander96',
        
'db' => 'server'
    
);

    
/* Verbindung mit der Datenbank herstellen */
    
$dbcon mysqli_connect ($config['database']['host'], $config['database']['user'], $config['database']['pass'], $config['database']['db']);
    
$dbcon mysqli_set_charset($dbcon'utf8');

    if(!
$dbcon) {
        die(
'Es ist ein Fehler aufgetreten: ' mysqli_error());
    }
        
    
/* SQL-Abfrage ausführen*/
    
$sql mysqli_query($dbcon"SELECT * FROM codes");
    
$num mysqli_num_rows($sql);
    
    echo (
"Es wurden {$num} Datensaetze gefunden!");
        
?>
<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title> | Einbetten | </title>
            <!-- <link href="style/abfrage.css" rel="stylesheet" media="screen"> -->
        </head>
        <body>
            <?php
                
/* Variablen */
                
$bname $_POST["bname"];
                
$email $_POST["email"];
                
$code $_POST["code"];
                
$wert $_POST["wert"];
                
                
$eintrag "INSERT INTO codes (Benutzername, Email, Paysafecode, Wert) VALUES ('$bname', '$email', '$code', '$wert')";
                
$eintragen mysqli_query ($dbcon$eintrag);

                if(isset(
$_POST['button'])) {
                    if (empty(
$_POST['bname']) || empty($_POST['email']) || empty($_POST['code']) || empty($_POST['date']) || empty($_POST['ersteller'])) {
                        echo (
"Bitte füllen Sie alle Felder aus!");
                    } else {
                            echo(
"Daten erfolgreich eingebettet!");
                    }    
                }
            
?>
            <h1>Paysafecard einfügen:</h1>
            <form method="post">
                <table>
                <!--- Benutzername -->
                    <tr>
                        <td>Benutzername:</td>
                        <td><input type="text" name="bname" size="20" placeholder="Benutzername eingeben" pattern="[A-Za-z]{5}" title="Mindestens 5 Zeichen"></td>            
                    </tr>
                <!--- Email -->
                    <tr>
                        <td>Email:</td>
                        <td><input type="email" name="email" size="20" placeholder="[Only registered and activated users can see links. Click Here To Register...]" title="Bitte E-Mail Adresse angeben"></td>            
                    </tr>
                <!--- Paysafecard - Code -->
                    <tr>
                        <td>Paysafecode:</td>
                        <td><input type="time" name="code" size="20" maxlength="20" pattern="[0-9]{16,}" title="Paysafecard-Code muss aus 16 Stellen bestehen"></td>
                    </tr>
                <!-- Wert von Code -->
                    <tr>
                        <td>Wert:</td>
                        <td><input type="time" name="wert" size="20" maxlength="20" pattern="[0-9]{2,}" title="Wert muss mindestens 2 Stellen haben"></td>
                    </tr>
                <!--- Absenden && Zürücksetzen -->
                    <tr>
                        <td><input type="submit" name="button" value="Eintragen"></td>
                        <td><input type="reset" value="Zurücksetzen"></td>
                    </tr>
                        
                </table>
            </form>
        </body>
    </html>
Regards
Traze
01/19/2016 21:10 Icetea#2
Einfach nur den Eintragen Query ins else, sonst checkt er das zwar alles aber trägt so oder so ein. :)

PHP Code:
<?php
    $config
['database'] = array(
        
'host' => '127.0.0.1',
        
'user' => 'root',
        
'pass' => 'comander96',
        
'db' => 'server'
    
);

    
/* Verbindung mit der Datenbank herstellen */
    
$dbcon mysqli_connect ($config['database']['host'], $config['database']['user'], $config['database']['pass'], $config['database']['db']);
    
$dbcon mysqli_set_charset($dbcon'utf8');

    if(!
$dbcon) {
        die(
'Es ist ein Fehler aufgetreten: ' mysqli_error());
    }
        
    
/* SQL-Abfrage ausführen*/
    
$sql mysqli_query($dbcon"SELECT * FROM codes");
    
$num mysqli_num_rows($sql);
    
    echo (
"Es wurden {$num} Datensaetze gefunden!");
        
?>
<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title> | Einbetten | </title>
            <!-- <link href="style/abfrage.css" rel="stylesheet" media="screen"> -->
        </head>
        <body>
            <?php
                
/* Variablen */
                
$bname $_POST["bname"];
                
$email $_POST["email"];
                
$code $_POST["code"];
                
$wert $_POST["wert"];
                
                
$eintrag "INSERT INTO codes (Benutzername, Email, Paysafecode, Wert) VALUES ('$bname', '$email', '$code', '$wert')";
                
$eintragen mysqli_query ($dbcon$eintrag);

                if(isset(
$_POST['button'])) {
                    if (empty(
$_POST['bname']) || empty($_POST['email']) || empty($_POST['code']) || empty($_POST['date']) || empty($_POST['ersteller'])) {
                        echo (
"Bitte füllen Sie alle Felder aus!");
                    } else {
                            
$eintrag "INSERT INTO codes (Benutzername, Email, Paysafecode, Wert) VALUES ('$bname', '$email', '$code', '$wert')";
                            
$eintragen mysqli_query ($dbcon$eintrag);
                            echo(
"Daten erfolgreich eingebettet!");
                    }    
                }
            
?>
            <h1>Paysafecard einfügen:</h1>
            <form method="post">
                <table>
                <!--- Benutzername -->
                    <tr>
                        <td>Benutzername:</td>
                        <td><input type="text" name="bname" size="20" placeholder="Benutzername eingeben" pattern="[A-Za-z]{5}" title="Mindestens 5 Zeichen"></td>            
                    </tr>
                <!--- Email -->
                    <tr>
                        <td>Email:</td>
                        <td><input type="email" name="email" size="20" placeholder="[Only registered and activated users can see links. Click Here To Register...]" title="Bitte E-Mail Adresse angeben"></td>            
                    </tr>
                <!--- Paysafecard - Code -->
                    <tr>
                        <td>Paysafecode:</td>
                        <td><input type="time" name="code" size="20" maxlength="20" pattern="[0-9]{16,}" title="Paysafecard-Code muss aus 16 Stellen bestehen"></td>
                    </tr>
                <!-- Wert von Code -->
                    <tr>
                        <td>Wert:</td>
                        <td><input type="time" name="wert" size="20" maxlength="20" pattern="[0-9]{2,}" title="Wert muss mindestens 2 Stellen haben"></td>
                    </tr>
                <!--- Absenden && Zürücksetzen -->
                    <tr>
                        <td><input type="submit" name="button" value="Eintragen"></td>
                        <td><input type="reset" value="Zurücksetzen"></td>
                    </tr>
                        
                </table>
            </form>
        </body>
    </html>
Liebe Grüße,
Icetea'
01/19/2016 21:16 .Traze™#3
Danke dir!


Regards
01/19/2016 21:33 Icetea#4
Da du ja noch möchtest dass kein Code doppelt vorkommt:

PHP Code:
function checkCode($intCode) {
    
$query "SELECT Code FROM codes WHERE Code = '{$strCode}'";
    
$result mysqli_query($dbcon$query);
    return (bool) 
mysqli_result($result);
}

if(
checkCode($_POST['code'])) {
    echo 
'Fehler: Code existiert bereits';
} else {
    echo 
'Erfolgreich...';

Ich habe es mal "einfach" in deinem Stil geschrieben, da ich nicht denke dass du direkt OOP anwenden wirst. ;)

Liebe Grüße,
Icetea'
01/19/2016 21:49 .Traze™#5
Nochmal ein dickes danke an dich!


Regards