Avatar billede krpoulsen Novice
06. oktober 2011 - 18:33 Der er 13 kommentarer og
2 løsninger

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
Avatar billede majbom Novice
06. oktober 2011 - 18:57 #1
kan du ikke smide et dump af din tabel?

exporter struktur i phpmyadmin
Avatar billede krpoulsen Novice
06. oktober 2011 - 19:05 #2
/Users/krpoulsen/Desktop/Skærmbillede 2011-10-06 kl. 19.04.39.png
Avatar billede krpoulsen Novice
06. oktober 2011 - 19:07 #3
Avatar billede krpoulsen Novice
06. oktober 2011 - 19:09 #4
Avatar billede krpoulsen Novice
06. oktober 2011 - 19:10 #5
nu lykedes det endelig! ;)
Avatar billede krpoulsen Novice
06. oktober 2011 - 19:16 #6
Hold kæft jeg er en tumpe, det var jo ikke det du mente med struktur! ;)
Strukturen kommer her:


http://www.kp-foto.com/tabel.png
Avatar billede olsensweb.dk Ekspert
06. oktober 2011 - 19:47 #7
dit id er ikke AUTO_INCREMENT, det skal det, alternativt skal du angive et idnr i din insert
marker dit id felt, og tryk på ændre (blyanten), set flueben i AUTO_INCREMENT
Avatar billede krpoulsen Novice
06. oktober 2011 - 19:53 #8
Du er en snut ronols!!! Nu kører det! Det er anden gang du redder mig idag! ;)
Opret lige svar, så du kan få nogle point!
vh
Og tak endnu engang
/KP
Avatar billede olsensweb.dk Ekspert
06. oktober 2011 - 20:01 #9
det må være en klar deler, jeg havde ikke kunne klare mig uden den struktur splazz efterspurgte i #1.

@splazz smid et svar også
Avatar billede krpoulsen Novice
06. oktober 2011 - 20:07 #10
Ok hvordan giver jeg dig 30 og splazz 30?
Avatar billede olsensweb.dk Ekspert
06. oktober 2011 - 20:18 #11
venter på splazz ligger et svar, når det er sket, accepterer du de 2 svar der er kommet, så bliver pointne ligeligt fordelt

ref http://www.eksperten.dk/faq#faq-3-2
Alle svar har været gode og hjulpet dig, så markerer du blot de relevante svar, og trykker på accepter i den boks som kommer frem. Så bliver point delt ligeligt imellem svarerne.

Du kan også fordele points mellem svarene ud fra hvor meget de har hjulpet dig på vej.
Avatar billede majbom Novice
06. oktober 2011 - 20:20 #12
det var lige netop min tanke, at der ikke var sat auto increment på id-kolonnen :)
Avatar billede majbom Novice
06. oktober 2011 - 20:29 #13
tfp :)
Avatar billede krpoulsen Novice
06. oktober 2011 - 20:30 #14
Det er mig der takker jer begge!
/KP
Avatar billede majbom Novice
06. oktober 2011 - 20:41 #15
selv tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester