Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: PHP Kontaktformular HILFE ;)

  1. #1
    HTML Newbie
    Registriert seit
    07.09.2010
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard PHP Kontaktformular HILFE ;)

    Hallo!

    Ich hoffe ich stoße hier auf Hilfe .
    Kann mir jemand verraten warum die Emails durch mein Kontaktformular nicht ankommen? Bin langsam echt verzweifelt :S

    <?php

    $recipient = "info@mustermann.de";
    $mail_to="info@mustermann.de";

    $from_name=$_POST['fromname'];
    $from_mail=strtolower($_POST['frommail']);
    $mail_subject=$_POST['mailsubject'];
    $mail_text=$_POST['mailtext'];
    $send=$_POST['s'];

    if(trim($from_name)=="") $err_text.="Bitte geben Sie Ihren Namen an.<br>";
    if(trim($from_mail)=="")
    $err_text.="Bitte geben Sie Ihre E-Mail-Adresse an.<br>";
    else
    if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    $err_text.="Bitte geben Sie eine g&uuml;ltige E-Mail-Adresse an.<br>";
    if(trim($mail_subject)=="") $err_text.="Bitte geben Sie einen Betreff ein.<br>";
    if(trim($mail_text)=="") $err_text.="Bitte geben Sie einen Nachrichtentext ein.<br>";


    if(strlen($mail_text)>9999) {
    $mail_text=substr($mail_text,0,9999)."... (Text wurde gek&uuml;rzt!)";
    }
    $from_name=str_replace(chr(34),"''",$from_name);
    $mail_subject=str_replace(chr(34),"''",$mail_subje ct);
    $from_name=stripslashes($from_name);
    $from_mail=stripslashes($from_mail);
    $mail_subject=stripslashes($mail_subject);
    $mail_text=stripslashes($mail_text);

    if(($send=="1") && (isset($err_text))) {
    echo "<p><big><b>Fehler:</b></big><br>";
    echo "$err_text</p>";
    }

    if(($send!="1") || (isset($err_text)))
    {
    ?>
    <form action="kontakt.php" method="post">
    <div align="center">
    <table border="0" cellspacing="2" cellpadding="0" width="0">
    <tr>
    <td nowrap="nowrap" align="right"><font size="2" face="Tahoma">Ihr Name:</td>
    <td>&nbsp;</td>
    <td width="100%"><input type="text" name="fromname" size="38" maxlength="120" value="<?php echo $from_name; ?>" /></td>
    </tr>
    <tr>
    <td nowrap="nowrap" align="right"><font size="2" face="Tahoma">Ihre e-mail Adresse:</td>
    <td></td>
    <td width="100%"><input type="text" name="frommail" size="38" maxlength="120" value="<?php echo $from_mail; ?>" /></td>
    </tr>
    <tr>
    <td nowrap="nowrap" align="right"><font size="2" face="Tahoma">Betreff:</td>
    <td></td>
    <td width="100%"><input type="text" name="mailsubject" size="38" maxlength="120" value="<?php echo $mail_subject; ?>" /></td>
    </tr>
    <tr>
    <td nowrap="nowrap" align="right" valign="top"><font size="2" face="Tahoma">Text:<br /></td>
    <td></td>
    <td width="100%"><textarea cols="38" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input type="hidden" value="1" name="s" />
    <input type="submit" value="Nachricht versenden" name="submit" /> </td>
    </tr>
    </table>
    </div>
    </form>
    <?php
    } else {
    $header="From: $from_name <$from_mail>\n";
    $header.="Reply-To: $from_mail\n";
    $header.="FIGP:\n";
    $header.="Content-Type: text/plain";
    $mail_date=gmdate("D, d M Y H:i:s")." GMT";
    $send=0;
    if(@mail($mail_to,$mail_subject,$mail_text,$header ))
    {
    echo "<p><b>Danke f&uuml;r Ihre e-mail!</b></p>";
    echo "Wir werden Ihnen so schnell wie m&ouml;glich antworten.</a></p>";
    }else{
    echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    echo "<p><a href=\"kontakt.php?from_name=$from_name&from_mail= $from_mail&mail_subject=$mail_subject&mail_text=";
    echo urlencode($mail_text)."\">zur&uuml;ck</a></p>";
    }
    }
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: PHP Kontaktformular HILFE ;)

    1) Schalte mit error_reporting(E_ALL); die Fehlermeldungen an
    2) Unterdrücke deine Fehlermeldungen nicht mit @.

    Dann bekommst du vielleicht von PHP selbst die Antwort
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    07.09.2010
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP Kontaktformular HILFE ;)

    Öhm, ich bin absoluter Einsteiger, was meinst Du genau? Danke für die schnelle Antwort

  4. #4
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: PHP Kontaktformular HILFE ;)

    Gegenfrage: Wie kannst du als Einsteiger solche Skripte schreiben?
    Something big is coming. And there will be pirates and ninjas and unicorns...

  5. #5
    Bandit
    Gast

    Standard AW: PHP Kontaktformular HILFE ;)

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Quellcode bitte formatiert posten: [ php ]Quellcode[/ php ] (ohne Blanks bei php)

  6. #6
    Unregistriert
    Gast

    Standard AW: PHP Kontaktformular HILFE ;)

    Fehler ist hier:
    PHP-Code:
    $mail_subject=str_replace(chr(34),"''",$mail_subje ct); // <-- LEERZEICHEN 
    da ich hier auch Oft Hilfe bekomme, naja manchmal sowie du Hinweise, ab und an zeigt mir auch einer den Weg. Ich dir nun auch. Hier funktioniert, allerdings würde ich es online nicht einsetzen, da es keinen spamschutz hat

    PHP-Code:
    <?php
    $mail_to
    ="info@mustermann.de";

    $from_name=$_POST['fromname'];
    $from_mail=strtolower($_POST['frommail']);
    $mail_subject=$_POST['mailsubject'];
    $mail_text=$_POST['mailtext'];
    $send=$_POST['s'];

    if(
    trim($from_name)=="")
    {
        
    $err_text.="Bitte geben Sie Ihren Namen an.";
    }
    if(
    trim($from_mail)=="")
    {
        
    $err_text.="Bitte geben Sie Ihre E-Mail-Adresse an.";
    }
    else
    if(!
    ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    {
        
    $err_text.="Bitte geben Sie eine g&uuml;ltige E-Mail-Adresse an.";
    }
    if(
    trim($mail_subject)==""$err_text.="Bitte geben Sie einen Betreff ein.<br>";
    if(
    trim($mail_text)==""$err_text.="Bitte geben Sie einen Nachrichtentext ein.<br>";


    if(
    strlen($mail_text)>9999) {
    $mail_text=substr($mail_text,0,9999)."... (Text wurde gek&uuml;rzt!)";
    $from_name=str_replace(chr(34),"''",$from_name);
    $mail_subject=str_replace(chr(34),"''",$mail_subject);
    $from_name=stripslashes($from_name);
    $from_mail=stripslashes($from_mail);
    $mail_subject=stripslashes($mail_subject);
    $mail_text=stripslashes($mail_text);
    }

    if((
    $send=="1") && (isset($err_text)))
    {
        echo 
    $err_text;
    }

    if((
    $send!="1") || (isset($err_text)))
    {
    ?>
        <form action="kontakt.php" method="post">
            <p>Ihr Name:</p>
            <p><input type="text" name="fromname"  value="<?php echo $from_name?>" /><p>
            <p>Ihre e-mail Adresse:</p>
            <p><input type="text" name="frommail"  value="<?php echo $from_mail?>" /></p>
            <p>Betreff:</p>
            <p><input type="text" name="mailsubject"  value="<?php echo $mail_subject?>" /></p>
            <p>Text:<p>
            <p><textarea cols="38" rows="10" name="mailtext"><?php echo $mail_text?></textarea></p>
            <p><input type="hidden" value="1" name="s" />
            <input type="submit" value="Nachricht versenden" name="submit" /> </p>
        </form>
    <?php
    }
    else
    {
        
    $header="From: $from_name <$from_mail>\n";
        
    $header.="Reply-To: $from_mail\n";
        
    $header.="FIGP:\n";
        
    $header.="Content-Type: text/plain";
        
    $mail_date=gmdate("D, d M Y H:i:s")." GMT";
        
    $send=0;

        if(@
    mail($mail_to,$mail_subject,$mail_text,$header ))
        {
            echo 
    "<p>Danke f&uuml;r Ihre Email!</p>";
            echo 
    "Wir werden Ihnen so bald wie m&ouml;glich antworten.";
        }
        else
        {
            echo 
    "<p>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
            echo 
    "<p><a href=\"kontakt.php?from_name=$from_name&from_mail= $from_mail&mail_subject=$mail_subject&mail_text=";
            echo 
    urlencode($mail_text)."\">zur&uuml;ck</a></p>";
        }
    }
    ?>

    Viel Spaß

  7. #7
    Bandit
    Gast

    Standard AW: PHP Kontaktformular HILFE ;)

    Auch dieses Script ist unsauber programmiert. Leute, ein
    PHP-Code:
    error_reporting(E_ALL);
    ini_set("display_errors"true); 
    und PHP überschlägt sich dabei vor lauter Notice-Meldungen.

  8. #8
    Unregistriert
    Gast

    Standard AW: PHP Kontaktformular HILFE ;)

    bedeutet das die variablen für die inhalte noch gar nicht abgerufen werden können oder, man kann den Teil vor dem Formular doch einfach danach aufbauen. Werd das mal testen

    Notice: Undefined index: fromname in C:\xampp\htdocs\kontakt.php on line 7

    Notice: Undefined index: frommail in C:\xampp\htdocs\kontakt.php on line 8

    Notice: Undefined index: mailsubject in C:\xampp\htdocs\kontakt.php on line 9

    Notice: Undefined index: mailtext in C:\xampp\htdocs\kontakt.php on line 10

    Notice: Undefined index: s in C:\xampp\htdocs\kontakt.php on line 11

    Notice: Undefined variable: err_text in C:\xampp\htdocs\kontakt.php on line 15

  9. #9
    Bandit
    Gast

    Standard AW: PHP Kontaktformular HILFE ;)

    isset heißt das Zauberwort (-funktion)

  10. #10
    Unregistriert
    Gast

    Standard AW: PHP Kontaktformular HILFE ;)

    ok danke, was ich logisch nicht verstehe warum ist das senden als hidden(verstecktes Feld) gemacht?

Ähnliche Themen

  1. Brauche dringend hilfe beim Kontaktformular
    Von 3AM im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 13
    Letzter Beitrag: 19.07.2010, 19:19
  2. kontaktformular hilfe
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 05.06.2008, 20:21
  3. Hilfe bei dem Kontaktformular
    Von forummx im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 09.06.2007, 17:44
  4. Hilfe beim erstellen von Umfragen und Kontaktformular!
    Von Ausgeber im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 5
    Letzter Beitrag: 08.04.2007, 13:39
  5. Riesenproblem mit Kontaktformular! Hilfe gesucht!
    Von Mütze im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 17.12.2006, 19:47

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •