2017-03-13 3 views
-2

J'ai un problème avec un formulaire de contact avec captcha. Il ne montrera pas de caractères spéciaux comme äöüß du tout. En ce moment, il est en quelque sorte les supprimer en l'envoyant. Le formulaire de contact est en ligne à http://interdomo.de/kontakt/kontaktformular.php je l'ai déjà ajouté charset UTF-8 à la fois (la page et la forme)formulaire de contact caractères spéciaux

Voici le script php pour le formulaire de contact:

 $from=""; 
    $anbebot=""; 

    $name=""; 
    $email=""; 
    $nachricht=""; 
    $check_1=0; 
    $check_2=0; 
    $check_3=0; 
    $fehler=0; 
    $email_fehler=0; 
    $nachricht_fehler=0; 
    $captcha_fehler=0; 

     if(isset($_GET["from"]) && ($_GET["from"]=="Buchhaltung" || $_GET["from"]=="Autohausberatung")){ $from=$_GET["from"]; } 
     if(isset($_GET["angebot"]) && $_GET["angebot"]==1){$check_1=1;} 
     if(isset($_GET["angebot"]) && $_GET["angebot"]==2){$check_2=1;} 
     if(isset($_GET["angebot"]) && $_GET["angebot"]==3){$check_3=1;} 



     if (isset($_POST["submit"])){ 
      function repl($vari){ 
      $vari = trim(preg_replace("/[^A-Z a-z 0-9 ÄÖÜäöüß \\n\\[email protected]&€;\/\(\)-=~.,;:*|#\"\'\/?!%]/", " ", $vari)); 
      return $vari; 
      } 

      $name= repl($_POST["name"]); 
      $email= repl($_POST["email"]); 
      if (!preg_match('/^[0-9A-Za-zÄÖÜÄÖÜß ]([-_.]?[0-9A-Za-zÄÖÜäöüß])*@[0-9A-Za-zÄÖÜäöüß]([-.]?[0-9A-Za-zÄÖÜäöüß])*\\.[a-z]{2,4}$/',$email)){ 
      $fehler=1;$email_fehler=1; 
      } 
      $nachricht= repl($_POST["nachricht"]); 
      if (strlen($nachricht)<=8){$fehler=1;$nachricht_fehler=1;} 

      if (isset($_SESSION['captcha_spam']) && $_POST["sicherheitscode"] <> $_SESSION['captcha_spam']){ 
      $fehler=1;$captcha_fehler=1; 
      } 

      if(isset($_POST["check_1"]) && $_POST["check_1"]==1){$check_1=1;} 
      if(isset($_POST["check_2"]) && $_POST["check_2"]==1){$check_2=1;} 
      if(isset($_POST["check_3"]) && $_POST["check_3"]==1){$check_3=1;} 

      if(isset($_POST["from"]) && ($_POST["from"]=="Buchhaltung" || $_POST["from"]=="Autohausberatung")){ $from=$_POST["from"]; } 

     } 

     if (isset($_POST["submit"]) && $fehler<>1 && isset($_SESSION['captcha_spam']) && $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){ 
     unset($_SESSION['captcha_spam']); 


     $zeit=date("H:i"); 
     $datum=date("d.m.Y"); 
     $mailtext="Anfrage vom $datum um $zeit Uhr\n"; 
     if (isset($from) && ($from=="Buchhaltung" || $from=="Autohausberatung")){ 
     $mailtext.="\n----------------------------------\n"; 
     $mailtext.="Anfrage zu: $from"; 
     } 
     $mailtext.="\n----------------------------------\n\n"; 

     if ($check_1==1 || $check_2==1 || $check_3==1 ){ 
      $mailtext.="Ich bin an folgendem/n Angebot/en interessiert:\n"; 
      if($check_1==1){$mailtext.=" - individuelles Angebot erstellen\n";} 
      if($check_2==1){$mailtext.=" - Festpreisangebot anfordern\n";} 
      if($check_3==1){$mailtext.=" - kostenlose Kurzanalyse anfordern\n";} 
      $mailtext.="\n"; 
     } 


     $mailtext.="Name: $name\n"; 
     $mailtext.="E-Mail: $email\n\n"; 

     $mailtext.="Nachricht:\n"; 
     $mailtext.="$nachricht\n"; 
     $email = trim(preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $email)); 
     $mailtext = trim(preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $mailtext)); 

     $mailheaders = "From:$email"; 



     //echo("<pre>$mailtext</pre>"); 
     mail("[email protected]","Kontaktformular",$mailtext,$mailheaders); 


     echo("<div id='response'>Vielen Dank f&uuml;r Ihre Anfrage.<br>Wir werden uns so schnell wie m&ouml;glich um Ihr Anliegen k&uuml;mmern.</div>"); 

     } 

Et je ajouter également le code html ici maintenant:

<form method="post" action="kontaktformular.php#response" accept-charset="UTF-8"> 
    <input type="hidden" name="from" value="<?php echo($from); ?>" /> 
    <legend> 
    <h2>Ich bin an folgendem/n Angebot/en interessiert:</h2> 
    </legend> 

    <div class="form-group"> 
    <input type="checkbox" name="check_1" value="1" <?php if($check_1==1){echo("checked='checked'");} ?> /> individuelles Angebot erstellen<br /> 
    </div> 

    <div class="form-group"> 
    <input type="checkbox" name="check_2" value="1" <?php if($check_2==1){echo("checked='checked'");} ?> /> Festpreisangebot anfordern<br /> 
    </div> 

    <div class="form-group"> 
    <input type="checkbox" name="check_3" value="1" <?php if($check_3==1){echo("checked='checked'");} ?> /> kostenlose Kurzanalyse anfordern<br /><br /> 
    </div> 

    <div class="form-group"> 
    <label>Name:</label> 
    <input type="text" name="name" value="<?= $name; ?>" class="form-control"> 
    </div> 

    <div class="form-group"> 
    <label>E-Mail:</label> 
    <input type="text" name="email" value="<?= $email; ?>" class="form-control" style="<? if ($email_fehler==1){echo("border:1px solid #ff0000;");}else{echo("border:1px solid #999999;");} ?> background-color:#eeeeee;"> 
    </div> 

    <div class="form-group"> 
    <label>Ihre Nachricht:</label> 
    <textarea name="nachricht" rows="5" class="form-control" style=" <? if ($nachricht_fehler==1){echo("border:1px solid #ff0000;");}else{echo("border:1px solid #999999;");} ?> background-color:#eeeeee;"><? echo stripslashes($nachricht); ?></textarea> 
    </div> 

    <div class="form-group"> 
    Sicherheitscode: 
    <table class="table"> 
       <tr> 
        <td><img src="../captcha/captcha.php" border="0" title="Sicherheitscode" style="padding-bottom:6px; padding-right:6px;"></td> 
        <td>Bitte geben Sie hier den Sicherheitscode ein.</td> 
       </tr> 
      </table> 
    </div> 

    <div class="form-group"> 
     <input type="text" name="sicherheitscode" size="5" class="form-control" style="<? if ($captcha_fehler==1){echo("border:1px solid #ff0000;");}else{echo("border:1px solid #999999;");} ?>"> 
    </div> 


    <div class="form-group"> 
     <input type="Submit" name="submit" class="sendbutton" onMouseOver="this.style.cursor='pointer';" value="Nachricht senden" style="border:1px solid #999999; width: 200px;"> 
    </div> 

</form> 
+0

Vérifiez http://stackoverflow.com/a/279279/3316645 – domsson

Répondre

0

le problème était dans le format du fichier php. Il a été construit avec un ancien programme et réglé sur ANSI, j'ai ouvert le code avec notepad ++ et l'ai enregistré comme utf-8 et tout a bien fonctionné.