Hallo,
Ich weiß nicht ob es noch interresiert, aber ich habe ja versprochen, dass ich den Quellcode online stelle. Das Script funktioniert und ist fertig. Ich habe es jetzt auch mal testweise auf November statt Dezember eingestellt um zu gucken, ob auch alles so funktioniert wie ich mir das gedacht habe Anzugucken unter: http://jeenaparadies.clever-webspace.de/vivosomuertos/advent/
Vieleicht kann der Eine oder andere es mal testen und sich eintragen. Danach wäre ich froh über Feedback.
Es ist noch alles sehr wüst, und die Namen für die Variablen sind manchmal mehr als intuitiv, aber ich denke man kann schon durchblicken, und es für sich selbst anpassen.
################### adventkalender.php ######################
<?php
$datum = getdate();
$tag = $datum['mday'];
$monat = $datum['mon'];
$dez = 12;
$sieb = 27;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Adventkalender</title>
<?php
if ($monat == $dez and $tag < $sieb)
{
echo '<link rel="stylesheet" type="text/css" href="format.css">';
$bilder["1"] = "01.jpg";
$bilder["2"] = "02.jpg";
$bilder["3"] = "03.jpg";
$bilder["4"] = "04.jpg";
$bilder["5"] = "05.jpg";
$bilder["6"] = "06.jpg";
$bilder["7"] = "07.jpg";
$bilder["8"] = "08.jpg";
$bilder["9"] = "09.jpg";
$bilder["10"] = "10.jpg";
$bilder["11"] = "11.jpg";
$bilder["12"] = "12.jpg";
$bilder["13"] = "13.jpg";
$bilder["14"] = "14.jpg";
$bilder["15"] = "15.jpg";
$bilder["16"] = "16.jpg";
$bilder["17"] = "17.jpg";
$bilder["18"] = "18.jpg";
$bilder["19"] = "19.jpg";
$bilder["20"] = "20.jpg";
$bilder["21"] = "21.jpg";
$bilder["22"] = "22.jpg";
$bilder["23"] = "23.jpg";
$bilder["24"] = "24.jpg";
$bilder["25"] = "25.jpg";
$bilder["26"] = "26.jpg";
}
else
{
echo '<meta http-equiv="refresh" content="5; URL=http://home.arcor.de/vivosomuertos/neu/home/main.htm">';
}
?>
</head>
<body>
<?php
if ($monat == $dez and $tag < $sieb)
{
echo "<img src="".$bilder["$tag"]."" style="float:right">";
if ($monat == $dez and $tag < $sieb - 1)
{
// ----------------------------- ANFANG Bestigung -----------
@mysql_connect(localhost, username, passwort) OR
die("<h2>Keine Verbindung zur Datenbank.</h2><p>Versuche es später nocheinmal oder schreib dem Webmaster eine E-Mail: <a href="mailto:info@vivosomuertos.de">info@vivosomuertos.de</a></p> Fehlermeldung: ".mysql_error());
mysql_select_db( vivosomuertos ) OR
die("<h2>Konnte Datenbank nicht benutzen.</h2><p>Versuche es später nocheinmal oder schreib dem Webmaster eine E-Mail: <a href="mailto:info@vivosomuertos.de">info@vivosomuertos.de</a></p> Fehlermeldung: ".mysql_error());
if (isset($_POST["form_submitted"]))
{
$name = $_POST['name'];
$email = $_POST['email'];
// check if email exists
$checkfrei = "SELECT frei FROM advent WHERE email = '".$email."'";
$resultfrei = mysql_query($checkfrei) OR die(mysql_error());
if($resultfrei)
{
$reihe = mysql_fetch_assoc($resultfrei);
if(mysql_num_rows($resultfrei) != 0)
{
if($reihe['frei'] == 2)
{
echo "$email <p>Diese E-Mail Adresse wurde bereits bei uns registriert und freigeschalten.</p>\n";
include("foot.tpl");
exit;
}
else
{
echo "$email <p>Diese E-Mail Adresse wurde bereits bei uns registriert aber noch nicht freigeschalten.</p>\n";
include("foot.tpl");
exit;
}
}
}
$mail_subject = "Bestätigung Adventskalender Vivos O Muertos";
$emailcoded = urlencode($email);
$id = rand(1000,9999);
$text = "Du - oder jemand anderes - hast dich für unseren Adventskalender von\nhttp://www.vivosomuertos.de angemeldet. Um mitzumachen klick doch\nbitte auf den Bestätigungs-Link oder kopiere ihn in die Adresszeile\ndeines Browsers und schicke ihn ab:\n\nhttp://www.jeenaparadies.clever-webspace.de/vivos/adventskalender-eintragen.php?email=$emailcoded&id=$id\n\nFalls du es nciht warst der mitmachen wollte, oder doch nicht mitmachen willst\nbrauchst du nichts zu tun. Du kannst diese E-Mail ignorieren und löschen.\nDann werden deine Daten zum 27.12.03 gelöscht \nund diese E-Mail Adresse wird für das Mitmachen am Adventskalender gesperrt um Spam zu vermeiden. \n\nGrüße von den Vivos O Muertos!";
unset($errors);
if ($name == "") $errors[] = "es wurde kein Name eingegeben";
if ($email == "") $errors[] = "es wurde keine E-Mail Adresse eingegeben";
if ($email != "" and !preg_match("/+@.+.\D{2,5}$/", $email)) $errors[] = "die E-Mail Adresse sieht nicht richtig aus";
if (empty($errors))
{
$sql = "INSERT INTO advent (name, email, frei, datum, id)
VALUES
( '".htmlspecialchars($_POST['name'])."',
'".htmlspecialchars($_POST['email'])."',
'1',
NOW(),
'$id')";
mysql_query($sql) OR die(mysql_error());
echo "<p>Vielen Dank für ihren Eintrag. Es wurde soeben eine Bestätigungsmail an dich geschickt. Erst wenn du dort auf den Bestätigungslink klickst, wirst du in den Adventskalender aufgenommen.</p>\n";
$ip = $_SERVER["REMOTE_ADDR"];
$text = stripslashes($text);
$header= "From: Vivos O Muertos info@vivosomuertos.de\n";
$header .= "Reply-To: Vivos O Muertos info@vivosomuertos.de\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $ip\n";
$header .= "Content-Type: text/plain";
if (@mail($email, $mail_subject, $text, $header)) { $sent = true; } else { $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen"; }
}
}
if (empty($sent))
{
if(isset($errors))
{
?>
<p class="caution">Fehler:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f; ?></li><?php } ?></ul><br /><?php } ?>
<h2 style="color:white; text-align:center;">Adventskalender</h2>
<p style="margin: padding: 10%;">
ACHTUNG! Weihnachten wude wegen den Vivos O Muertos dieses Jahr auf den
26.12.03 verlegt, und wird ausschließlich im Zebra - Hausen ab 20:00 Uhr
gefeiert.</p>
<p style="margin: padding: 10%;">
Deshalb gibt es bei uns auch einen EXTRAGROßEN Adventskalender, der aus
sage und schreibe 26 in Worten sechsundzwanzig Türchen besteht. Jeden Tag
gibt es ein neues überraschendes Bild von uns.</p>
<p style="margin: padding: 10%;">
Wer alle Bildchen sammelt, ausdruckt und mit zum Weihnachtskonzert
bringt bekommt freien Eintritt und zwei Jagdbitter extra. Ihr müsst euch
aber einmal in unserer Datenbank verewigen. Ihr müsst eine funktionierende
E-Mail Adresse angeben, da ihr dann eine Bestätigungsmail bekommt, den
ihr bestätigen müsst um mitmachen zu können. Dies geht nur bis zum
25.12.03 Am 26.12. geht es nciht mehr, da wir die Liste ja auch irgendwann
ausdrucken müssen.</p>
<p style="margin: padding: 10%;">
Und jetzt viel Spaß beim Sammeln und rocken!!!</p>
<form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" >
<table>
<tr>
<td>Name: </td>
<td align="left"><input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>"></td>
</tr>
<tr>
<td>E-Mail: </td>
<td align="right"><input type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>"> <input type="submit" name="form_submitted" value="Mitmachen"></td>
</tr>
</table>
</form>
<?php
}
else
{
?><p>Bestätigungs-E-Mail erfolgreich versendet.</p>
<?php
}
mysql_close();
// ----------------------------- ENDE Bestigung -----------
}
}
else
{
echo '<p>Hier klicken um weitergeleitet zu werden <a href="home.arcor.de/vivosomuertos/neu/home/main.htm">Hauptseite</a></p>';
}
?>
</body>
</html>
################### adventkalender-eintrag.php ######################
<html>
<head>
<title>Adventskalender eintragen - Vivos O Muertos</tite>
</head>
<body>
<?php
$email = $_GET["email"];
$savety = $_GET["id"];
$email = urldecode($email);
@mysql_connect(localhost, username, passwort) OR
die("<h2>Keine Verbindung zur Datenbank.</h2><p>Versuche es später nocheinmal oder schreib dem Webmaster eine E-Mail: <a href="mailto:info@vivosomuertos.de">info@vivosomuertos.de</a></p> Fehlermeldung: ".mysql_error());
mysql_select_db( vivosomuertos ) OR
die("<h2>Konnte Datenbank nicht benutzen.</h2><p>Versuche es später nocheinmal oder schreib dem Webmaster eine E-Mail: <a href="mailto:info@vivosomuertos.de">info@vivosomuertos.de</a></p> Fehlermeldung: ".mysql_error());
$checkfrei = "SELECT id FROM advent WHERE email = '".$email."'";
$resultfrei = mysql_query($checkfrei) OR die(mysql_error());
if($resultfrei)
{
$reihe = mysql_fetch_assoc($resultfrei);
if($reihe['id'] == $savety)
{
$sql = "UPDATE advent SET frei = '2' WHERE email = '$email'";
mysql_query($sql) OR die(mysql_error());
echo $email;
echo "<p>Die Anmeldung war erfolgreich.</p>";
}
else { echo "Der Sicherheitscode passt nicht mit dem gespeicherten überin<br>"; }
}
else { echo "Ich habe leider keinen Sicherheitscode gefunden, bitte versuche noch einmal den ganzen Link zu kopieren"; }
include("foot.tpl");
?>
################### foot.tpl ######################
</body>
</html>
Grüße
Jeena Paradies
--
"Of course it does not work, but look how fast it is!"