mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 18:17 Benutzername: Passwort: Auto-Login

Thema: PHP Kontaktformular und Umlaute vom 23.10.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP Kontaktformular und Umlaute
Autor Nachricht
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Di 23.10.2007 17:31
Titel

PHP Kontaktformular und Umlaute

Antworten mit Zitat Zum Seitenanfang

Hallo, das alte Problem mal wieder.
Kann mir mal jemand sagen, was
ich hier falsch mache? Die Umlate
verschwinden föllig. Auf verschiedenen
Servern getestet.

Formular
Code:
<form action="test.php" method="post" accept-charset="utf-8">
   <input type="hidden" name="id" value="1b" />
   <input type="hidden" name="send" value="1" />
   <input type="text" name="name">
   <input type="submit" name="submit">
</form>


test.php
Code:
<?php
   $mailto    = "xxx";
   $nachricht_senden    = "";

   if (!empty($_POST['send'])) {
       $error = 0;
      $name = filter($_POST['name']);
      $test = htmlspecialchars($name);
             if (!$error) {
            if (@mail($mailto, "Kontaktformular Homepage", "Name:\n$test", "content-type: text/html; charset=utf-8; \n From: $test <>")) {
               $nachricht_senden = "e-Mail verschickt!";
               unset($_POST['name']);
            }
            else {
               $nachricht_senden = "Beim senden trat ein Fehler auf!";
            }
         }
      }

      function filter($input) {
         $result = preg_replace("/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "",  $input);
         return preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",  $result);
      }
?>


Über die SuFu hab' ich zwar einiges gefunden,
aber egal, was ich ausprobiere ... es funzt net.

Scheine letztes Wochenende zu viel Hirn
verloren zu haben * Ich geb auf... *


LG und danke schon mal im Voraus
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Simonhard

Dabei seit: 25.01.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 23.10.2007 17:38
Titel

Antworten mit Zitat Zum Seitenanfang

Check mal die eingestellte Kodierung im Dokument bzw. auf dem Server.

Wenn alles korrekt auf utf-8 läuft, kannst Du Dir auch die Form-Kodierung sparen.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Di 23.10.2007 18:05
Titel

re

Antworten mit Zitat Zum Seitenanfang

Nein, das jann ich leider net einstellen.
Ich bin bei TipTip. die bieten zwar viel
Platz für wenig Geld, aber die Zeichen-
kodierung kann ich net ändern.

Ich hatte es schon mit replace versucht.
Wusste aber auch net so recht, was ich
ersetzen soll, wenn ich keine ae oe und ue
benutzen möchte. Und ä mit ä zu ersetzen
sollte net klappen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
schattenjaeger

Dabei seit: 03.11.2005
Ort: Kiel
Alter: 34
Geschlecht: Männlich
Verfasst Di 23.10.2007 18:47
Titel

Antworten mit Zitat Zum Seitenanfang

Bei mir hat das als content-type immer gefunzt:

Content-Type:text/plain;\n\t charset=\"ISO8859-15\
  View user's profile Private Nachricht senden
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 23.10.2007 21:19
Titel

Antworten mit Zitat Zum Seitenanfang

Da: html_entity_decode($String);
Jetzt werden alle Sonderzeichen mit den html-Zeichen (&auml; usw.) ersetzt.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Mi 24.10.2007 09:07
Titel

re

Antworten mit Zitat Zum Seitenanfang

@ schattenjaeger
@ Smooth-Graphics

Nein! Es geht beides net. Hat das jemand von euch
mal mit meinem Formular getestet oder funktioniert
es einfach "global"?

Glaube nämlich langsam, dass in meinem fehlerfreien
Code irgendwo ein Fehler existiert. Ich bekomme
einfach kein "ä" und so übertragen. Umlaute werden
schlicht verschluckt.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Mi 24.10.2007 11:13
Titel

Gelöst!

Antworten mit Zitat Zum Seitenanfang

So ... ich hab's tatsächlich net hinbekommen
und mir erst einmal so beholfen:

PHP
Code:
<?php
   $Empfaenger = "xxx";

   if($_REQUEST['Send']) {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST)) {
         if($Formularfeld!="Send" && $Formularfeld!="style" && $Formularfeld!="__utmz" && $Formularfeld!="__utma") {
            $Mailnachricht .= $Formularfeld.":\n".$Wert."\n\n";
         }
      }
      
      $Mailnachricht .= "\nDatum  /Zeit:\n";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontaktformular";
   
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: Homepage");
   }
   else
   {
      echo"Ein Fehler ist aufgetreten.";
   }
?>


Felder wie "style" oder "__utmz", welche ich oben vom Versand ausschließe
sind welche, die er nun blöderweise mitüberträgt, obwohl sie als input net
vorhanden sind.

Das ändert nix daran, dass meine eigentlich Lösung
funktionieren sollte, aber läuft Lächel


Vielen Dank erstmal!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Nochmal PHP Kontaktformular UMLAUTE
PHP Umlaute
PHP Mailformular umlaute
[XML + Flash] Umlaute ...
Suchmaschine und Umlaute?
umlaute im gästebuch
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.