- Premièrement... comme @RamRaider l'a déjà commenté, vous devez ajouter un index unique à l'
email
colonne - Deuxièmement... vous devez arrêter d'utiliser
mysql_*
fonctions car elles sont obsolètes. Vous pouvez utilisermysqli_*
fonctions,MySQLi
classe ouPDO
. De plus, en utilisant des instructions préparées, vous évitez les Injections SQL -
Même si vous définissez un index unique, vous devez toujours vérifier avant de l'insérer :
<?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!'; }