Skandinavika
Mitglied
Hallo!
Bitte helft mir : Meine PHP-Formulare arbeiten leider nicht wie gewünscht. Zwar wird der Sicherheitscode zum Verschicken der Daten ordnungsgemäß erzeugt (und auch in die Datenbank geschrieben), aber es wird keine Email verschickt (nicht an uns und auch nicht die Kopie an den User der HP); außerdem wird nach dem Klick auf Abschicken keine Bestätigungsseite angezeigt, sondern nur die Kontaktseite mit neuem Code und leerem Formular geladen. Das Live-Erlebnis gibts hier.
Ich habe den Code angefügt. Könnt Ihr mir vielleicht sagen, wo der Fehler liegt?
Schon mal im Voraus vielen Dank!
Bitte helft mir : Meine PHP-Formulare arbeiten leider nicht wie gewünscht. Zwar wird der Sicherheitscode zum Verschicken der Daten ordnungsgemäß erzeugt (und auch in die Datenbank geschrieben), aber es wird keine Email verschickt (nicht an uns und auch nicht die Kopie an den User der HP); außerdem wird nach dem Klick auf Abschicken keine Bestätigungsseite angezeigt, sondern nur die Kontaktseite mit neuem Code und leerem Formular geladen. Das Live-Erlebnis gibts hier.
Ich habe den Code angefügt. Könnt Ihr mir vielleicht sagen, wo der Fehler liegt?
Schon mal im Voraus vielen Dank!
Code:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?php
if (!empty($HTTP_POST_VARS)) {extract($HTTP_POST_VARS);}
$remote = getenv("REMOTE_ADDR");
$date = date("m.d.Y H:i:s");
// Datenbank leeren wenn mehr als 100 Einträge vorhanden sind und nur die letzen 30 Einträge behalten
$verbindung = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $verbindung);
$abfrage=mysql_query("SELECT Code FROM $db_table" , $verbindung);
$anzahl_datensaetze = mysql_num_rows($abfrage);
if ($anzahl_datensaetze > 100) {
$verbindung = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $verbindung);
mysql_query("DELETE FROM $db_table ORDER BY ID LIMIT 70");
}
// Ende Datenbank leeren
// Anfang Code erzeugen und in die Datenbank schreiben
$verbindung = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $verbindung);
$Buchstaben=array("A", "B", "C", "D", "E", "F", "G", "H", "K", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y");
$Zahlen=array("2", "3", "4", "5", "6", "7", "8", "9");
for($i=0, $Code=""; strlen($Code)<6; $i++)
{
if(rand(0, 1)==0 && isset($Buchstaben))
{
$Buchstabe=$Buchstaben[rand(0, count($Buchstaben))];
$Code.=$Buchstabe;
$Codeanzeige.=$Buchstabe." ";
}
else
{
$Zahl=$Zahlen[rand(0, count($Zahlen))];
$Code.=$Zahl;
$Codeanzeige.=$Zahl." ";
}
}
$Codeanzeige=trim($Codeanzeige);
mysql_query("INSERT INTO $db_table (Code, Codeanzeige) VALUES ('$Code', '$Codeanzeige')", $verbindung);
$ID=mysql_insert_id();
//Ende Code erzeugen
if ($remote == "") $ip = "<i> no ip </i>";
else $ip = getHostByAddr($remote);
if (!isset($ausgefllt)){
?>
<form name="form1" method="post" action="kontakt.php">
<table width="450" border="0" cellspacing="2" cellpadding="2" align="center">
<tr>
<td class="text">
<?php
if ($IhrText !== "") {
echo $IhrText."<br><br>" ;}
?>
</td>
</tr>
</table>
<table width="450" border="0" cellspacing="2" cellpadding="2" align="center">
<!--DWLayoutTable-->
<tr align="center" valign="middle">
<td height="23" colspan="2" class="table2"><?php echo $Website; ?>
Kontakt</td>
</tr>
<tr>
<td width="193" height="24" align="left" valign="middle" class="table1">Ihr
Name *</td>
<td width="300" class="table1"><input name="Name" type="text" class="inputtext" size="40"></td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">E-Mail
*</td>
<td class="table1"><input name="Email" type="text" class="inputtext" id="Email" size="40"></td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">Straße
</td>
<td valign="top" class="table1"><input name="Strasse" type="text" class="inputtext" id="Strasse" size="40">
</td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">PLZ</td>
<td valign="top" class="table1"><input name="PLZ" type="text" class="inputtext" id="PLZ" size="40"></td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">Ort</td>
<td valign="top" class="table1"><input name="Ort" type="text" class="inputtext" id="Ort" size="40"></td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">Land </td>
<td valign="top" class="table1"><input name="Land" type="text" class="inputtext" id="Land" size="40"></td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">Telefon</td>
<td class="table1"><input name="Telefon" type="text" class="inputtext" id="Telefon" size="40"></td>
</tr>
<tr>
<td height="24" align="left" valign="middle" class="table1">Fax </td>
<td valign="top" class="table1"><input name="Fax" type="text" class="inputtext" id="Fax" size="40"></td>
</tr>
<tr>
<td height="76" align="left" valign="middle" class="table1">Bitte
geben Sie hier den dargestellten Sicherheitscode ein! *</td>
<td valign="top" class="table1"><input name="ID" type="hidden" value="<?php echo$ID; ?>">
<input maxlength="6" name="Codeeingabe" size="6" type="text" class="inputtext2">
<br> <img border="0" height="50" src="codegrafik.php?ID=<?php echo$ID; ?>" width="200"></td>
</tr>
<tr>
<td height="154" align="left" valign="top" class="table1">Nachricht
*<br> <br>
Raum für Ihre Mitteilung.<br> </td>
<td valign="top" class="table1"><textarea name="Nachricht" cols="40" rows="8" class="inputtextarea"></textarea></td>
</tr>
<tr>
<td height="23" align="right" valign="top" class="table1"><!--DWLayoutEmptyCell--> </td>
<td class="table1"><input name="kopie" type="checkbox" id="kopie" value="checkbox">
Mir bitte eine Kopie der Nachricht zusenden.</td>
</tr>
<tr>
<td height="27" valign="top" class="table1"><!--DWLayoutEmptyCell--> </td>
<td class="table1"> <input type="submit" class="inputbutton" value="Absenden"> <input name="ausgefllt" type="hidden" id="ausgefllt" value="1">
<input type="reset" class="inputbutton" value="Löschen"> <input name="loeschen" type="hidden" id="loeschen" value="1">
</td>
</tr>
<tr>
<td height="23" valign="top" class="table1"><!--DWLayoutEmptyCell--> </td>
<td valign="middle" class="table1">* Diese Felder müssen ausgefüllt
sein!</td>
</tr>
</table>
</form>
<?php }
else
{
//Daten überprüfen
if (empty ($Name)) {
die ("<center><table width=\"400\"><p class=\"inputbutton\"><br><center>Geben Sie bitte Ihren Namen ein.</center><br><br>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück </A><br><br></p></table></center>");}
if (empty ($Email)) {
die ("<center><table width=\"400\"><p class=\"inputbutton\"><br><center>Geben Sie bitte Ihre Emailadresse ein.</center><br><br>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück </A><br><br></p></table></center>");}
if(!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $Email)) {
die("<center><table width=\"400\"><p class=\"inputbutton\"><br><center>Geben Sie bitte eine gültige Emailadresse an.</center><br><br>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück </A><br><br></p></table></center>");}
if (empty ($_REQUEST['Codeeingabe'])) {
die ("<center><table width=\"400\"><p class=\"inputbutton\"><br><center>Geben Sie bitte den Sicherheitscode ein.</center><br><br>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück </A><br><br></p></table></center>");}
$verbindung = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $verbindung);
$abfrage=mysql_query("SELECT Code FROM $db_table WHERE ID='".$_REQUEST['ID']."'", $verbindung);
$ergebnis=mysql_fetch_object($abfrage);
if(strtolower($ergebnis->Code) !== strtolower($_REQUEST['Codeeingabe'])) {
die ("<center><table width=\"400\"><p class=\"inputbutton\"><br><center>Der Sicherheitscode wurde falsch eingegeben, bitte wiederholen Sie die Eingabe.</center><br><br>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück </A><br><br></p></table></center>");}
if (empty ($Nachricht)) {
die ("<center><table width=\"400\"><p class=\"inputbutton\"><br><center>Geben Sie bitte eine Nachricht ein.</center><br><br>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück </A><br><br></p></table></center>");}
$Nachricht = stripslashes($Nachricht);
$Nachrichthtml = ereg_replace("\n", "<br>", $Nachricht);
$Telefon = stripslashes($Telefon);
$date = date("d.m.Y H:i:s");
echo "
<p><br><br>
<center>
<table width=\"400\"><tr><td class=\"inputtextarea\" width=\"400\">
<FONT face=arial size=2>
Sehr geehrte(r), Frau/Herr <b>$Name</b>,
<br><br>
vielen Dank für Ihre Nachricht!
Wir werden diese schnellstmöglich bearbeiten.<br><br>
Freundliche Grüße $IhrName
<p>
<FONT face=arial size=2><b>
<b>Ihre Nachricht:</b><br><br>
$Nachrichthtml<br><br><br>
<HR NOSHADE SIZE=\"1\" WIDTH=\"400\" ALIGN=\"LEFT\">
<br><b>
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück</A>
</td></tr></table></center>";
// Formulardaten verschicken
$header = "From: $Name <$Email>\n";
$header .= "Reply-To: $Email\n";
$header .= "Content-Type: text/plain";
mail("$IhreMail", "$Website","
Folgende Person hat am $date Uhr, das Kontaktformular von $Website ausgefüllt:
--------------------------------------------------------
Name: $Name
Strasse: $Strasse
PLZ: $PLZ
Ort: $Ort
Land: $Land
Telefon: $Telefon
Fax: $Fax
Email: $Email
Nachricht:
$Nachricht
$ip
--------------------------------------------------------
","$header");
//Bestätigungsemail an den Absender
if(isset($kopie))
{
$header1 = "From: $Website <$IhreMail>\n";
$header1 .= "Reply-To: $IhreMail\n";
$header1 .= "Content-Type: text/plain";
mail("$Email","Ihre Kontaktaufnahme über $Website", "
Guten Tag, Frau/Herr $Name,\n
vielen Dank für Ihre Nachricht!\n
---------------------------------------------\n
Folgende Daten sind bei uns eingegangen:\n
Ihr Name: $Name
Ihre Strasse: $Strasse
Ihre PLZ: $PLZ
Ihr Ort: $Ort
Ihr Land: $Land
Ihr Telefon: $Telefon
Ihr Fax: $Fax
Ihre Email: $Email
Ihre Nachricht:
$Nachricht
---------------------------------------------\n
Wir danken Ihnen für Ihr Interesse und werden uns schnellstmöglich um Ihre Anfrage kümmern.\n
Dies ist eine automatisch vom System generierte Bestätigungs-Email.
Mit freundlichem Gruß
$IhrName
$Website\n\n
","$header1");
}
}
?>
</td>
</tr>
</table>