Nyhedsbrev
Sådan ser scriptet ud, det virker fint. Det er dog når man afmelder problemet sker. Den fjerner emailen, men kommer med en fejl også: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /customers/adeostudio.com/adeostudio.com/httpd.www/pnt/tilmeldafmeld.php on line 37Din email er nu blevet slettet fra vores liste.
<head> <script>
function checkform()
{
if (document.form.email.value=='')
{
alert("Du mangler at skrive en emailadresse");
return false;
}
return true;
}
</script>
</head>
<?
include "mysql.php";
if(isset($_POST['submit'])){
$email = ($_POST['email']);
$status = ($_POST['status']);
if(!eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\\.[a-z]{2,4}$", $email = $_POST['email'])) { // Tjekker om emailen er gyldig
echo "<p>Emailen indeholder ulovlige tegn. Du må lige prøve igen.</p>";
include('form.html');
} else {
if($status == 'tilmeld') { // Hvis brugeren har valgt tilmeld
$tjeck = mysql_query("SELECT email FROM nyhedsbrev WHERE email = '".$email."'");
$rows = mysql_num_rows($tjeck);
if ($rows > 0) {
echo "<p>Emailen er allerede tilmeldt.</p>";
include('form.html');
} else {
$data = mysql_query("INSERT INTO nyhedsbrev (email, time, ip)
VALUES ('$email',NOW(),'$ip')") or die(mysql_error());
echo "<p>Du er nu blevet tilmeldt vores nyhedsbrev.</p>";
};
} else { // Hvis brugeren vil afmeldes
$fjern = mysql_query("DELETE FROM nyhedsbrev WHERE email = '".$email."'");
$rowfjern = mysql_num_rows($fjern);
if ($fjern == 1) {
echo "<p>Din email er nu blevet slettet fra vores liste.</p>";
} else {
echo "<p>Der er desværre sket en fejl.</p>";
include('form.html');
};
};
};
};
?>