Hallo,
vorab, ich bin völlig unwissend was PHP betrifft.
Ich verwende ein fertiges Script für ein Kontaktformular. Das funktioniert auch prima und einwandfrei.
Nun möchte ich zusätzlich drei select-Felder einbauen und die Angaben zugeschickt bekommen.
Das Einbauen der Felder ist kein Problem, nur das Auslesen mit PHP verstehe ich leider gar nicht. Probiert habe ich einiges, aufgrund fehlender Kenntnisse auch ohne Ergebnis.
Vielleicht kann mir jemand helfen.
Hier die Seite:
PHP-Code:
<?php
$pagename="kontakt.php";
$error=$firma=$name=$email=$telefon=$anfrage="";
$empfaenger="test@homepage.de";
if(isset($_POST['domail'])) {
$firma=get_magic_quotes_gpc() ? stripslashes($_POST['firma']) : $_POST['firma'];
$name=get_magic_quotes_gpc() ? stripslashes($_POST['name']) : $_POST['name'];
$email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email'];
$telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon'];
$anfrage=get_magic_quotes_gpc() ? stripslashes($_POST['anfrage']) : $_POST['anfrage'];
if(strpos($firma,"\r\n")>0 || strpos($firma,"\n")>0) {
DebugAttack(substr($firma,strpos($firma,"\r\n")));
$firma="";
}
if(strpos($name,"\r\n")>0 || strpos($name,"\n")>0) {
DebugAttack(substr($name,strpos($name,"\r\n")));
$name="";
}
if(strpos($email,"\r\n")>0 || strpos($email,"\n")>0) {
DebugAttack(substr($email,strpos($email,"\r\n")));
$email="";
}
if(strpos($telefon,"\r\n")>0 || strpos($telefon,"\n")>0) {
DebugAttack(substr($telefon,strpos($telefon,"\r\n")));
$telefon="";
}
$ok=true;
if (strlen($firma)<2) // der Firmenname muss mindestens 2 Zeichen haben
{
$err[0]=true; //Fehler merken
$ok=false; //Fehlerflag setzen
$error.='Bitte geben Sie Ihren Firmennamen an.<br />'; // Fehlertext
}
if (strlen($name)<3) // der Name muss mindestens 3 Zeichen haben
{
$err[1]=true; //Fehler merken
$ok=false; //Fehlerflag setzen
$error.='Bitte geben Sie Ihren Namen an.<br />'; // Fehlertext
}
if ( (!(eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email=="")
{
//email-Adresse ist ungueltig
$err[2]=true;
$ok=false;
$error.='Bitte kontrollieren Sie die eMail-Adresse.<br />';
}
if (strlen($telefon)<5) // die Telefonnummer muss mindestens 5 Zeichen haben
{
$err[3]=true; //Fehler merken
$ok=false; //Fehlerflag setzen
$error.='Bitte geben Sie Ihre Telefonnummer an.<br />'; // Fehlertext
}
if (strlen($anfrage)<10) // die Message muss mindestens 10 Zeichen haben
{
$err[4]=true; //Fehler merken
$ok=false; //Fehlerflag setzen
$error.='Bitte geben Sie eine Nachricht ein.<br />'; // Fehlertext
}
if($ok)
{
$mailheader="From: test@homepage.de\r\nX-Mailer: PHP/" . phpversion(). "\r\nX-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\nContent-Type: text/html; charset=utf-8;";
$message=nl2br("Name: $name\nEmail: <a href=\"mailto:$email\">$email</a>\n<br>Firma: $firma<br>Telefon: $telefon<hr>Anfrage: $anfrage<hr>Rückruf heute: <br>Rückruf morgen: ");
$subject="Webseiten-Nachricht vom ".date("d.m.Y");
if (@mail($empfaenger, $subject, $message, $mailheader)) {
//Alles ok, Seite neuladen (Reloadsperre)
header("Location:bestaetigungsseite.html");
//falls kein Header gesendet werden kann, dann mit javascript
//echo '<script type="text/javascript">document.location.href="'.$pagename.'?success"</script>';
exit;
} else {
$error='<h3>Fehler beim Mailen aufgetreten</h3>';
}
} else {
// Fehler ausgeben
$error='<h3>Fehler bei der Eingabe</h3><p class="error">'.$error.'</p>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link href="screen.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<!-- Anfang Content -->
<div id="content">
<div class="box-left">
<?php
if($error!="") echo $error;
if(isset($_GET['success'])) {
//Erfolgsnachricht ausgeben
echo '<p>Vielen Dank für Ihre Nachricht. Sie wurde erfolgreich verschickt.</p>';
} else {
?>
</div>
<div class="box-right">
<!-- Anfang Formular -->
<form action="<?php echo $pagename;?>" method="post" name="mailer">
<fieldset class="formular">
<h2>Kontaktformular</h2>
<p>für eMail-Anfragen bitte ausfüllen:</p>
<label for="name">Firma:</label><input type="text" value="<?php echo $firma;?>" name="firma" id="firma" <?php if(isset($err[0])) echo 'class="fehler"';?> /><br />
<label for="anrede">Anrede:</label>
<select id="anrede" name="anrede">
<option value="<1>">Frau</option>
<option value="<2>">Herr</option>
</select><br />
<label for="name">Name:</label><input type="text" value="<?php echo $name;?>" name="name" id="name" <?php if(isset($err[1])) echo 'class="fehler"';?> /><br />
<label for="email">eMail:</label><input type="text" value="<?php echo $email;?>" name="email" id="email" <?php if(isset($err[2])) echo 'class="fehler"';?> /><br />
<label for="telefon">Telefon:</label><input type="text" value="<?php echo $telefon;?>" name="telefon" id="telefon" <?php if(isset($err[3])) echo 'class="fehler"';?> /><br />
<label for="anfrage">Text / Anfrage:</label><textarea cols="" rows="" name="anfrage" id="anfrage" <?php if(isset($err[4])) echo 'class="fehler"';?>><?php echo $anfrage;?></textarea><br />
</fieldset>
<fieldset class="call-back">
<h2>Call-Back</h2>
<p>Bitte wählen Sie Ihren Rückruf-Wunschtermin, wir rufen Sie gerne zeitnah zurück:<br />
<span>(bitte füllen Sie hierzu das Kontaktformular links aus)</span></p>
<label for="heute zwischen">heute zwischen:</label>
<select id="heute" name="heute">
<option value="keine_eingabe">Uhrzeit</option>
<option value="1">10 - 12 h</option>
<option value="2">14 - 17 h</option>
<option value="3">18 - 20 h</option>
</select><br />
<label for="morgen zwischen">morgen zwischen:</label>
<select id="morgen" name="morgen">
<option value="keine_eingabe">Uhrzeit</option>
<option value="1">10 - 12 h</option>
<option value="2">14 - 17 h</option>
<option value="3">18 - 20 h</option>
</select><br />
<input type="submit" id="submit" value="abschicken >>" name="domail" />
</fieldset>
<br />
</form>
<?php
}
function DebugAttack($s) {
$fp=fopen("/tmp/attack.txt","ab");
fwrite($fp,$s);
fclose($fp);
}
?>
<!-- Ende Formular -->
</div>
</div>
</body>
</html>
Ich habe natürlich alles überflüssige entfernt.
Es handelt sich um die select-Felder mit der ID:
Wer weiß wie ich diese Angaben zugeschickt bekomme?
Gruß Michael