ich habe ein Formular, dass ich an die Datei "newsletterergebnis.php" gesendet wird. Die PHP soll dann den Namen des Besuchers der Seite und seine Email in die Datenbank speichern. Ich finde den Fehler nicht und die newsletterergebnis.php zeigt bei einem Eintrag an, dass die Datenbank nicht existiert.
Nun poste ich die einzelnen Dateien:
1. Das Formular:
- Code: Alles auswählen
<form action="newsletterergebnis.php" method="post">
<fieldset style="width: 320px; border-color: #FF0000; border-width: 1px;
border-style: solid" align=center>
<legend><font color=#FF0000>Newsletter</font></legend>
<table width="312" border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="72" align="left">Name:</td>
<td width="220"><input name="name" type="text" size="31" maxlength="30" /></td>
</tr>
<tr>
<td align="left">Email:</td>
<td><input name="email" type="text" size="31" maxlength="40" /></td>
</tr>
<input type="text" name="test" class="klasse_unsichtbar">
<tr>
<td align="right"> </td>
<td><input name="submit" type="submit" value=" Bestellen " /></td>
</tr>
</table>
</fieldset></form>
2. Die "newsletterergebnis.php":
- Code: Alles auswählen
<?php
$link = mysql_connect("db.....de","...","...")or die ("Keine Verbindung moeglich");
mysql_select_db("db.....de ") or die ("Die Datenbank existiert nicht");
$name = $_POST["name"];
$email = $_POST["email"];
$test = $_POST["test"];
$datum = time();
$aktiv = 1; //1: Einträge werden aktiviert gespeichert, 2: Einträge werden deaktiviert gespeichert
//Wurden die benötigten Felder ausgefüllt?
if($name == "" AND $email == "" OR $test !== "")
{
echo "<br><a href=\"http://www.....de/kontakt.html\">Zurück</a>";
exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert
}
$eintrag = "INSERT INTO newsletter (name, email, datum, aktiv) VALUES ( '$name', '$email', '$datum', '$aktiv')";
$eintragen = mysql_query($eintrag);
//Wurde der Eintrag erfolgreich gespeichert?
if($eintragen == true)
{
echo "<span class=\"Stil1\">Sie werden über Neuigkeiten von ... informiert.</span>";
}
if (( $name != "") && ($email != ""))
{
$empfaenger = "....com";
$betreff = "Newslettereintrag";
$from = "From: ... <www....de>";
$text = "Ein Besucher wuenscht einen Newsletter";
mail($empfaenger, $betreff, $from, $text);
}
else
{
echo "<span class=\"Stil1\">Fehler beim Speichern</span>";
}
echo "<br><a href=\" http://www.....de/kontakt.html \">Zurück</a>";
?>
3. Der Code der Datenbank:
- Code: Alles auswählen
CREATE TABLE `newsletter` (
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(40) character set latin1 NOT NULL,
`email` varchar(40) character set latin1 NOT NULL,
`datum` int(11) unsigned NOT NULL default '0',
`aktiv` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
FULLTEXT KEY `name` (`name`,`email`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=1 ;
Wer kann helfen?
Gruß,
Smarty