• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kontaktformular fehlerhaft

  • Ersteller Ersteller Fishmasta
  • Erstellt am Erstellt am
F

Fishmasta

Guest
Hallo Leute,
ich habe mir für meine Page ein Kontaktformular erstellt.

Leider klappt das absenden des Formulars nicht.
Nach dem klicken auf abschicken passiert einfach garnichts.
Es wird keine Mail gesendet, es kommt keine Fehlermeldung.

Hier der Code:
HTML:
        <div class="main">
            <div class="scream">Serviceanforderung</div>
            <br>
                <?php
                    define ('MAILTO', "[email protected]"); // Empfänger hier eintragen
                    define ('MAILFROM', "Serviceanforderung"); // ggfls. Absender hier eintragen
                    define ('CHARSET', "ISO-8859-15"); // Zeichenkodierung ggfls. anpassen
                    $Pflichtfelder = array(''); // 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; 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(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]);
                        else echo $def;
                    }
                ?>
                <?php
                    if($Formular_abgeschickt) {
                        if($Formular_Fehler = Formular_Check())
                            echo '<p class="Meldung" id="Fehler">',$Formular_Fehler,'</p>';
                        elseif(@mail(MAILTO, "Nachricht", print_r($_POST,true), $AddHeader))
                            echo '<p class="Meldung" id="OK">Nachricht verschickt.</p>';
                        else echo '<p class="Meldung" id="Fehler">Server-Fehler !</p>';
                    }
                ?>

                <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
                      <fieldset>
                        <table width="604" border="0">
                            <tr>
                                <td width="198"><label for="Kundennummer"><div class="schrift">Kundennummer</div></label></td>
                                <td width="396"><input name="Kundennummer" id="Kundennummer" size="66" value="<?php Formular_Eingabe('Kundennummer'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><div class="schrift"><input type="checkbox" name="Inspektionsvertrag" value="Inspektionsvertrag" id="Inspektionsvertrag" />Inspektionsvertrag</div></td>
                                <td><div class="schrift"><input type="checkbox" name="Instandhaltungsvertrag" value="Instandhaltungsvertrag" id="Instandhaltungsvertrag" />Instandhaltungsvertrag</div></td>
                            </tr>
                            <tr>
                                <td><div class="schrift"><input type="checkbox" name="Montage" value="Montage" id="Montage" />Montage</div></td>
                                <td><div class="schrift"><input type="checkbox" name="ReparaturWartung" value="ReparaturWartung" id="ReparaturWartung" />Reparatur/Wartung<br><input type="checkbox" name="Garantie" value="Garantie" id="Garantie" />Garantie</div></td>
                            </tr>
                            <tr>
                                <td><label for="Telefon"><div class="schrift">Telefon</div></label></td>
                                <td><input name="Telefon" id="Telefon" size="66" value="<?php Formular_Eingabe('Telefon'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Kontaktperson"><div class="schrift">Kontaktperson</div></label></td>
                                <td><input name="Kontaktperson" id="Kontaktperson" size="66" value="<?php Formular_Eingabe('Kontaktperson'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="E-Mail"><div class="schrift">E-Mail</div></label></td>
                                <td><input name="E-Mail" id="E-Mail" size="66" value="<?php Formular_Eingabe('E-Mail'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Datum"><div class="schrift">Datum</div></label></td>
                                <td><input name="Datum" id="Datum" size="66" value="<?php Formular_Eingabe('Datum'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Masch.Daten"><div class="schrift">Masch. Daten</div></label></td>
                                <td><input name="Masch.Daten" id="Masch.Daten" size="66" value="<?php Formular_Eingabe('Masch.Daten'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Herst./Typ"><div class="schrift">Herst./Typ</div></label></td>
                                <td><input name="Herst./Typ" id="Herst./Typ" size="66" value="<?php Formular_Eingabe('Herst./Typ'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Baujahr"><div class="schrift">Baujahr</div></label></td>
                                <td><input name="Baujahr" id="Baujahr" size="66" value="<?php Formular_Eingabe('Baujahr'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Seriennummer"><div class="schrift">Seriennummer</div></label></td>
                                <td><input name="Seriennummer" id="Seriennummer" size="66" value="<?php Formular_Eingabe('Seriennummer'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Betr.Std"><div class="schrift">Betr.Std</div></label></td>
                                <td><input name="Betr.Std" id="Betr.Std" size="66" value="<?php Formular_Eingabe('Betr.Std'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label for="Aufstell.-Ort"><div class="schrift">Aufstell.-Ort</div></label></td>
                                <td><input name="Aufstell.-Ort" id="Aufstell.-Ort" size="66" value="<?php Formular_Eingabe('Aufstell.-Ort'); ?>" /></td>
                            </tr>
                            <tr>
 
HTML:
<td><label for="Kesselinhalt"><div class="schrift">Kesselinhalt</div></label></td>
                                <td><input name="Kesselinhalt"  id="Kesselinhalt" size="66" value="<?php  Formular_Eingabe('Kesselinhalt'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label  for="TUEV-DatenObj."><div class="schrift">TÜV-Daten  Obj.</div></label></td>
                                <td><input  name="TUEV-DatenObj." id="TUEV-DatenObj." size="66" value="<?php  Formular_Eingabe('TUEV-DatenObj.'); ?>" /></td>
                            </tr>
                            <tr>
                                <td><label  for="Taupunkt"><div  class="schrift">Taupunkt</div></label></td>
                                <td><input name="Taupunkt"  id="Taupunkt" size="66" value="<?php Formular_Eingabe('Taupunkt');  ?>" /></td>
                            </tr>
                            <tr>
                                <td><label  for="GenauereBeschreibung"><div class="schrift">Genauere  Beschreibung</div></label></td>
                                <td><textarea  name="GenauereBeschreibung" id="GenauereBeschreibung" rows="5"  cols="50"><?php Formular_Eingabe('GenauereBeschreibung');  ?></textarea></td>
                            </tr>
                            <tr>
                                <td><input type="submit" value="abschicken" /></td>
                            </tr>
                        </table>
                    </fieldset>
                </form>
        </div>

Die Styles wurde in der übergeordneten .php eingebunden und funktionieren auch.
Das ich noch keine Pflichtfelder habe weiß ich, aber es klappt ja so noch nichtmal.

Ich hoffe ihr könnt mir helfen.
DANKE!

das aufteilen auf 2 posts war nötig, da die 10000 zeichen überschritten wurden -.-
 
wäre der code z.b. fehlerhaft oder irgendetwas könnte nicht ausgeführt werden würde im browser anstelle des formulars ja der entsprechende fehler stehen
Dann weißt du es also nicht. google mal nach: Fehlerkonsole.

EDIT: Ich seh grad, wir sind bei PHP, ich dachte das wäre eine JS Frage. Mein Fehler.
 
Du schickst das Formular an index2.php, nicht an index2.php?section=serviceanforderung. Setze das action-Attribut des Formulars auf "" (leerer String), dann wird es an den aktiven URL geschickt.
 
Du schickst das Formular an index2.php, nicht an index2.php?section=serviceanforderung. Setze das action-Attribut des Formulars auf "" (leerer String), dann wird es an den aktiven URL geschickt.

das scheint schonmal ein fehler gewesen zu sein.
vielen dank

wenn ich das formular jetzt abschicken möchte wird folgender fehler ausgegeben:
Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\htdocs\dsk\pages\serviceanforderung.php on line 49
Server-Fehler !

wenn besagt zeile zum testen auskommentiert wird, wird nur noch folgende meldung ausgegeben:
Server-Fehler !


und nu?
ich rall grad garnicht mehr :sad:
 
Entferne das @ vor dem mail-Aufruf:

PHP:
elseif(@mail(MAILTO, "Nachricht", print_r($_POST,true), $AddHeader))

Das dürfte dir ausgeben, was dort schiefläuft.

Der deprecated-Hinweis hat glaube ich unmittelbar nichts damit zu tun. Wo nutzt du denn set_magic_quotes_runtime und wozu?

Ah, hab's gefunden. Kommentier die einfach mal aus.
 
Entferne das @ vor dem mail-Aufruf:

PHP:
elseif(@mail(MAILTO, "Nachricht", print_r($_POST,true), $AddHeader))

Das dürfte dir ausgeben, was dort schiefläuft.

Der deprecated-Hinweis hat glaube ich unmittelbar nichts damit zu tun. Wo nutzt du denn set_magic_quotes_runtime und wozu?

Ah, hab's gefunden. Kommentier die einfach mal aus.

nach dem auskommentieren und dem entfernen des @ klappte es nun.
DAAAAAAAANKEEEEEEEEE!
 

Neueste Beiträge

Zurück
Oben