DB doppelter Eintrag verhindern

strukturart

Erfahrenes Mitglied
Hallo,

über ein Formular lass ich Daten ein eine Datenbank eintragen,
wie kann ich einen doppelten Eintrag in ein Feld verhindern?

PHP:
<?php
  include("conect.php"); 
  mysql_select_db("usr_web404_2");

$vorname = $_POST[vorname]; 
$name = $_POST[name]; 
$kurierbei = $_POST[kurierbei]; 
$startnummer = $_POST[startnummer];
$leer0 = $_POST[leer0];
$leer1 = $_POST[leer1];


$insert = mysql_query("INSERT INTO registration
(vorname, name, kurierbei, startnummer, leer0, leer1) 
VALUES 
('$vorname', '$name', '$kurierbei', '$startnummer', '$leer0', '$leer1')") or die(mysql_error()); 
header("Location: neueseite.ch");   
?>

HTML:
<div id="registration">
<form action="registration_senden.php" method="post">
<input type="text" name="vorname" class="feld" required="required" placeholder="Vorname"/><br />
<input type="text" name="name" class="feld"  required="required" placeholder="Nachname"/><br /> 
<input type="text" name="kurierbei" class="feld" required="required" placeholder="Bei welchem Kurier fährst du?"/><br /> 
<input type="text" name="startnummer" class="feld" required="required" placeholder="Startnummer"/><br /> 
<input type="text" name="leer0" class="feld" required="required" placeholder="Mailadresse"/><br /> 
<input type="text" name="leer1" class="feld" required="required" placeholder="Mailadresse"/><br /> 
<br>
<input type="submit" formtarget="_self" value="absenden" />
</form>
</div>
 
Am einfachsten indem du einen eindeutigen Schlüssel für dieses Feld erstellst!

Andernfalls müsstest du vor dem Speichern zuerst eine Abfrage durchführen die prüft ob dieser Wert bereits vorhanden ist.
 
In meinem Fall würde es doch genügen wenn ich das Feld "Startnummer"(Spalte) auf UNIQ setze,
dann sollte ein doppelter Eintrag nicht möglich sein oder?
Hab ich getan ist jedoch wird jedoch immer noch nicht unterbunden.
Muss ich da irgendwo eine Fehlermeldung aktivieren?
 
Alle Felder die die nicht doppelt vorkommen dürfen sollte man auf UNIQ setzen, in einem bespiel würde die Startnummer nicht mehr doppelt vorkommen allerdings alle andere felder könnten dies schon.
 
Meine DB sieht so aus(Anhang) ein doppelter Eintrag wird weiterhin akzeptiert.
Was muss ich denn nach abändern?
 

Anhänge

  • Bildschirmfoto 2011-09-28 um 10.33.29.png
    Bildschirmfoto 2011-09-28 um 10.33.29.png
    42,2 KB · Aufrufe: 40
Gebe mal bitte im phpmyAdmin folgende Anweisung ein

SQL:
show create table registration;

und das was dann ausgegeben wird, zeigst du uns dann. "registration" ist ja der Name deiner Tabelle, ansonsten gib diesen dafür ein.
 
Ähm, ja von mir vielleicht nicht ganz deutlich geschrieben.

Bitte den Text der angezeigt wird "CREATE TABLE ..." hier vollständig einstellen.
 
Zurück