Kontakt Formular mit recaptcha

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kontakt Formular mit recaptcha

    [FONT=Arial]Hallo![/FONT]
    [FONT=Arial]Ich habe nicht viel Ahnung von php und [/FONT][FONT=Arial]brauche dringend eure Hilfe. [/FONT]
    [FONT=Arial]
    Ich habe ein Kontakt Formular mit dem Formular Generator recaptcha erstellt [/FONT][FONT=Arial][COLOR=#0000ff]www.webbausteine.de/tools/formulargenerator.php[/COLOR][/FONT]

    [FONT=Arial]Das Formular selbst funktioniert gut.[/FONT]
    [FONT=Arial][COLOR=#0000ff]https://wedego.ch/beba/kontakt.php[/COLOR][/FONT]

    [FONT=Arial]Nun wenn ich das Formular ausfülle und schicke, kommt die Meldung unten an die gleiche Seite
    [FONT=Arial]„[/FONT][COLOR=#666666][FONT=Verdana]Vielen Dank, die Nachricht wurde versendet.[/FONT][/COLOR]
    [COLOR=#666666][FONT=Verdana]Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse“[/FONT][/COLOR]
    [/FONT]


    [FONT=Arial]obwohl ich für die Erfolgsmeldung auf die Seite danke.html weiter leiten will.[/FONT]

    [FONT=Arial]Es soll noch ein syntax Error an die Linie: [/FONT]
    [FONT=Arial]$Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "recapcha"=>""];


    Ich wäre sehr dankbar wen Sie die Quelltext ansehen würden und mir sagen können wo das Problem liegt. Ich bin seit Tagen am um probieren und mir fehlt nichts Neues.
    [/FONT][FONT=Arial]Ich würde mich freuen wenn ihr mir weiterhelfen könntet.
    [/FONT][FONT=Arial]

    Vielen Dank im Voraus
    Geni
    [/FONT]

    [FONT=Times New Roman]Zwischen Head habe ich eingefügt: [/FONT]

    [FONT=Times New Roman]<script type="text/javascript" src="Javascript/spamspan.js"></script>[/FONT]
    [FONT=Times New Roman]<link href="css/style_beba.css" rel="stylesheet" type="text/css" />[/FONT]
    [FONT=Times New Roman]<!-- Google reCAPTCHA API -->[/FONT]
    [FONT=Times New Roman]<script src='https://www.google.com/recaptcha/api.js'></script>[/FONT]

    [FONT=Times New Roman]Die php code: [/FONT]

    PHP-Code:
     <?php
     
    /*
        Aktion: Formulardaten als E-Mail versenden.
        Formular - PHP 5.4+, Zeichenkodierung: UTF-8
        Siehe: www.webbausteine.de/tipps/schriftzeichen_richtig_darstellen.php
      
        Erstellt mit dem Formular Generator (23.01.2016) - 
        www.webbausteine.de/tools/formulargenerator.php
      
        Bitte testen Sie das Formular ausführlich und
        beachten Sie die Hinweise im Quelltext!
     */
      
     // PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
     
    error_reporting(0); // (0/1)
      
     // Weiterleitung - Nach dem absenden des Formulars,
     // gelangt der Benutzer über einen Link auf folgende Seite:
     
    $Weiterleitung "danke.html";
     
    $name = isset($_POST["name"]) ? strip_tags(trim($_POST["name"])) : ""// Name
     
    $email = isset($_POST["email"]) ? strip_tags(trim($_POST["email"])) : ""// E-Mail
     
    $betreff = isset($_POST["betreff"]) ? strip_tags(trim($_POST["betreff"])) : ""// Betreff
     
    $nachricht = isset($_POST["nachricht"]) ? strip_tags(trim($_POST["nachricht"])) : ""// Nachricht
     
    $KopieCk = isset($_POST["Kopie"]) ? " checked='checked'" null// E-Mail Kopie
      
     // Benutzereingaben überprüfen
     // Die Meldungen müssen hier eventuell angepasst werden.
     
    $Fehler = ["name"=>"""email"=>"""betreff"=>"""nachricht"=>"""recapcha"=>""];
     if (isset(
    $_POST["submit"])) {
      
    $Fehler["name"] = strlen($_POST["name"]) < " Bitte füllen Sie dieses Feld aus!" "";
      
    $Fehler["email"] = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false " Geben Sie eine gültige E-Mail-Adresse ein!" "";
      
    $Fehler["betreff"] = strlen($_POST["betreff"]) < " Bitte füllen Sie dieses Feld aus!" "";
      
    $Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" "";
      
    $Fehler["recapcha"] = strlen($_POST['g-recaptcha-response']) < 100 " Bitte das reCAPCHA bestätigen!" "";
     }
      
     
    // Formular erstellen
     
    $Formular "
     <form action='" 
    $_SERVER["SCRIPT_NAME"] . "' method='post'>
      
     <p>
      <label> Name:
     <span class='pflichtfeld'>✲ " 
    $Fehler["name"] . "</span><br>
       <input type='text' name='name' value='" 
    $name "' size='50'>
      </label>
     </p>
      
     <p>
      <label> E-Mail:
     <span class='pflichtfeld'>✲ " 
    $Fehler["email"] . "</span><br>
       <input type='email' name='email' value='" 
    $email "' size='50'>
      </label>
     </p>
      
     <p>
      <label> Betreff:
     <span class='pflichtfeld'>✲ " 
    $Fehler["betreff"] . "</span><br>
       <input type='text' name='betreff' value='" 
    $betreff "' size='50'>
      </label>
     </p>
      
     <p>
      <label> Nachricht:
      <span class='pflichtfeld'>✲ " 
    $Fehler["nachricht"] . "</span><br>
      <textarea name='nachricht' cols='50' rows='8'>" 
    $nachricht "</textarea>
      </label>
     </p>
      
     <p>
      <label> 
      <input type='checkbox' name='Kopie'" 
    $KopieCk ">
      Eine Kopie dieser Nachricht an meine E-Mail Adresse
      </label>
     </p>
      
     <div class='g-recaptcha' data-sitekey='6LeUFiwUAAA.ect'></div>
     <span class='pflichtfeld'>" 
    $Fehler["recapcha"] . "</span>
      
     <p>
      <br>
      <input type='submit' name='submit' value='Formular absenden'>
     </p>
      
     <p>
      <small>Bitte alle mit <span class='pflichtfeld'>✲</span>
      markierten Felder ausfüllen.</small>
     </p>
      
     </form>
     "
    ;
      
     
    // Formular abgesendet
     
    if (isset($_POST["submit"])) {
      
      
    // Sind keine Benutzer-Eingabefehler vorhanden
      
    if (implode(""$Fehler) == "") {
      
       
    $captcha $_POST['g-recaptcha-response'];
      
       
    // Hier muss der geheime Schlüssel (Secret Key) eingefügt werden
       
    $SecretKey "6LeUFiwUA.ect";
      
       
    $response file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=" $SecretKey "&response=" .
        
    $captcha "&remoteip=" $_SERVER['REMOTE_ADDR']);
      
       if (
    $response.success==true) {
      
        
    // Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!
      
        // Zeitzone und das aktuelle Datum setzen
         // http://de3.php.net/manual/de/timezones.europe.php
        
    date_default_timezone_set("Europe/Berlin");
        
    $Datum date("d.m.Y H:i");
       
        
    // Empfänger E-Mail
        
    $Mailto "gentjana@hotmail.ch";
        
    $betrifft"Kontaktformular Beba DE"// Betrifft
      
       
        // Inhalt der E-Mail setzen
        
    $Text "   Gesendet am: $Datum Uhr
         Name: 
    $name
         E-Mail: 
    $email
         Betreff: 
    $betreff
         Nachricht: 
    $nachricht
        "
    ;
       
        
    // E-Mail versenden
        
    mb_internal_encoding("UTF-8");
        
    $Betrifft mb_encode_mimeheader($betrifft"UTF-8""Q");
        
    $Kopfzeile "MIME-Version: 1.0;\nFrom: " mb_encode_mimeheader($name"UTF-8""Q") .
         
    "<" $email ">" "\nContent-Type: text/plain; Charset=UTF-8;\n";
       
        if (
    mail($Mailto$Betrifft$Text$Kopfzeile)) {
       
         echo 
    "<p>Vielen Dank, die Nachricht wurde versendet.</p>";
        }
        else {
       
         
    // Wenn die Daten nicht versendet werden konnten,
         // wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
         
    echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" 
         
    "Bitte wenden Sie sich direkt an: <a href='mailto:" $Mailto "'>" $Mailto "</a></p>";
        }
       
        
    // E-Mail Kopie versenden (Vorschlag) - Bitte anpassen!
        
    if (isset($_POST["Kopie"])) {
       
         
    // Diese Nachricht wird an die E-Mail-Adresse des Besuchers gesendet.
       
         // Name/Signatur
         
    $Signatur "Kinderkrippe Beba";
      
         
    // Betrifft
         
    $Betrifft "Kopie von Ihrer Nachricht";
      
         
    // Inhalt der E-Mail setzen
         
    $Text "   Vielen Dank für Ihren Besuch auf unserer Webseite. Wir haben folgende Nachricht erhalten:
                 
       
         Name: 
    $name
         E-Mail: 
    $email
         Betreff: 
    $betreff
         Nachricht: 
    $nachricht
      
         Mit freundlichen Grüßen
         
    $Signatur  
         "
    ;
       
         
    // E-Mail Kopie versenden
         
    $Betrifft mb_encode_mimeheader($Betrifft"UTF-8""Q");
         
    $Kopfzeile "MIME-Version: 1.0;\nFrom: " mb_encode_mimeheader($Signatur"UTF-8""Q") .
          
    "<" $Mailto ">" "\nContent-Type: text/plain; Charset=UTF-8;\n";
         if (
    mail($email$Betrifft$Text$Kopfzeile)) {
          echo 
    "<p>Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse.</p>";
         }
        }
       
         
    // Weiterleitung
         
    echo "<p><a href='" $Weiterleitung "' target='_top'> </a></p>";
      
       }
       else {
        echo 
    '<h2>You are spammer ! Get out</h2>';
       }
      
      }
      else {
      
       
    // Formular und Benutzer-Eingabefehler ausgeben
       
    echo $Formular;
      }
     }
     else {
      
      
    // Formular ausgeben
      
    echo $Formular;
     }
     
    ?>

  • #2
    Der Code ist voller Sicherheitslücken. Ich würde ihn entsorgen.

    Kommentar


    • #3
      Danke h3ll für die schnelle Antwort.
      Können Sie mir helfen die Fehler zu finden?

      Kommentar

      Lädt...
      X