Hi, mein Kontaktformular hat irgendwo nen Fehler.
Wenn ich eine Email abschicke wird als Versender nicht die eingetragene Email des Besuchers angezeigt, sondern meine eigene.
Wo hab ich nen Fehler gemacht?
Außerdem habe ich noch festgestellt, das Umlaute durch ein ? ersetzt werden, woran liegt das ?
Wenn ich eine Email abschicke wird als Versender nicht die eingetragene Email des Besuchers angezeigt, sondern meine eigene.
Wo hab ich nen Fehler gemacht?
Außerdem habe ich noch festgestellt, das Umlaute durch ein ? ersetzt werden, woran liegt das ?
PHP:
<?php
//boolean check_mail(string)
//returns TRUE if e-mail is correct, else returns FALSE
function check_mail($email) {
if (ereg("^([a-zA-Z0-9\.\_\-]+)@([a-zA-Z0-9\.\-]+\.[A-Za-z][A-Za-z]+)$", $email)) {
return TRUE;
}
else {
return FALSE;
}
}
//boolean is_null_string(string)
//returns TRUE if string is a null_string, else returns FALSE
function is_null_string($string) {
if(strlen($string)==0) {
return TRUE;
}
else {
return FALSE;
}
}
//boolean is_error(string form_var , array error_list)
//retruns TRUE if error_list contains form_var
function is_error($form_var, $error_list) {
$num_errors = count($error_list);
for($i=0;$i<$num_errors;$i++) {
if($form_var == $error_list[$i]) {
return TRUE;
}
}
return FALSE;
}
if($sent) {
//initialzie $error
$error = FALSE;
//initialize variables to check
$var_check = array("name", "surname", "email", "message");
//check variables to check and save variable-name to error_list if check fails
$num_to_check = count($var_check);
for($i=0;$i<$num_to_check;$i++) {
//check for nullstrings
if(is_null_string($$var_check[$i])) {
$error = TRUE;
$error_list .= $var_check[$i] . ";" ;
}
//check email
else {
if($var_check[$i] == "email") {
if(!check_mail($$var_check[$i])) {
$error = TRUE;
$error_list .= $var_check[$i] . ";";
}
}
}
}
}
//set errorstyle if necessary, extract error_list and build array
if($error) {
$input_style="error";
//extract erronious variables
$el = $error_list;
unset($error_list);
$temp = explode(";",$el);
$num_errors = count($temp);
//build array error_list
for($i=0;$i<$num_errors;$i++) {
$error_list[] = $temp[$i];
}
?>
<br><strong>Ihre Nachricht konnte leider nicht versendet werden.</strong><br><br>Die rot markierten Felder enthalten unvollständige<br>oder fehlerhafte Angaben.<br><br><br>
<?php
}
//no error
else {
if($sent) {
//mailcode
$to = 'stephan@oberzent.de';
$subject = 'Kontaktformular';
$mailtext = 'Nachricht von <br><br>Firma: ' . $HTTP_POST_VARS[company] . '<br>' . $HTTP_POST_VARS[gender] . ' ' . $HTTP_POST_VARS[name] . ' ' . $HTTP_POST_VARS[surname] . '<br>' . $HTTP_POST_VARS[street] . '<br>' . $HTTP_POST_VARS[zipcode] . ' ' . $HTTP_POST_VARS[city] . '<br>' . $HTTP_POST_VARS[country] . '<br><br>' . 'Tel: ' . $HTTP_POST_VARS[tel] . '<br>Mobil: ' . $HTTP_POST_VARS[mobile] . '<br>E-Mail: ' . $HTTP_POST_VARS[email] . '<br>Fax: ' . $HTTP_POST_VARS[fax] . '<br><br>Nachricht:<br>' . $HTTP_POST_VARS[message];
$header = 'Content-type: text/html';
//send mail and display succes- or error-message
if(@mail($to, $subject, $mailtext, $header)) {
?>
Vielen Dank für Ihre Nachricht.<br><br>
Wir werden umgehend Kontakt mit Ihnen aufnehemen.
<?php
}
//mail error
else {
?>
Ihre Nachricht konnte aus technischen Grüden leider nicht versendet werden.<br><br>
Sie können uns per E-Mail unter <a href="mailto:info@stylish-pixel.de">info@stylish-pixel.de</a> erreichen.
<?php
}
}
else {
?>
<br>
<br>Bitte benutzen Sie folgendes Kontaktformular, um uns eine Nachricht zu schicken.<br><br>
Felder, die mit einem * markiert sind, müssen ausgefüllt werden.<br><br><br>
<?php
}
}
if($sent && !$error) {
//mailcode
}
else {
?>
<form action="index.php?view=contact&sent=TRUE" method="post">
<table cellspacing="0" cellpadding="4" border="0" width="320">
<tr><td>Firma</td><td>
<input class="form" type="text" maxlength="255" name="company" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[compnay] . '"'; } ?>>
</td></tr>
<tr><td width="80">Anrede</td><td width="240"><select class="anrede" name="gender" size="1"><option>Herr </option><option>Frau</option></select></td></tr>
<tr><td><span class="<?php if(is_error("name", $error_list)) { echo $input_style; } ?>">Name *</span></td><td><input class="form" type="text" size="24" maxlength="255" name="name" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[name] . '"'; } ?></td></tr>
<tr><td><span class="<?php if(is_error("surname", $error_list)) { echo $input_style; } ?>">Nachname *</span></td><td>
<input class="form" type="text" maxlength="255" name="surname" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[surname] . '"'; } ?>>
</td></tr>
<tr><td>Strasse und Hausnummer</td><td valign="top">
<input class="form" type="text" maxlength="255" name="street" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[street] . '"'; } ?>>
</td></tr>
<tr><td>PLZ und Ort<td>
<input class="plz" type="text" maxlength="16" name="zipcode" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[zipcode] . '"'; } ?>>
<input class="ort" type="text" maxlength="255" name="city" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[city] . '"'; } ?>>
</td></tr>
<tr><td>Land</td><td>
<input class="form" type="text" maxlength="255" name="country" value="Deutschland" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[country] . '"'; } ?>>
</td></tr>
<tr><td><br><br>Telefon</td><td><br><br>
<input class="form" type="text" maxlength="255" name="tel" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[tel] . '"'; } ?>>
</td></tr>
<tr><td>Mobil</td><td>
<input class="form" type="text" maxlength="255" name="mobile" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[mobile] . '"'; } ?>>
</td></tr>
<tr><td><span class="<?php if(is_error("email", $error_list)) { echo $input_style; } ?>">E-Mail *</span></td><td>
<input class="form" type="text" maxlength="255" name="email" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[email] . '"'; } ?>>
</td></tr>
<tr><td>Fax</td><td>
<input class="form" type="text" maxlength="255" name="fax" <?php if($error) { echo 'value="' . $HTTP_POST_VARS[fax] . '"'; } ?>>
</td></tr>
<tr><td valign="top"><span class="<?php if(is_error("message", $error_list)) { echo $input_style; } ?>">Nachricht *</span></td><td>
<textarea class="area" name="message"><?php if($error) { echo $HTTP_POST_VARS[message]; } ?></textarea>
</td></tr>
<tr><td></td><td><input class="button" type="submit" value="abschicken"> <input class="button" type="reset" value="zurücksetzen"></td></tr>
</table>
</form>
<?php
}
?>
Zuletzt bearbeitet: