php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-02-2019, 01:18
BWAT
 Registrierter Benutzer
Links : Onlinestatus : BWAT ist offline
Registriert seit: Feb 2019
Beiträge: 2
BWAT befindet sich auf einem aufstrebenden Ast
Standard Google reCAPTCHA in Kontaktformular einbinden

Hallo,
bei einer alten Webseite, die ich noch bis Ende des Jahres betreue, muss ich ein reCaptcha einbauen, damit der Hoster aufgrund von Spam die PHP-Mail-Funktion wieder freigibt. Das ist jetzt (angeblich) auch passiert, da die reCaptcha-Überprüfung selbst funktioniert.

Edit: Nach Rücksprache des Hosters ist die Funktion definitiv wieder aktiviert: "Die Serveradministratoren haben die PHP-mail()-Funktion wieder aktiviert." Daran kann es also nicht liegen, dass das Formular-Absenden nicht funktioniert.

Eigentlich bin ich schon zu lange aus dem Thema PHP draußen. Mit etwas Hilfe habe ich es nun hinbekommen. Bis jetzt. Ich komme leider nicht weiter. Vielleicht kann mir jemand von euch weiterhelfen?
  • Die Überprüfung der einzelnen Felder funktioniert augenscheinlich. Zumindest werden etwaige gewollte Fehlermeldungen angezeigt.
  • Wenn man ohne das reCaptcha zu nutzen absenden möchte, werden dennoch keine Fehlermeldungen vom reCaptcha angezeigt. Aber die Seite "ruckelt" dann nur kurz. An der Seite selbst ändert sich sonst nichts.
  • Wenn man das Formular mit genutztem reCaptcha absenden möchte, funktioniert dessen Prüfung, aber beim Absenden passiert auch hier nichts. Wieder nur besagter "Ruckler". Es wird weder die E-Mail aus dem Formular abgesendet, noch wird man auf die "versendet.html" weitergeleitet.


    Anbei das Kontaktformular. Aus Datenschutzgründen habe ich hoffentlich alle entsprechenden Informationen entfernt.
    Aufgrund der begrenzten Zeichenlänger hier erst einmal der PHP-Teil des Formulars:

    PHP-Code:
    <?php


    // Angaben anpassen
    $to_email='test@example.com'//Die Zieladresse
    $mail_success='./versendet.html'// Pfad zu einer Bestätigungsseite, wenn die Mail erfolgreich versendet wurde.

    $error=false;



    // Formular-Variablen Deklarierung und Initialisierung
    $plz_error="";
    $vorname_error="";
    $name_error="";
    $telefon_error="";
    $telefax_error="";
    $strasse_error="";
    $ort_error="";
    $email_error="";
    $betreff_error="";
    $nachricht_error="";




    // Hier werden alle Pflichtfelder festgelegt. Diese Felder dürfen nicht leer bleiben.
    $pflicht[]='name';
    $pflicht[]='telefon';
    $pflicht[]='nachricht';

    $absendezeit date('h-i-s, j-m-y');

    if(
    $_POST)
    {
            
    // prüfen, ob eines der Pflichtfelder leer ist
            
    foreach($pflicht AS $key => $result)
            {
                    if(!
    $_POST[$result])
                    {
                            ${
    $pflicht[$key].'_error'}='Bitte ausfüllen';
                            
    $error=true;
                    }
            }

            
    // Prüfung der PLZ
            
    $pattern_plz="/^[0-9]{5}$/";
            if(!
    preg_match($pattern_plz,$_POST['plz']) && $_POST['plz']!='')
            {
                    
    $plz_error='falsches Plz Format';
                    
    $error=true;
            }

            
    // Prüfung der Telefonnummer
            
    $pattern_tel="/^[0-9-()\/+.]*$/";
            if(!
    preg_match($pattern_tel,$_POST['telefon']) && $_POST['telefon']!='')
            {
                    
    $telefon_error='falsches Format';
                    
    $error=true;
            }

             
    // Prüfung der Faxnummer
            
    $pattern_fax="/^[0-9-()\/+.]*$/";
            if(!
    preg_match($pattern_fax,$_POST['telefax']) && $_POST['telefax']!='')
            {
                    
    $telefax_error='&nbsp;&nbsp;&nbsp;&nbsp;falsches Format';
                    
    $error=true;
            }

                     
    // Prüfung recaptchar


        // Prüfung recaptchar
                    
    $captcha=(isset($_POST["captcha"]) ? $_POST['captcha'] : '');
                    
    $secret="MeinGeheimerSchluessel";

                            
    //Recaptcha verification and JSON response decode
                                
    $verify=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secret."&response=".$captcha), true);
                                
    $error=!$verify["success"];

      if (isset(
    $response) && $response->success) {
       



            
    // Wenn keine Fehler vorhanden, dann kann die Mail versendet werden
            
    if(!$error)
            {


                   
                   
                    
    $from_name="{$_POST['vorname']} {$_POST['name']}";
                    
    $from_email=($_POST['email']!='') ? $_POST['email'] : $to_email;


                    
    $headers  "X-Sender: $from_name<$from_email>\n";
                    
    $headers .= "X-Mailer: $from_name powered by BWAT\n";
                    
    $headers .= "Return-Path: <$from_email>\n";
                    
    $headers .= "Date: "date('r'). "\n";
                    
    $headers .= "From: $from_email \n";
                    
    $headers .= "Sender: $from_email\n";
                    
    $headers .= "Reply-To: $from_email\n";
                    
    $headers .= "Organization:  BWAT\n";
                    
    $headers .= "X-MSMail-Priority: Normal\n";
                    
    $headers .= "Content-Type: text/plain\n";

                    
    $comment $from_name.' aus '.$_POST['plz'].' '.$_POST['ort'].' hat folgende Anfrage gesendet:'."\n\n";
                     
    $comment .= "Absendezeit: ".$absendezeit"\n\n";
                     
    $comment .= "Anrede: ";
                     
    $comment .= $_POST['anrede']."\n";
                     
    $comment .= "Vorname: ";
                     
    $comment .= $_POST['vorname']."\n";
                     
    $comment .= "Name: ";
                     
    $comment .= $_POST['name']."\n";
                     
    $comment .= "Straße: ";
                     
    $comment .= $_POST['straße']."\n";
                     
    $comment .= "Plz: ";
                     
    $comment .= $_POST['plz']." ";
                     
    $comment .= "Ort: ";
                     
    $comment .= $_POST['ort']."\n";
                     
    $comment .= "Telefon: ";
                     
    $comment .= $_POST['telefon']."\n";
                     
    $comment .= "Telefax: ";
                     
    $comment .= $_POST['telefax']."\n";
                     
    $comment .= "E-Mail: ";
                     
    $comment .= $_POST['email']."\n";
                     
    $comment .= "Betreff: ";
                     
    $comment .= $_POST['betreff']."\n\n";
                     
    $comment .= "Nachricht:\n";
                     
    $comment .= $_POST['nachricht'];

                    
    // Inhalte für den Besucher

                     
    $comment2 "Herzlichen Dank für Ihr Interesse an BWAT.\n\nDie nachfolgende Nachricht wurde erfolgreich an uns zugestellt.\n\nIhre Nachricht:\n";
                    
    $comment2 .= $_POST['nachricht']."\n\n";
                     
    $comment2 .= "Wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen.\n";
                     
    $comment2 .= "Ihr BWAT\n\n";
                     
    $comment2 .= "==========================================================\n\n";
                     
    $comment2 .= "BWAT\n\n";
                     
    $comment2 .= "Musterstr. 1\n";
                     
    $comment2 .= "00815 Musterhausen\n\n";
                     
    $comment2 .= "Telefon: 0151515\n";
                     
    $comment2 .= "Telefax: 545646\n";
                     
    $comment2 .= "E-Mail:  test@example.com\n";
                     
    $comment2 .= "Internet: www.example.com";

                    
    $check_send=mail($to_email,$_POST['betreff'],$comment,$headers);
                    if(
    $check_send==true && $from_email!='')
                            {
                                     if(
    $from_email!='' && $from_email!=$to_email) @mail($from_email,$_POST['betreff'],$comment2,$headers);
                                     
    header("LOCATION: $mail_success");
                            }
                           
                 
                   
            }
             } else {}
    }

    ?>

Geändert von BWAT (25-02-2019 um 11:56 Uhr) Grund: Neue Information
Mit Zitat antworten
  #2 (permalink)  
Alt 25-02-2019, 01:20
BWAT
 Registrierter Benutzer
Links : Onlinestatus : BWAT ist offline
Registriert seit: Feb 2019
Beiträge: 2
BWAT befindet sich auf einem aufstrebenden Ast
Standard

Und hier der HTML-Teil des Formulars:
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="de">
<head>

<title>Kontakt | BWAT </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta name="content-language" content="de" />
<meta name="robots" content="index, follow" />
<meta http-equiv="imagetoolbar" content="no" />

<link rev="made" href="mailto:webmaster@example.com" title="E-Mail an BWAT" />
<link href="http://www.example.com/favicon.ico" type="image/x-icon" rel="shortcut icon" />

<style type="text/css">@import url(../css/style_a.css);</style>
<!--[if lt IE 6]>
<style type="text/css">@import url(../css/ie5_style_a.css);</style>
<![endif]-->

<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<div id="container">
        <div id="menue">
                      <img src="https://example.com/../grafiken/logo/logo.gif" width="150" height="158" border="0" alt="" usemap="#logo"></img><br />
                 <ul class="liste">
                     <li><a class="button" title="Service" href="./service.html">Service</a></li>
                         <li><a class="button" title="Leistungen" href="./leistungen.html">Leistungen</a></li>
                        <li><a class="button" title="Portrait" href="./portrait.html">Portrait</a></li>
                        <li><a class="button" title="Jobs" href="./jobs.html">Jobs</a></li>
                    <li><a class="kontaktlink" title="Kontakt" href="./kontakt.php">Kontakt</a></li>
                 </ul>
         </div>
        <div id="title"><img src="https://example.com/../grafiken/titel/titel.jpg" width="590" height="100" border="0" alt="Test" title="Willkommen" /></div>
         <div id="umenue"><img src="https://example.com/../grafiken/linien/liniehgr.gif" width="590" height="4" border="0" alt=""></img></div>
         <div id="content">

         <h1>Kontakt</h1>
         <h3>Für Ihre Anfragen stehen wir Ihnen jederzeit sowohl telefonisch,<br />
         als auch via
         <a class="mailkontakt2" href="mailto:test@example.com">E-Mail</a>
         zur Verfügung.</h3>

         BWAT<br />
         Musterstr. 1<br />
         00815 Musterhausen<br /><br />

          <b>Telefon:</b><span class="telefon">564646</span><br />
          <b>Telefax:</b><span class="telefax">18469</span><br />
          <b>E-Mail:</b><a class="mailkontakt" href="mailto:test@example.com">test@example.com</a><br />
          <b>Internet:</b><a class="url" href="http://www.example.com/">www.test.de</a><br /><br />

         <form id="kontaktformular" method="post" >
                  <label for="anrede">Anrede</label>
                  <select style="width:80px" class="select" id="anrede" name="anrede" size="1">
                         <option></option>
                            <option value="Herr">Herr</option>
                            <option value="Frau">Frau</option>
                            <option value="Firma">Firma</option>
                 </select><br />
                  <label for="vorname">Vorname</label><input style="width:165px" class="text" type="text" id="vorname" name="vorname" value="<?=(isset($_POST["vorname"]) ? $_POST['vorname'] : '') ?>" size="100px" /><span style="color:#DF0000; font-size:0.8em;"><?=$vorname_error ?></span><br />
                  <label for="name">Name</label><input style="width:165px" class="text" type="text" id="name" name="name" value="<?=(isset($_POST["name"]) ? $_POST['name'] : '') ?>" /><span style="color:#006600;">*&nbsp;</span><span style="color:#DF0000; font-size:0.8em;"><?=$name_error ?></span><br />
                  <label for="straße">Straße</label><input style="width:165px" class="text" type="text" id="straße" name="straße" value="<?=(isset($_POST["strasse"]) ? $_POST['strasse'] : '') ?>" /><span style="color:#DF0000; font-size:0.7em;"><?=$strasse_error ?></span><br />
                  <label for="plz">Plz / Ort</label><input style="width:40px" class="text" type="text" id="plz" name="plz" maxlength="5" value="<?=(isset($_POST["plz"]) ? $_POST['plz'] : '') ?>" /><input style="width:115px" class="text" type="text" id="ort" name="ort" value="<?=(isset($_POST["ort"]) ? $_POST['ort'] : '') ?>" /><span style="color:#DF0000; font-size:0.75em;"><?=$plz_error ?></span><br />
                  <label for="telefon">Telefon</label><input style="width:165px" class="text" type="text" id="telefon" name="telefon" value="<?=(isset($_POST["telefon"]) ? $_POST['telefon'] : '') ?>" /><span style="color:#006600;">*&nbsp;</span><span style="color:#DF0000; font-size:0.8em;"><?=$telefon_error ?></span><br />
                  <label for="telefax">Telefax</label><input style="width:165px" class="text" type="text" id="telefax" name="telefax" value="<?=(isset($_POST["telefax"]) ? $_POST['telefax'] : '') ?>" /><span style="color:#DF0000; font-size:0.8em;"><?=$telefax_error ?></span><br />
                  <label for="email">E-Mail</label> <input class="text" style="width:165px" type="text" id="email" name="email" value="<?=(isset($_POST["email"]) ? $_POST['email'] : '') ?>" /><span style="color:#DF0000; font-size:0.8em;"><?=$email_error ?></span><br />
                  <label for="betreff">Betreff</label> <input class="text" style="width:165px" type="text" id="betreff" name="betreff" value="<?=(isset($_POST["betreff"]) ? $_POST['betreff'] : '') ?>" /><span style="color:#DF0000; font-size:0.8em;"><?=$betreff_error ?></span><br />
                  <label for="nachricht">Ihre Nachricht</label><textarea style="width:250px" class="text" id="nachricht" name="nachricht" cols="" rows="5"><?=(isset($_POST["nachricht"]) ? $_POST['nachricht'] : '') ?><?=$nachricht_error ?></textarea><span style="color:#006600;">*&nbsp;</span><br /><br />
           
          <div class="g-recaptcha" data-sitekey="MeinOeffentlicherSchlüssel"></div>

          <input type="submit" id="submit" /><br />
        </form>
         <p class="stern">Die mit Sternchen<span style="color:#006600;">*</span> gekennzeichneten Felder müssen ausgefüllt werden.</p><br />

         </div>
         <div id="footer"><img src="https://example.com/../grafiken/linien/liniegr.gif" class="linie" width="440" height="4" border="0" alt=""></img><a class="impressum" href="./impressum.html">IMPRESSUM</a>
                             <img src="https://example.com/../grafiken/impr/test.jpg" class="test" width="150" height="48" border="0" usemap="#test" alt="Test"></img>
                          <a class="sitemap" href="./sitemap.html">Sitemap</a>
                          <a class="stand" href="./stand.html">Stand: 22.01.2019</a>
         </div>
</div>
<map id="logo" name="logo">
<area shape="poly" coords="1,149,25,159,71,159,71,153,95,153,95,148,135,148,135,132,152,132,152,112,83,112,87,97,81,99,84,79,81,80,83,65,77,68,72,38,64,48,61,62,58,72,56,82,53,95,52,109,51,126,57,137,59,141,36,140,45,125,45,118,44,115,47,100,45,98,49,78,44,80,46,64,41,67,44,46,41,44,41,24,36,26,32,1,23,1,20,18,14,28,14,34,10,47,6,65,3,87,1,108,2,129,13,140,0,141" href="http://www.example.com/" alt="" />
</map>
<map id="test" name="test">
<area shape="poly" target="_blank" coords="0,48,150,48,150,0,102,0,102,21,16,21,16,37,0,37" href="http://www.test.de/" title="Test" alt="Test" />
</map>

</body>
</html>
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kontakt Formular mit recaptcha albagen PHP Developer Forum 2 06-10-2017 15:37
Google maps API einbinden donatelloii PHP Developer Forum 6 02-06-2009 09:16
Google Maps oder Microsoft Maps als Tool einbinden Solitaer Off-Topic Diskussionen 2 30-06-2008 14:56
Google Maps einbinden dengo Jobgesuche 7 01-08-2007 02:29
Google Earth in Webseite einbinden lichtscheu Off-Topic Diskussionen 3 19-02-2007 16:50

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

13.03.2019 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
Lazy Load Plugin für jQuery

Das Lazyload Plugin, lädt Bilder nach, wenn sie im Viewport sichtbar werden.

10.03.2019 phpler | Kategorie: JQUERY-PLUGINS
WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:44 Uhr.