wheelie86: Formular will um's Verrecken nicht funktionieren

Beitrag lesen

der Quelltext der kontakt.html (mailer.php liegt in einem parallelen Ordner zum html-Ordner, in dem sich die kontakt.html befindet):

<form action="../form/mailer.php" method="post">  
					<p><label for="name">Name:</label><br />  
					<input type="text" name="name" id="name" value="" /><br /></p>  
  
					<p><label for="emailad">Email:</label><br />  
					<input type="text" name="emailad" id="emailad" value="" /><br /></p>  
					<p><label for="message">Nachricht:</label><br />  
	  
					<textarea cols="40" rows="6" name="text" id="text"></textarea><br /></p>  
					<p class="lastformitem"><input type="submit" name="send" class="button" value="Weg damit!" /></p>  
				</form>

Und hier die mailer.php:

<?php  
  
#  
# patShaping Form E-Mail 2.3.5a  
#  
# Versenden einer E-Mail, die ueber ein Kontaktformular  
# geschrieben wurde.  
#  
# Autor:            Patrick Canterino <patrick@patshaping.de>  
# Letzte Aenderung: 14.4.2007  
#  
#  
# Einstellungen, Beschreibung siehe readme.txt  
  
$mailto          = 'feedback@beispiel.de';  
$default_subject = 'Feedback';  
$friendly_sender = 1;  
$show_starttext  = 1;  
$line_break      = 0;  
$add_header      = 1;  
  
# Ende Einstellungen  
  
$emailad = formdata('emailad');  
$name    = formdata('name');  
$subject = formdata('subject');  
$text    = formdata('text');  
  
# Pruefen, ob alle Formular-Felder ausgefuellt wurden  
  
if(!$name && !$emailad && !$subject && !$text) showhtml('include/no_data.inc');  
  
if(!$name)    showhtml('include/no_name.inc');  
if(!$emailad) showhtml('include/no_emailad.inc');  
if(!$text)    showhtml('include/no_text.inc');  
  
if(!$subject) $subject = $default_subject;  
  
# Betreff pruefen und ihn ggf. mit Quoted-Printable codieren (IMAP-Modul muss vorhanden sein)  
  
if(function_exists('imap_8bit') && preg_match("/[\200-\377]/",$subject))  
{  
 $subject_tmp = imap_8bit($subject);  
  
 if($subject_tmp != $subject)  
 {  
  $subject = str_replace(' ','_',$subject_tmp);  
  $subject = str_replace('"','=22',$subject);  
  $subject = "=?iso-8859-1?Q?$subject?=";  
  $subject = str_replace("=\015\012","?=\015\012         =?iso-8859-1?Q?",$subject);  
 }  
}  
  
# Pruefen, ob eingegebene E-Mail-Adresse (im Internet) gueltig ist  
# Danke an "ich" aus dem SELFHTML Forum fuer die Muehe  
  
if(!preg_match('/^([a-z0-9]+([\.]?|[-]?|[_]?)?)*([a-z0-9]+([\.]?[_]?)?)@([a-z0-9]+([\.]?|[-]?)?)*[a-z0-9]+\.{1}[a-z]{2,6}$/i',$emailad)) showhtml('include/invalid_emailad.inc');  
  
# Datum und Zeit bestimmen  
  
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Europe/Berlin');  
$zeit = getdate();  
  
# Wochentag herausfinden  
  
$wochentage = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');  
$wochentag  = $wochentage[$zeit['wday']];  
  
# Datum und Uhrzeit formatieren  
  
$datum   = $zeit['mday'].'.'.$zeit['mon'].'.'.$zeit['year'];  
$uhrzeit = sprintf('%02d:%02d:%02d',$zeit['hours'],$zeit['minutes'],$zeit['seconds']);  
  
# E-Mail zusammensetzen  
  
if($show_starttext) $starttext = "$name ($emailad) schrieb am $wochentag, dem $datum, um $uhrzeit:\n\n";  
  
$mailtext = $starttext.$text;  
  
if($line_break && is_int($line_break)) $mailtext = wordwrap($mailtext,$line_break);  
  
$mailtext = preg_replace("/\015\012|\012|\015/","\n",$mailtext);  
  
# Header der E-Mail  
  
if($friendly_sender) $header = "From: $emailad\n";  
  
if($add_header)  
{  
 if(!$friendly_sender) $header .= "Reply-To: $emailad\n";  
 $header .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";  
 $header .= "Content-Transfer-Encoding: 8bit\n";  
 $header .= "MIME-Version: 1.0\n";  
 $header .= "X-Mailer: patShaping Form E-Mail 2.3.5a\n";  
 $header .= "X-Sender-IP: [".$HTTP_SERVER_VARS['REMOTE_ADDR']."]";  
}  
else $header .= "Reply-To: $emailad";  
  
# E-Mail versenden  
# Wenn die E-Mail nicht versendet werden kann, wird eine Fehlermeldung ausgegeben  
  
@mail($mailto,$subject,$mailtext,$header) || showhtml('include/send_error.inc');  
  
showhtml('include/mail_sent.inc');  
  
# E-Mail wurde versendet und Erfolgsmeldung ausgegeben  
  
# formdata()  
#  
# Formulardaten bei deaktiviertem register_globals auslesen  
#  
# Parameter:   Name des Formularfeldes  
#  
# Rueckgabe:   Inhalt des Formularfeldes (String oder Array)  
#  
# Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,  
#                wird nichts zurueckgegeben.  
#              - Codierende Backslashes werden automatisch entfernt  
  
function formdata($param)  
{  
 switch($HTTP_SERVER_VARS['REQUEST_METHOD'])  
 {  
  case 'GET':  
   if(isset($HTTP_GET_VARS[$param]))  
   {  
    $value = $HTTP_GET_VARS[$param];  
    break;  
   }  
   else return null;  
  
  case 'POST':  
   if(isset($HTTP_POST_VARS[$param]))  
   {  
    $value = $HTTP_POST_VARS[$param];  
    break;  
   }  
   else return null;  
  
  default:  
   return null;  
 }  
  
 if(get_magic_quotes_gpc())  
 {  
  if(is_array($value)) return array_map('stripslashes',$value);  
  else return stripslashes($value);  
 }  
 else return $value;  
}  
  
# showhtml()  
#  
# HTML-Datei anzeigen und Script beenden  
#  
# Parameter: HTML-Datei  
  
function showhtml($file)  
{  
 readfile($file);  
 exit;  
}  
  
#  
### Ende ###  
  
?>

Ich bin echt am verzweifeln, die einzige Ausgabe, die ich bekomme, ist diese:

Letzte Aenderung: 14.4.2007 # # # Einstellungen, Beschreibung siehe readme.txt $mailto = 'feedback@beispiel.de'; $default_subject = 'Feedback'; $friendly_sender = 1; $show_starttext = 1; $line_break = 0; $add_header = 1; # Ende Einstellungen $emailad = formdata('emailad'); $name = formdata('name'); $subject = formdata('subject'); $text = formdata('text'); # Pruefen, ob alle Formular-Felder ausgefuellt wurden if(!$name && !$emailad && !$subject && !$text) showhtml('include/no_data.inc'); if(!$name) showhtml('include/no_name.inc'); if(!$emailad) showhtml('include/no_emailad.inc'); if(!$text) showhtml('include/no_text.inc'); if(!$subject) $subject = $default_subject; # Betreff pruefen und ihn ggf. mit Quoted-Printable codieren (IMAP-Modul muss vorhanden sein) if(function_exists('imap_8bit') && preg_match("/[\200-\377]/",$subject)) { $subject_tmp = imap_8bit($subject); if($subject_tmp != $subject) { $subject = str_replace(' ','_',$subject_tmp); $subject = str_replace('"','=22',$subject); $subject = "=?iso-8859-1?Q?$subject?="; $subject = str_replace("=\015\012","?=\015\012 =?iso-8859-1?Q?",$subject); } } # Pruefen, ob eingegebene E-Mail-Adresse (im Internet) gueltig ist # Danke an "ich" aus dem SELFHTML Forum fuer die Muehe if(!preg_match('/^([a-z0-9]+([.]?|[-]?|[_]?)?)*([a-z0-9]+([.]?[_]?)?)@([a-z0-9]+([.]?|[-]?)?)*[a-z0-9]+.{1}[a-z]{2,6}$/i',$emailad)) showhtml('include/invalid_emailad.inc'); # Datum und Zeit bestimmen if(function_exists('date_default_timezone_set')) date_default_timezone_set('Europe/Berlin'); $zeit = getdate(); # Wochentag herausfinden $wochentage = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'); $wochentag = $wochentage[$zeit['wday']]; # Datum und Uhrzeit formatieren $datum = $zeit['mday'].'.'.$zeit['mon'].'.'.$zeit['year']; $uhrzeit = sprintf('%02d:%02d:%02d',$zeit['hours'],$zeit['minutes'],$zeit['seconds']); # E-Mail zusammensetzen if($show_starttext) $starttext = "$name ($emailad) schrieb am $wochentag, dem $datum, um $uhrzeit:\n\n"; $mailtext = $starttext.$text; if($line_break && is_int($line_break)) $mailtext = wordwrap($mailtext,$line_break); $mailtext = preg_replace("/\015\012|\012|\015/","\n",$mailtext); # Header der E-Mail if($friendly_sender) $header = "From: $emailad\n"; if($add_header) { if(!$friendly_sender) $header .= "Reply-To: $emailad\n"; $header .= "Content-Type: text/plain; charset="iso-8859-1"\n"; $header .= "Content-Transfer-Encoding: 8bit\n"; $header .= "MIME-Version: 1.0\n"; $header .= "X-Mailer: patShaping Form E-Mail 2.3.5a\n"; $header .= "X-Sender-IP: [".$HTTP_SERVER_VARS['REMOTE_ADDR']."]"; } else $header .= "Reply-To: $emailad"; # E-Mail versenden # Wenn die E-Mail nicht versendet werden kann, wird eine Fehlermeldung ausgegeben @mail($mailto,$subject,$mailtext,$header) || showhtml('include/send_error.inc'); showhtml('include/mail_sent.inc'); # E-Mail wurde versendet und Erfolgsmeldung ausgegeben # formdata() # # Formulardaten bei deaktiviertem register_globals auslesen # # Parameter: Name des Formularfeldes # # Rueckgabe: Inhalt des Formularfeldes (String oder Array) # # Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist, # wird nichts zurueckgegeben. # - Codierende Backslashes werden automatisch entfernt function formdata($param) { switch($HTTP_SERVER_VARS['REQUEST_METHOD']) { case 'GET': if(isset($HTTP_GET_VARS[$param])) { $value = $HTTP_GET_VARS[$param]; break; } else return null; case 'POST': if(isset($HTTP_POST_VARS[$param])) { $value = $HTTP_POST_VARS[$param]; break; } else return null; default: return null; } if(get_magic_quotes_gpc()) { if(is_array($value)) return array_map('stripslashes',$value); else return stripslashes($value); } else return $value; } # showhtml() # # HTML-Datei anzeigen und Script beenden # # Parameter: HTML-Datei function showhtml($file) { readfile($file); exit; } # ### Ende ### ?>

Keine Formularfelder - nix außer dem Vorhergehenden.
Ich hoffe, ihr könnt mir helfen...