Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-10-2011, 10:11   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 5
Question Kontaktformular Kyrillisch/russische Schrift

Hallo, das kontaktformular soll kyrilische Schriftzeichen zu senden können.
Wenn ich kyrillischen Text im Eingabefeld "Name" eingebe gibt er mir aber sofort die in der "kontakt.php" definierte Fehlermeldung -"Bitte füllen sie mindesten....aus"
Im Eingabefeld "email" eingetragene kyrillische Zeichen werden in der angekommenen email einfach ignoriert.
Das ändern der charsets hat nichts genützt.

Das Kontaktformular besteht aus drei Teilen.

1. der html-Teil:
HTML-Code:
<form method="POST" action="kontakt.php" name="kontakt" accept-charset="UTF-8">
        <div class="form-label" id="form-label-name">Ihr Name</div>
        <div class="form-input" id="form-input-name"><div class="form-input-inner"><input type="text" name="name" value="" maxlength="50" /></div></div>
        <div class="form-label" id="form-label-email">e-mail Adresse</div>
        <div class="form-input" id="form-input-email"><div class="form-input-inner"><input type="text" name="email" value="" maxlength="50" /></div></div>
        <div class="form-label" id="form-label-betreff">Betrifft</div>
        <div class="form-input" id="form-input-betreff"><div class="form-input-inner"><input type="text" name="betreff" value="" maxlength="100" /></div></div>
        <div class="form-textarea"><div class="form-textarea-inner">
          <div class="form-textarea-label">Ihre Mitteilung...</div>
          <textarea name="nachricht" size="50" rows="5"></textarea>
        </div></div>
        <div class="form-submit"><div class="form-submit-inner"><input type="submit" name="submit" value="senden" /></div></div>
      </form>
2. kontakt.php

PHP-Code:
<?php

$empfaenger_email 
"info@blabla.de";
$empfaenger_name "BlaBla";
$danke "Danke f&uuml;r Ihre Nachricht!";
$fehler "Bitte f&uuml;llen Sie mindestens 'Ihr Name' und 'Ihre Mitteilung' aus.";

$reg_email '^[a-z0-9](([_\.\-]?[a-z0-9]+)*)@([a-z0-9]+)(([\.\-]?[a-z0-9]+)*)\.([a-z]{2,})$';
$name stripslashes($_POST['name']);
$email eregi($reg_email$_POST['email']) ? $_POST['email'] : "";
$betreff stripslashes($_POST['betreff']);
$nachricht stripslashes($_POST['nachricht']);

if (
preg_match('/[a-z]{2}/i'$name) && !empty($_POST['nachricht'])) {
  require(
"class.phpmailer.php");
  
$mail = new PHPMailer();
  
$mail->IsMail();
  
$mail->From $empfaenger_email;
  
$mail->FromName $name;
  
$mail->Subject = empty($betreff) ? "Nachricht über das Kontaktformular" $betreff;
  
$mail->Body $nachricht;
  if (!empty(
$email)) {
    
$mail->AddReplyTo($email$name);
  }
  
$mail->AddAddress($empfaenger_email$empfaenger_name);
  
$mail->Send();
  
$output $danke;
} else {
  
$output $fehler;
}

$fh fopen('kontakt.html''r');
$content fread($fhfilesize('kontakt.html'));
$content str_replace('<!--{{'''$content);
$content str_replace('}}-->'''$content);
$content preg_replace('/<textarea([^>]+)><\/textarea>/i''<textarea disabled="disabled"$1>'.$output.'</textarea>'$content);
$content preg_replace('/<input([^>]*)type="submit"([^>]*)\/>/i''<input disabled="disabled"$1type="submit"$2/>'$content);

print 
$content;
ich habe nur mäßige kenntnisse,
gehe aber davon aus dass die Lösung dort zu finden ist.

3.phpmailer.php

Bin über jede Hilfe sehr dankbar!
Schröder ist offline   Mit Zitat antworten
Alt 12-10-2011, 11:33   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Das Problem sind deine regulären Ausdrücke, diese sind auf das lateinische Alphabet ausgerichtet und filtern daher deine kyrillischen Zeichen.

PHP-Code:
preg_match('/[a-z]{2}/i'$name
würd ich einfach durch
PHP-Code:
!empty( $name 
ersetzen.

Deine PHPMailer-Klasse filtert aber eben auch noch deine Zeichen raus, daher du musst dort ebenfalls deinen Zeichensatz mit angeben:
Code:
$mail->CharSet="windows-1251";
$mail->CharSet="utf-8";
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 13-10-2011, 12:45   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 5
Danke für deine schnelle Antwort.

Das Kontaktformular gibt mir jetzt keine fehlermeldung aus und die e-mail sieht fast aus wie sie soll.

Da ich mich nicht allzu gut auskenne...kannst du mir noch sagen an welcher stelle ich den Zeichensatz bzw. das

PHP-Code:
$mail->CharSet="windows-1251";
$mail->CharSet="utf-8"
einfügen muss.
Schröder ist offline   Mit Zitat antworten
Alt 13-10-2011, 13:24   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Ich würde das direkt nach
PHP-Code:
$mail->IsMail(); 
einfügen. Natürlich nur EIN Zeichensatz, nämlich den mit welchem es besser geht
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 13-10-2011, 13:57   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 5
habe beides ausprobiert.
mit dem CharSet: windows-1251 sieht der Betreff und der absender so aus:

пользовател <>

mit dem CharSet: UTF-8 so:

пользовател <>

in den spitzen Klammern fehlt immer noch die email Adresse

...muss ich evtl. im class.phpmailer.php was einstellen
Schröder ist offline   Mit Zitat antworten
Alt 13-10-2011, 14:26   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 5
oder....

kann man dem Eingabefeld "E-mail" neben dem charset die gleichen Attribute bezüglich der Zeichenübermittlung zuweisen wie bsp. den Eingabefeld "Betreff"?
Schröder ist offline   Mit Zitat antworten
Alt 13-10-2011, 15:33   #7 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Ehrlich: Keine Ahnung...
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 13-10-2011, 16:07   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 5
Hmm...

Naja, einen Schritt bin ich ja weiter gekommen.
Falls dir noch ne Idee übern Weg läuft, können wir es ja noch mal probieren

Vielen Dank für dein bemühen.
Schröder ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
kontaktformular, kyrillisch, russisch

Themen-Optionen
Ansicht

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 sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Russische Schriftzeichen n-bert Flash MX 15 03-05-2006 12:39
Russische Schrift/Sprache einbetten. HILFE BITTE Marion1985 Flash MX 2 02-05-2005 13:50
html seite ins russische sina Am Rande 24 21-06-2004 09:54
übersetzung ins russische rodyho Flash 4 und Flash 5 2 21-05-2004 14:42
brauche russische schrift !!!???!? noni Flash 4 und Flash 5 2 12-06-2002 01:13


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele