Antworten auf deine Fragen:
Neues Thema erstellen

Kontaktformular: Text zeigt Umlaute falsch an

redbull4711

Aktives Mitglied

Hallo @ all,

ich habe von php leider gar keine Ahnung. Allerdings habe ich dieses php Script (Formular-Generator) und konnte es auch erfolgreich einbauen. Leider zeigt der Text, den ich per Mail erhalte keine Umlaute an. Der Betreiber der Seite antwortet leider nicht auf meine Mail. Hat einer von Euch eine Idee, was an dem Code angepasst werden muss, damit ä ü ö in der Mail richtig angezeigt werden?

PHP:
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
  <table width="450" border="0">
<!--anfang Anrede-->    
    <tr>
      <td width="169">&nbsp;</td>
      <td width="169" align="left">
        <span class="Stil6"><strong>Anrede:</strong></span> </td>
      <td width="340" align="left">
        <select name="anrede">
          <option <?=($_POST['anrede']=='Frau')?'selected':''?>>Frau</option>
          <option <?=($_POST['anrede']=='Herr')?'selected':''?>>Herr</option>
        </select></td>
      <td>&nbsp;</td>
    </tr>
<!--ende anrede-->
<!--anfang vorName-->  
    <tr>
      <td><div align="center">*</div></td>
      <td align="left"><span class="Stil6"><strong>
        Vorname:
      </strong></span></td>
      <td align="left">
      <input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>

      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende vorName-->
<!--anfang nachName-->    
    <tr>
      <td><div align="center">*</div></td>
      <td align="left"><span class="Stil7">
        Nachname:
      </span></td>
      <td align="left"><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende nachName-->
<!--anfang eMail-->        
    <tr>
      <td><div align="center">*</div></td>
      <td align="left"><span class="Stil6"><strong>
        E-Mail:
      </strong></span></td>
      <td align="left"><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
      <td>&nbsp;</td>      
    </tr>
<!--ende eMail-->
<!--anfang betreff1-->
    <tr>
      <td><div align="center">*</div></td>
      <td align="left"><span class="Stil6"><strong>
        Betreff:
      </strong></span></td>
      <td align="left"><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff1']; ?>" size="50" /></td>
      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende betreff1-->
<!--anfang nachricht-->      
    <tr>
      <td valign="top"><div align="center">*</div></td>
      <td align="left" valign="top"><span class="Stil6"><strong>
        Nachricht:
      </strong></span></td>
      <td align="left"><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td>
      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende nachricht-->
    <tr>
      <td colspan="3">
        <div align="center">
          <input name="senden" type="submit" value="Senden" />
        </div>
      </td>          
      <td>&nbsp;</td>          
    </tr>
  </table>
  <?php
    } else {
    $eMail = '
        
Anrede:
'.$_POST['anrede'].'
        
Vorname:
'.$_POST['vorName'].'
        
Nachname:
'.$_POST['nachName'].'
        
E-Mail:
'.$_POST['eMail'].'
        
Betreff:
'.$_POST['betreff1'].'
        
Nachricht:
'.$_POST['nachricht'].'
        

'.$_POST['captcha'].'';
    
    if (@mail("mikeschiffer@onlinehome.de",
         "Neue Nachricht vom Kontaktformular",
         $eMail)) {
      echo "Ihre Nachricht wurde an mich verschickt, vielen Dank!<br />"; 
    } else {
      echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
    }
    if ($_POST['kopie']) {
      if (@mail($_POST['eMail'],
           "Hier die Kopie Ihrer Nachricht an mich",
           $eMail)) {
        echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";
      }
    }
  }
  
  function isEmail($email) {
    $nonascii      = "\x80-\xff"; 
    $nqtext        = "[^\\$nonascii\015\012\"]";
    $qchar         = "\\[^$nonascii]";
    $protocol      = "(?:mailto:)";
    $normuser      = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
    $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
    $user_part     = "(?:$normuser|$quotedstring)";
    $dom_mainpart  = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";
    $dom_subpart   = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";
    $dom_tldpart   = "[a-zA-Z]{2,5}";
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    $regex         = "$protocol?$user_part\@$domain_part";
    if (preg_match("/^$regex$/",$email)) {
      return true;
    }
    return false;
  }
?>

Vielen Dank schon einmal.

Mike
 

AW: Kontaktformular: Text zeigt Umlaute falsch an

Je nachdem welche Zeichenkodierung du auf deiner Seite verwendest, sollte dir eine dieser Funktionen bei der Umwandlung der Texteingabe behilflich sein:
PHP: utf8_encode - Manual
PHP: utf8_decode - Manual

Damit auch immer eine einheitliche Zeichenkodierung verwendet wird, solltest du diese natürlich im Head-Bereich auch definieren:
Code:
<meta http-equiv="content-type" content="text/html;  charset=ZEICHENCODIERUNG">
gruß
 
Zuletzt bearbeitet:

redbull4711

Aktives Mitglied

AW: Kontaktformular: Text zeigt Umlaute falsch an

Vielen Dank schon einmal.

In meinem Headbereich ist folgendes definiert

Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Wenn ich das jetzt richtig verstanden habe, müsste es also funktionieren. Nur irgendwie möchte es das nicht.
Da hab ich doch irgendwo einen Fehler. Hast Du noch eine Idee?

Grüße
 

redbull4711

Aktives Mitglied

AW: Kontaktformular: Text zeigt Umlaute falsch an

Ich werde noch bescheuert!!!!!!!

Es lag nicht am Code. In Firefox war die Zeichencodierung nicht auf Unicode gestellt.

Man man man,

Vielen Dank für die Hilfe

Grüße
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben