tobby1967: Formular handling php

Beitrag lesen

Hallo,

ich habe auf meine hp ein Kontaktformular welches funzt , das via php eine Anfrage an meine e-mail weiterleitet.

Nun habe ich das ergänzt mit einer Option, das beim Absende eine Kopie an denAnwender geschickt werden kann (repektive die E-Mail, die der Anwender im Formular als seine Antortadrese angibt)

Ich habe noch recht wenig erfahrung mit php und das script ist auch nicht von mit geschrieben.

Bin für Hinwise dankbar, die für einen Laien verständlich sind.

Nachfolgend das script und danach das Formular.

Besten Dank!

	<?php
                define ('MAILTO', 'fassbender@werbefoto2000.de'); // Empfänger hier eintragen
                define ('MAILFROM', "Kontaktformular"); // ggfls. Absender hier eintragen
                define ('CHARSET', "ISO-8859-15"); // Zeichenkodierung ggfls. anpassen
                $Pflichtfelder = array('Eingabe_Name','Eingabe_Email','Eingabe_Mitteilung'); // ggfls. weitere Pflichtfelder angeben
                
                
                $AddHeader = 'Content-Type: text/plain; charset='.CHARSET;
                if(MAILFROM) $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;
                
                if($Formular_abgeschickt = !empty($_POST)) {
                  $Formular_leer = true;
                  if(ini_get('magic_quotes_runtime')) ini_set('magic_quotes_runtime',0);
                  $_POST = array_map('Formular_Daten', $_POST);
                }
                function Formular_Daten($val) {
                  global $Formular_leer;
                  if(is_array($val)) return array_map('Formular_Daten', $val);
                  if(ini_get('magic_quotes_gpc')) $val = stripslashes($val);
                  if($val = trim($val)) $Formular_leer = false;
                  return $val;
                }
                
                function Formular_Pflichtfelder() {
                  global $Pflichtfelder;
                  $Fehler = '';
                  foreach ($Pflichtfelder as $Feld) {
                    $key = str_replace(' ','_',$Feld);
                    if(!(isset($_POST[$key]) && trim($_POST[$key])!=='')) {
                      if($Fehler) $Fehler .= '<br />';
                      $Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
                    }
                  }
                  return $Fehler;
                }
                
                function Formular_neu($log='.htPOSTdata.txt') {
                  if(file_exists($log) && is_readable($log)
                   && file_get_contents($log) == print_r($_POST,true))
                  return false;
                  if($handle=@fopen($log, 'w')) {
                    fwrite($handle, print_r($_POST,true)); fclose($handle);
                  }
                  return true;
                }
                
                function Formular_Check() {
                  global $Formular_leer;
                  if($Formular_leer) $Fehler = 'Keine Daten eingetragen.';
                  elseif(!$Fehler = Formular_Pflichtfelder()) {
                    if(!Formular_neu()) $Fehler = 'Nachricht war bereits verschickt.';
                  }
                  return $Fehler;
                }
                
                function Formular_Eingabe($Feldname, $def='') {
                  if(isset($_POST[$Feldname]) && $_POST[$Feldname]!=='')
                    echo htmlspecialchars($_POST[$Feldname],ENT_COMPAT,CHARSET);
                  else echo $def;
                }
                ?>

<form class="form-horizontal" name="autoSumForm" action="<?php echo $_SERVER['../SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
<fieldset>
<div id="formular_kontaktdaten">
<p><small>Die mit * gekennzeichneten Felder müssen zur Übermittlung Ihrer Bestellung ausgefüllt sein.</small></p>
<div class="row-fluid">
<div class="span6">
<div class="control-group">
<label class="control-label" for="inputContactAnrede">Anrede</label>   
<div class="controls">
<select name="Anrede" size="1">
<option>Herr</option>
<option>Frau</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="Eingabe_Name">Titel, Vor-/Nachname *</label>
<div class="controls">
<input class="input-xlarge" type="text" id="Eingabe_Name"  name="Eingabe_Name" value="<?php Formular_Eingabe('Eingabe_Name'); ?>">
</div>
</div>
<div class="control-group">
<label class="control-label" for="Eingabe_Firmennamen">Firmenname</label>
<div class="controls">
<input class="input-xlarge" type="text" id="Eingabe_Firmennamen" name="Eingabe_Firmennamen" value="<?php Formular_Eingabe('Eingabe_Firmennamen'); ?>">
</div>
</div>
<div class="control-group">
<label class="control-label" for="Eingabe_Email">E-Mail *</label>
<div class="controls">
<input class="input-xlarge" type="text" id="Eingabe_Email" name="Eingabe_Email"  value="<?php Formular_Eingabe('Eingabe_Email'); ?>">
</div>
</div>
<div class="control-group">
<label class="control-label" for="Eingabe_Telefon">Telefon</label>
<div class="controls">
<input class="input-xlarge" type="text" id="Eingabe_Telefon" name="Eingabe_Telefon" value="<?php Formular_Eingabe('Eingabe_Telefon'); ?>">
</div>
</div>
<div class="control-group">
<label class="control-label" for="Eingabe_Mitteilung">Mitteilung *</label>
<div class="controls">
<textarea name="Eingabe_Mitteilung" id="Eingabe_Mitteilung" rows="5" placeholder="Mitteilung" class="input-xlarge"><?php Formular_Eingabe('Eingabe_Mitteilung'); ?></textarea>
</div><!--/controls-->
</div><!--/control-group-->
</div><!--/.span6-->
</div><!--/row-fluid-->
<div class="row-fluid">
<div class="span8">
<hr>
<label class="checkbox">
<input type="checkbox" name="EmailCC" value="EmailCC"  checked id="check1"> Kopie der Mitteilung an die oben angegebene E-Mail Adresse senden.
</label>
<hr>
</div><!--/.span8-->
</div><!--/.row-fluid-->  
<div class="row-fluid">
<div class="span4">
<a href="javascript:document.autoSumForm.reset()"><button class="btn btn-block btn-info" type="button">Eingaben löschen</button></a>                                        
</div><!--/.span3-->                                    
<div class="span4">
<a href="javascript:document.autoSumForm.reset()"><button class="btn btn-block btn-success" type="submit" >Mitteilung verschicken</button></a>                                       
</div><!--/.span3-->
</div><!--/.row-fluid-->                                                                            
</fieldset>                            
</form>