hi, ich habe mir ein formular gebastelt, das eine abfrage an die Mysql DB schickt, ob die email schon vorhanden ist. er gibt mir jetzt zwar den fehler aus, aber trägt trotzdem die daten wieder in die db ein. habe es auch schon mit if probiert, aber hat nicht wirklich funktioniert.
was mache ich falsch???
was mache ich falsch???
PHP-Code:
<?php
$db = mysql_connect($host.":".$port,$user,$password);
mysql_select_db($datenbankname,$db);
$abfrage = mysql_query("select * from sqlform_data where email='$email'");
$eintrag = "INSERT INTO sqlform_data (anrede, name, vorname, strasse, land, plz, ort, telefon, telefon2, mobil, fax, lastschrift, email, kontoinh,
paketwahl, geldinsti, ktnr, blz, agb) VALUES ('$anrede', '$name', '$vorname', '$strasse', '$land', '$plz', '$ort', '$telefon', '$telefon2', '$mobil', '$fax', '$lastschrift', '$email', '$kontoinh',
'$paketwahl', '$geldinsti', '$ktnr', '$blz', '$agb')";
$eintragen = mysql_query($eintrag);
$error="";
if ( isset($gesendet)) {
// Felder die nicht ausgewertet werden sollen
// einfach hier mittels // kommentieren
if ($anrede=="") { $error .=" Anrede,";}
if ($vorname=="") { $error .=" Vorname,";}
if ($name=="") { $error .=" Nachname,";}
//if ($land=="") { $error .=" Land,";}
if ($plz=="") { $error .=" PLZ,";}
if ($ort=="") { $error .=" Ort,";}
if ($strasse=="") { $error .=" Straße,";}
if ($telefon=="") { $error .=" Telefonnummer,";}
//if ($fax=="") { $error .=" Faxnummer,";}
if ($email=="") { $error .=" eMail-Adresse,";}
if ($paketwahl=="") { $error .=" Paketauswahl,";}
if ($agb=="") { $error .=" AGB,";}
if (!eregi("@",$email)) {$error .=" '@' bei E-Mail fehlt,";}
if (mysql_num_rows($abfrage) > 0) {$error .=" email vorhanden";}
//=================checkbox u. option==auswahl==========================
if (!empty($paketwahl)) {$select="selected";}
if (!empty($status)) {$select="selected";}
// Wenn keine Eingabefehler aufgetreten
// sind Bestätigung ausgeben
// ======================================
if ($error=="") {
$Nachricht = " Inhalt der Nachricht:\n\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .= " Kontakt von:\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .=" Anrede: $anrede\n";
$Nachricht .=" Vorame: $vorname\n";
$Nachricht .=" Name: $name\n";
$Nachricht .=" Land: $land\n";
$Nachricht .=" PLZ: $plz\n";
$Nachricht .=" Ort: $ort\n";
$Nachricht .=" Strasse: $strasse\n";
$Nachricht .=" eMail: $email\n";
$Nachricht .=" Telefon: $telefon\n";
$Nachricht .=" Telefon2: $telefon2\n";
$Nachricht .=" Handy: $mobil\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .=" Paketauswahl\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .=" Paket: $paketwahl\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .=" Bankverbindung\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .=" Kontoinhaber: $kontoinh\n";
$Nachricht .=" Bank: $geldinsti\n";
$Nachricht .=" Kontonummer: $ktnr\n";
$Nachricht .=" Bankleitzahl: $blz\n";
$Nachricht .=":::::::::::::::::::::::::::::::\n";
$Nachricht .=" AGB: $agb\n";
$Nachricht .="$kommentar\n";
$Domain=eregi_replace(".*\.([a-z0-9\-]*)\.([a-z]*)$","\\1.\\2",getenv("SERVER_NAME"));
$Empfaenger = "$webmaster@stepart.de";
$subject = "anmeldung";
$Header = "From: Anmeldeformular <$webmaster@$Domain>\n";
mail($Empfaenger,$subject,$Nachricht,$Header);
//Hier wird die logdatei (selbststaendig) angelegt und die mail eingetragen
//=================================================================================
$fp=fopen("$savenachricht",'a');
fwrite($fp, "$Nachricht\n\n");
fclose($fp);
//=================================================================================
/*Hier wird dieser Antworttext zurueckgemailt (an Absender Kontaktformular)
Es kann auch der Name etc. mit zurueckgegeben werden
oder eine beliebige txtDatei includen
====================================================================================*/
$subject1 = "Anmeldung ";
//include("$nachricht1");
$nachricht1="Sehr geehrter ,
mit freundlichen Grüßen
James Bond)";
//email an Absender
mail($email,$subject1,$nachricht1,$Header);
/*=================================================================================================================*/
?>
<div align="center">
<center>
<table cellspacing=0 cellpadding=0 border=1 style="border-collapse: collapse; border: 3px outset #000080" bordercolor="#111111" bgcolor="#F7F7F7" width="381">
<tr>
<td width="375">
<p align="center"><font color="#000000" face="Arial">Sehr
geehrte/er
<?php echo "$anrede $vorname $name";?>
<br>
Wir bedanken uns für Ihr Interesse an einem</font><font color="#FFFF66" face="Arial"><br>
</font> <font face="Arial" color="#ff0000" size="+2">
<?php echo "$paketwahl $r_TYP";?>
</font> <font color="#FFFF66" face="Arial"><br>
</font><font color="#000000" face="Arial">Ihre Nachricht
wird von uns in Kürze bearbeitet.</font>
<p align="center"> <font face="Arial" color="#000000" size="1">Falls
Sie in 4 sec. nicht automatisch weitergeleitet werden,
klicken sie bitte <b><a href="index.htm" onClick="if(this.blur)this.blur()"><font color="#FF0000">hier</font></a></b></font>
</td>
</tr>
</table>
</center>
</div>
<meta http-equiv="Refresh" content="6; URL=http://www.">
<?php
// ENDE: if ($error=="")
}
// ENDE: if gesendet
}
?>
<?php
// Formular nur ausgeben wenn noch nicht gesendet worden ist
// oder wenn ein Eingabefehler vorlag
// ==========================================================
if ($error !="" || (! isset($gesendet)) ) {
?>
<form action="<?php echo $target; ?>" method=get>
<input type="hidden" name="gesendet" value="1">
<center>
<table border="0" width="516" height="450" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<?php
// Eingabe-Fehler behandeln
// -------------------------
if ($error !="") {
// Komma am Ende entfernen
// ========================
$error=ereg_replace(",$" , "<br>" , $error);
$error = "Folgende Felder wurden nicht ausgefüllt: <br>\n".$error;
?>
<tr>
<td width="86"> </td>
<td width="144" ><font color="Red">
<?php echo $error;
if (mysql_num_rows($abfrage) > 0)
?>
</font></td>
</tr>
<?php
}
?>
Kommentar