php.de

Zurück   php.de > php.de Intern > Beitragsarchiv

Beitragsarchiv Nur gucken, nichts anfassen. Das Archiv der Beiträge vergangener Zeiten.

 
 
LinkBack Themen-Optionen
Alt 24.07.2009, 12:27  
Neuer Benutzer
 
Registriert seit: 24.07.2009
Beiträge: 1
PHP-Kenntnisse:
Anfänger
thezuberat befindet sich auf einem aufstrebenden Ast
Standard Formmailer: UTF-8 zu ISO Konvertierung.

Hallo,
ich habe folgendes Problem:

Das unten stehende Script stellt einen Formmailer dar, also von einem Formular (das in utf- Daten aufnimmt, kann man Informationen an den Admin schicken und auch eine Kopie dieser Nachricht anfordern).
Habe das Script über Formular Generator - schnell und einfach individuell Webformulare erstellen erstellt und auf meiner utf-8 kodierten Seite eingebaut.

Das Problem ist, dass ein paar Mailprogramme nur Iso unterstützen (z.B. Hotmail). Ich habe nach einer einfachen Lösung gesucht, aber nur 2 ohne Programmierung gefunden: Entweder ich stelle die Seite auf Iso um, oder ich stelle das Formular auf Iso um (accept-charset, funktioniert leider nicht bei IE). Ich habe keine PHP-Erfahrung, bin daher ziemlich unfähig im Bezug auf Programmierung (leider auch Grundlagen).

Habe also hier im Forum einige Sachen gefunden, aber nicht umsetzen können. Habe auch z.B.:
hier: http://blog.higher-order.net/2008/12...-html-or-http/ etwas Interessantes gefunden, aber konnte es ebenfalls nicht umsetzen.
Ich denke man muss "einfach" die Strings ( vorName, nachName, Betreff1), etc. mittels "decode utf-8 " umwandeln bevor die email versendet wird. Ich hoffe, jemand kann mir helfen.
Bitte versteht diesen Hilferuf nicht als Faulheit, ich habe schon viel versucht, aber ohne Php Kentnisse tue ich mir etwas schwer. Deswegen wende ich mich an Profis .
Vielen Dank im Voraus!!

PS: Das ganze ist für ein Schulprojekt, weshalb ich kaum bzw. am liebsten gar keine Bezahlung/Gegenleistung außer meinen Dank bieten kann.

PHP-Code:
<script type="text/javascript">
<!--
 function isValid() {

   var msg = "";
   
   if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
       kontaktFormular.eMail.value.indexOf(".") < 1) {
     msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
   }
   
   if(kontaktFormular.vorName.value == "") {
     msg += "- Leeres Feld: Vorname:\n";
   }

   if(kontaktFormular.nachName.value == "") {
     msg += "- Leeres Feld: Nachname:\n";
   }

   if(kontaktFormular.betreff1.value == "") {
     msg += "- Leeres Feld: Betreff:\n";
   }

   if(kontaktFormular.nachricht.value == "") {
     msg += "- Leeres Feld: Nachricht:\n";
   }
   
   if(msg == "") {
     return true;
   }
   alert(msg);
   return false;
 }
-->
</script>
<?php
 
  $formularAnzeigen 
false;
  if (!empty(
$_POST["senden"]) && (
      empty(
$_POST["vorName"]) ||
      empty(
$_POST["nachName"]) ||
      empty(
$_POST["eMail"]) ||
      empty(
$_POST["betreff1"]) ||
      empty(
$_POST["nachricht"]))) {
    
$formularAnzeigen true;
    echo 
'<span style="color: #FF0000; font-size: x-large;">Bitte alle Pflichtfelder ausfuellen.</span>';
  } else if (!empty(
$_POST["senden"]) &&
             !
isEmail($_POST["eMail"])) {
    
$formularAnzeigen true;  
    echo 
'<span style="color: #FF0000; font-size: x-large;">Die E-Mail-Adresse ist nicht korrekt.</span>';
  } else if (empty(
$_POST["senden"])) {
    
$formularAnzeigen true;  
  }
  if (
$formularAnzeigen) {
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
  <table width="570" border="0">
<!--anfang Anrede-->
    <tr>
      <td width="169">&nbsp;</td>
      <td width="169">
        <strong>Anrede:</strong>
      </td>
      <td width="340">
        <select name="anrede">
          <option <?=($_POST['anrede']=='Frau')?'selected':''?>>Frau</option>
          <option <?=($_POST['anrede']=='Herr')?'selected':''?>>Herr</option>
        </select></td>
    </tr>
<!--ende anrede-->
<!--anfang vorName-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Vorname:
      </strong></td>
      <td>
      <input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>
          
    </tr>
<!--ende vorName-->
<!--anfang nachName-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Nachname:
      </strong></td>
      <td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
    </tr>
<!--ende nachName-->
<!--anfang eMail-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        E-Mail:
      </strong></td>
      <td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
    </tr>
<!--ende eMail-->
<!--anfang betreff1-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Betreff:
      </strong></td>
      <td><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff1']; ?>" size="50" /></td>
    </tr>
<!--ende betreff1-->
<!--anfang betreff2-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Kontaktwunsch:
      </strong></td>
      <td><select name="betreff2" id="betreff2">
  <option<?=($_POST['betreff2']=='Per E-Mail')?' selected':' '?>>Per E-Mail</option>
  <option<?=($_POST['betreff2']=='Per Telefon')?' selected':' '?>>Per Telefon (Bitte im Feld "Nachricht" Telefonnummer angeben)</option>
        <option<?=($_POST['betreff2']=='Per Handy')?' selected':' '?>>Per Handy (Bitte ebenfalls Nummer angeben)</option>
        <option<?=($_POST['betreff2']=='Egal')?' selected':' '?>>Egal</option>
      </select></td>
    </tr>
<!--ende betreff2-->
<!--anfang nachricht-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Nachricht:
      </strong></td>
      <td><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td>
    </tr>
<!--ende nachricht-->
<!--anfang kopie-->
    <tr>
      <td>&nbsp;</td>
      <td><strong>
        Kopie der Nachricht an ihre E-Mailadresse schicken?:
      </strong></td>
      <td><input name="kopie" type="checkbox" value="checked" <?=$_POST['kopie']; ?>></td>
    </tr>
<!--ende kopie-->
    <tr>
      <td colspan="3">
        <div align="center">
          <input name="senden" type="submit" value="Senden" />
        </div>
      </td>
    </tr>
  </table>
</form>

<?php
  
echo'';
  } else {
    
$eMail '
       
Anrede:
'
.$_POST['anrede'].'
       
Vorname:
'
.$_POST['vorName'].'
       
Nachname:
'
.$_POST['nachName'].'
       
E-Mail:
'
.$_POST['eMail'].'
       
Betreff:
'
.$_POST['betreff1'].'
       
Kontaktwunsch:
'
.$_POST['betreff2'].'
       
Nachricht:
'
.$_POST['nachricht'].'
       
Kopie der Nachricht angefordert (wenn ja dann Wert ist gleich "checked", sonst steht hier nichts):
'
.$_POST['kopie'].'';
   
    if (@
mail("xyz@noone.de",
         
"Neue Nachricht vom Kontaktformular",
         
$eMail)) {
      echo 
"Ihre Nachricht wurde an uns übermittelt, vielen Dank! Wir melden uns in Kürze und beantworten ihre Anfrage so schnell wie möglich!<br />";
    } else {
      echo 
"E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
    }
    if (
$_POST['kopie']) {
      if (@
mail($_POST['eMail'],
           
"Hier die Kopie Ihrer Nachricht an uns (XYZ)",
           
$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;
  }
?>
thezuberat ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

 


Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bei PHP Formmailer Standard-Absender ändern sx1-user PHP Tipps 2009 6 19.02.2009 08:12
Frage zu Formmailer airkiller PHP Tipps 2008 9 15.07.2008 11:41
Probleme mit PHP Formmailer Karlo PHP Tipps 2008 3 12.01.2008 00:33
formmailer nur mit zusatzfunktion ohne notices verwendbar Promaetheus PHP Tipps 2008 4 21.09.2007 12:18
Formmailer lavey242 PHP Tipps 2006 5 06.05.2006 12:39
[Erledigt] Formmailer Mail Manage EX gesucht PHP Tipps 2006 1 08.02.2006 12:02
Probleme mit dem Formmailer von selfhtml PHP Tipps 2005-2 10 08.10.2005 11:05
Formmailer geht bei der email zuschickung nicht richtig PHP Tipps 2005 2 02.06.2005 22:54
[Erledigt] Im Intranet einen Formmailer benutzen ?!?! Server, Hosting und Workstations 3 16.12.2004 21:47
[Erledigt] Intranet Formmailer Server, Hosting und Workstations 4 15.12.2004 12:34
php formmailer in html dok. PHP Tipps 2004-2 5 21.11.2004 03:47
[Erledigt] Weshalb beträgt die Dateigrösse auf 2MB beim Formmailer... PHP Tipps 2004-2 2 19.11.2004 15:22
[Erledigt] Formmailer anpassen PHP Tipps 2004 7 21.09.2004 10:22
Formmailer zeigt Fehler nicht alle auf einmal an PHP Tipps 2004 15 31.08.2004 10:17
komplette Webseite per Formmailer verschicken Beitragsarchiv 2 11.08.2004 21:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/beitragsarchiv/57423-formmailer-utf-8-zu-iso-konvertierung.html, zeichenkonvertierung html form, formmailer php div, formmailer utf-8, formmailer utf, formmailer utf8, php formular funktioniert nicht in internet explorer \leeres feld\, formmailer generator, formmailer utf 8, php mail iso, utf-8 für email send konverteren, php mail utf-8, formmailer utf-8 perl, php form utf-8, div utf-8, utf8 formular und iso emails, umwandlung iso in utf-8, iso auf utf8 konvertieren, php-formular iso, utf-8 umsetzen

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum