Det ser rigtigt nok ud. Hvad er fejlen? Sker der bare ingenting?
Prøv at debug, f.eks. ved at ændre det til følgende, bare for at teste.
<-- Kode START -->
<?php
if($_POST['submit'])
{
$add_email = addslashes($_POST['email']);
$add_IP = addslashes($REMOTE_ADDR);
$add_navn = addslashes($_POST['navn']);
$res = mysql_query("select email from nyhedsbrev where email='$add_email'");
$num = mysql_num_rows($res);
print "DEBUG: Fundet $num resultater<br>";
if ($num > 0) {
// email findes i database
print "DEBUG: Email ($add_email) allerede i database, indsætter ikke igen<br>";
echo "E-mailen findes allerede i Databasen - prøv igen.";
} else {
$sql = "INSERT INTO nyhedsbrev (email,navn,tid,ip) VALUES ('".$add_email."','".$add_navn."',NOW(),'".$add_IP."')";
mysql_query($sql) or die (mysql_error());
print "DEBUG: Email ($add_email) findes ikke i databasen, indsætter med følgende sql:<br>$sql<br>";
echo "Du er nu tilmeldt konkurrencen<br><a href='
http://www.shoplisten.dk/vind'>Flere konkurrencer til dig</a>";
}}
?>
<-- Kode SLUT -->
Det er selvfølgelig en lidt omfattende tekst til at debugge, men så er det mere klart hvad jeg mener med det.
Hvis du indsætter det, burde du kunne se hvor det går galt.