Vedr. fejl i email tilmeldingsystem
Kære Eksperten!Jeg har oprette en Mysql database ved navn "newsletter"
Folk kan tilmelde via tilmeldingsformen på http://www.kp-foto.com/newsletter/ men nu er der en der har tilmeldt sig, og den er puttet ind i databsen, men nu er der ikke flere der kan tilmelde sig, så kommer den med en error.
error: Duplicate entry '0' for key 'PRIMARY'
Jeg tror jeg har lavet en fejl da jeg har oprettet tabellerne i MyPHPAdmin, men jeg kan ikke selv finde ud af at rette fejlen.
Nogen der kan hjælpe?
Min kode på siden ser sådan her ud?
<?php
function IsValidEmailAddress($email){
return preg_match("/^[a-z0-9]+[a-z0-9_-]+@[a-z0-9]+[a-z0-9.-]+[a-z0-9]+.[a-z]{2,4}$/i", $email);
}
if(isset($_POST['email']) && !empty($_POST['email'])) {
mysql_connect('xxx', 'xxx', 'xxx');
mysql_select_db('xxx') or die(mysql_error());
$error = 0;
$email = mysql_real_escape_string($_POST['email']);
if(! IsValidEmailAddress($email) ){
echo "<font color='red'><b>$email was not a valid email address! Please try again.</b></font>";
$error = 1;
}
if(! $error) { // læs som "if not error" (error == 0)
if($_POST['type'] == '1'){
$insert = mysql_query("INSERT INTO newsletter (email) VALUES ('$email') ") or die(mysql_error()) ;
echo "<b>Your email $email has now been subscribed the KP-FOTO newsletter.</b>";
}
else if($_POST['type'] == '0') {
$delete = mysql_query("DELETE FROM newsletter WHERE email='$email'") or die(mysql_error()) ;
echo "<b>Your email $email has now been unsubscribed from the KP-FOTO newsletter</b>";
}
}
}
?>
<form method="post" action="">
E-mail: <input type="text" name="email" />
<br />
Subscribe: <input type="radio" name="type" value="1" /><br />
Unsubscribe: <input type="radio" name="type" value="0"/><br />
<br />
<input type="submit" value="Submit" />
</form>
Det haster lidt, da folk er begyndt at klage over at tilmeldingen ikke virker. Derfor vil jeg bliver rigtig glad hvis nogle gider at hjælpe! Derfor også 60 point her.
På forhånd tak
vh
KP