dubbele gegevens voorkomen
hoe zou ik ervoor kunnen zorgen dat er wordt gecontroleerd of de email niet al eens eerder is voorgekomen en zoja dat de gegevens dan niet worden opgeslagen in mijn database.
dit zijn mijn gegevens
index.php hier voer je de gegevens in
<html>
<head>
<title>invoeren+uitlezen</title>
</head>
<body>
<center><h1>Invoeren</h1></center>
<center>
<form action="insert.php" method="post">
<label>Voornaam:</label>
<input type="text" name="Voornaam" id="Voornaam" placeholder="uw voornaam" /><br/><br/>
<label>Achternaam:</label>
<input type="text" name="Achternaam" id="Achternaam" placeholder="uw achternaam" /><br/><br/>
<label>Email:</label>
<input type="text" name="Email" id="Email" placeholder="uw email" /><br/><br/>
<input type="submit" value="Verzenden" />
</form>
</center>
</body>
</html>
insert.php dit script verzendt de gegevens naar de database
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include ('conn.php');
$Voornaam = mysqli_real_escape_string($conn, $_POST['Voornaam']);
$Achternaam = mysqli_real_escape_string($conn, $_POST['Achternaam']);
$Email = mysqli_real_escape_string($conn, $_POST['Email']);
$sql = "INSERT INTO personen(Voornaam, Achternaam, Email) VALUES ('$Voornaam','$Achternaam','$Email')";
if($conn->query($sql) === TRUE){
echo 'Persoon is succesvol toegevoegd aan database';
}
else{
echo 'Er is helaas iets misgegaan bij het toevoegen aan de database' . $sql . '<br />' . $conn->error;
}
$conn->close();
?>
include ('conn.php');
$Voornaam = mysqli_real_escape_string($conn, $_POST['Voornaam']);
$Achternaam = mysqli_real_escape_string($conn, $_POST['Achternaam']);
$Email = mysqli_real_escape_string($conn, $_POST['Email']);
$sql = "INSERT INTO personen(Voornaam, Achternaam, Email) VALUES ('$Voornaam','$Achternaam','$Email')";
if($conn->query($sql) === TRUE){
echo 'Persoon is succesvol toegevoegd aan database';
}
else{
echo 'Er is helaas iets misgegaan bij het toevoegen aan de database' . $sql . '<br />' . $conn->error;
}
$conn->close();
?>
<html>
<head>
<title></title>
</head>
<body>
<center><h2>klik hier om terug te gaan naar de vorige pagina<a href="index.php"><input type="submit" value="teruggaan"></a></h2></center>
</body>
</html>
en mijn conn.php dus de database connectie
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Gewijzigd op 17/10/2017 23:26:18 door Mohammed Mohammed
Door een unique constraint te plaatsen op het e-mailadres, en op de juiste foutcode te controleren in je query afhandeling.
was best simpel op te lossen nadat ik via google zocht op unique constraint, wat ik alleen niet kan vinden is hoe ik hier netjes een foutmelding van kan maken zoiets als 'het emailadres wordt al gebruikt'
Door te kijken of het errno gelijk is aan 1062 (uit mijn hoofd).