- Eerst.. zoals @RamRaider al opmerkte, moet je een unieke index toevoegen aan de
email
kolom - Ten tweede.. je moet stoppen met het gebruik van
mysql_*
functies omdat ze verouderd zijn. Je magmysqli_*
. gebruiken functies,MySQLi
klasse ofPDO
. Door voorbereide verklaringen te gebruiken, vermijdt u ook SQL-injecties -
Zelfs als u een unieke index instelt, moet u altijd controleren voordat u deze invoegt:
<?php // PDO instantiation here $stmt = $pdo->prepare('SELECT COUNT(email) AS EmailCount FROM emails WHERE email = :email'); $stmt->execute(array('email' => $_POST['email'])); $result = $stmt->fetch(PDO::FETCH_ASSOC); if ($result['EmailCount'] == 0) { $stmt = $pdo->prepare('INSERT INTO emails (email) VALUES (:email)'); $stmt->execute(array('email' => $_POST['email'])); echo 'Thank you for Submitting. Redirecting back to Home Page'; } else { echo 'E-mail exists!'; }