Manchmal sagt der Code mehr als 1000 Worte, daher hier...
<?php
if (isset($_POST[anmelden]) || isset($_POST[abmelden]) || isset($_POST[submit])) {
if (empty($_POST[adress_for_newsletter])) {
$mssg = 'Keine Adresse angegeben!';
} else {
if (!eregi("[1]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$_POST[adress_for_newsletter])) {
$mssg = 'Keine gültige Adresse!';
} else {
$sql = "SELECT * FROM newsletter WHERE adresse = '$_POST[adress_for_newsletter]'";
$nl_result = mysql_query($sql,$DBConnection);
if (mysql_num_rows($nl_result) == 1) {
if (isset($_POST[abmelden])) {
$sql = "DELETE FROM newsletter WHERE adresse = '$_POST[adress_for_newsletter]'";
$result2 = mysql_query($sql,$DBConnection);
if ($result2 == true) {
$mssg = 'Adresse wurde ausgetragen!';
} else {
$mssg = 'Fehler beim Austragen der Adresse!';
}
} elseif (isset($_POST[anmelden]) || isset($_POST[submit])) {
$mssg = 'Diese Adresse ist bereits eingetragen!';
}
} elseif (mysql_num_rows($nl_result) == 0) {
if (isset($_POST[anmelden]) || isset($_POST[submit])) {
$sql = "INSERT INTO newsletter (adresse) VALUES ('$_POST[adress_for_newsletter]')";
$result2 = mysql_query($sql,$DBConnection);
if ($result2 == true) {
$mssg = 'Adresse wurde eingetragen!';
} else {
$mssg = 'Fehler beim Eintragen der Adresse!';
}
} elseif (isset($_POST[abmelden])) {
$mssg = 'Diese Adresse ist nicht eingetragen!';
}
} else {
$mssg = 'Fehler in der Datenbank! Wir werden ihn in Kürze beheben!';
}
}
}
}
?>
<form name="newsletter" method="post" action="<?php echo $PHP_SELF; ?>">
<table>
<tr>
<td>
<input name="adress_for_newsletter" type="text">
<input name="anmelden" type="submit" value="Anmelden">
<input name="abmelden" type="submit" value="Abmelden">
</td>
</tr>
<tr>
<td>
<?php
if (isset ($mssg)) {
echo '<p>'.$mssg.'</p>';
unset($mssg);
}
?>
</td>
</tr>
</table>
</form>
Das wars (keine Sorge wegen fehlender Elemente, ist ein include), für jede Art von Hilfe oder Antwort wäre ich sehr dankbar.
_.0-9a-z- ↩︎