Userdefiniertes Tag

Hilfe zu Modulen und Tags
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Userdefiniertes Tag

Post by Grega »

Moin.

Da ich ja solche Probleme mit dem FeedbackForm habe, habe ich mich mal an den Userdefinierten Tags versucht. Dazu habe ich ein neues UDT erstellt. Oben wird eine Validierungs-Klasse included, darunter ist ein simples Formular mit den Feldern "name", "email" und "kommentar". Die Klasse ist, wie schon gesagt, zum Überprüfen der Eingaben da. Läuft auch wunderbar. Ist dies nicht richtig ausgefüllt meckert er, ist jenes nicht richtig pöbelt er auch, bis alles richtig ausgefüllt ist. Drückt man dann auf den Sendebutton, erhalte ich eine Mail und im Browser wird mir die "Danke blablabla"-Meldung angezeigt. Wo ist also das Problem? Jaaaa, meine Mail ist leer! Sie kommt wunderbar an, hat nur keinen Inhalt. :( Das Skript läuft sonst in handgeklöppelten Seiten 1a. Gibt es Probleme beim Übergeben von Variablen? Das untere Ende des Formulars schaut so aus:

Code: Select all

(...)
if ($processor->validate()) {

 $empfaenger = 'meinname@meinedomain.de';
 $betreff = 'Kontakt via Formular';
 $header = "From: meinname@meinedomain.de" . "\n" .
   	"Reply-To: ".$email."" . "\n" .
   	"X-Mailer: PHP/" . phpversion();

 mail($empfaenger,$betreff,$kommentar,$header);
 echo "<p>Vielen Dank für Dein Interesse. Blablabla</p>";
} else {
 $processor->display();
}
Liegt das an CMSMS?
Können die mich nicht vor dem Frühstück töten?
Piratos

Re: Userdefiniertes Tag

Post by Piratos »

Na ich würde zumindest aus dem Formular die $_POST - Inhalte auslesen, sonst wird das nichts.
Darien

Re: Userdefiniertes Tag

Post by Darien »

Grega wrote: Moin.

Da ich ja solche Probleme mit dem FeedbackForm habe, habe ich mich mal an den Userdefinierten Tags versucht.
Ich weiß nicht, ob ich das schon gefragt habe, aber hast Du schon das FormBuilder-Modul probiert ? Bei mir läuft es mit CMSms 1.0.1 problemlos !
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Re: Userdefiniertes Tag

Post by Grega »

@Piratos: Jep. das war's. Danke. Schussel ich.

@Darien: Ja, läuft auch gut. Nur wollte ich das Formular in seiner Syntax ändern (weg vom tabellen-Layout) und dazu muss ich an die Files ran. Da es aber via XML installiert ist, sind die Rechte so blöde und man kommt nicht ran. Also entschied ich mich für eine hausgemachte Lösung. :)

Zum Thema: Das Skript funktioneirt nun klasse. Es bekommt die Variablen wunderschön übergeben. Aber: Das leidige Thema mit den Sonderzeichen. Also habe ich meinen Header erweitert und dabei kam das heraus, was aber leider nicht klappt. Wo liegt der Hund begraben?

Code: Select all

(...)
if ($processor->validate()) {
   
$empfaenger = 'meinname@meinedomain.de';
$betreff = 'Kontakt via Formular';
$header = "MIME-Version: 1.0". "\n".
	"Content-type: text/html; charset=iso-8859-1". "\n".
	"From: meinname@meinedomain.de" . "\n" .
  	"Reply-To: ".$_POST['email']."" . "\n" .
   	"X-Mailer: PHP/" . phpversion();

mail($empfaenger,$betreff,$_POST['kommentar'],$header);
	echo "<p>Vielen Dank für Dein Interesse. Blablabla</p>";
} else {
    $processor->display();
}
Was ich übrigens nicht verstehe. Schau ich in den Header meiner empfangenen Mail, dann steht da nämlich u.a.:
(...)
Mime-Version: 1.0
Content-Type: text/html; charset=iso-8859-1
X-Mailer: PHP/4.4.1
(...)
Können die mich nicht vor dem Frühstück töten?
Piratos

Re: Userdefiniertes Tag

Post by Piratos »

Zum Thema Sonderzeichen:

da must du mal testweise so etwas einbauen:

$meinevariable = htmlentities($meinevariable,ENT_NOQUOTES,'ISO-8859-1');


Zum Setzen über Parameter würde ich das einbauen:

$encode =isset($params['encode']) ? $params['encode']:'ISO-8859-1';

dann wird es also  $meinevariable = htmlentities($meinevariable,ENT_NOQUOTES,$encode)
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Re: Userdefiniertes Tag

Post by Grega »

Code: Select all

(...)
if ($processor->validate()) {

$dertext = htmlentities($_POST['kommentar'],ENT_NOQUOTES,'ISO-8859-1');
$empfaenger = 'meinname@meinedomain.de';
$betreff = 'Kontakt via Formular';
$header = "MIME-Version: 1.0". "\n".
		"Content-type: text/html; charset=iso-8859-1". "\n".
		"From: meinname@meinedomain.de" . "\n" .
  		"Reply-To: ".$_POST['email']."" . "\n" .
   		"X-Mailer: PHP/" . phpversion();

mail($empfaenger,$betreff,$dertext,$header);
Ne. Das klappt so leider nicht. Kommen immer noch vermurkse Sonderzeichen bei heraus. :(
Können die mich nicht vor dem Frühstück töten?
cyberman

Re: Userdefiniertes Tag

Post by cyberman »

Grega wrote:

Code: Select all

(...)
$dertext = htmlentities($_POST['kommentar'],ENT_NOQUOTES,'ISO-8859-1');
Kommen immer noch vermurkse Sonderzeichen bei heraus. :(
Standardmäßig ist CMSms auf utf-8 eingestellt. Wenn du dein CMSms NICHT auf ISO-8859-1 angepasst/umgestellt hast (config.php) liefert dein Formular wahrscheinlich die Daten im utf-8 Format.
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Re: Userdefiniertes Tag

Post by Grega »

Habe schon vorher etwas rumgespielt. Jetzt also die volle Packung: Sowohl Piratos' Hinweis, als auch eine Umstellung auf iso-8859-1 in den Meta-Tags der Seite und eine Umstellung auf iso-8859-1 in der config.php. Es gibt immer noch nur:
Schöne grüne Äpfel.
Und schön sind die nicht... :(
Können die mich nicht vor dem Frühstück töten?
cyberman

Re: Userdefiniertes Tag

Post by cyberman »

Und du hast sicherlich auch schon daran gedacht, nach der Änderung an der config.php den Cache zu löschen  ??? ...
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Re: Userdefiniertes Tag

Post by Grega »

Natürlich.... - nicht. *flöt* Aber auch nach dem Löschen des Chaches bekomme ich nur faule Äpfel, jedoch keine Umlaute.
Können die mich nicht vor dem Frühstück töten?
Piratos

Re: Userdefiniertes Tag

Post by Piratos »

Die CMS läuft normal unter UTF-8, deswegen ja Übergabe als Parameter zum testen.
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Re: Userdefiniertes Tag

Post by Grega »

Ok, dann muss ich mich mal outen als nicht ganz wissend, was Du damit meinst. Schaut bei mir jetzt so aus (mata-Angabe immer noch auf iso, ebenso in der config.php):

Code: Select all

(...)
if ($processor->validate()) {
$encode =isset($params['encode']) ? $params['encode']:'ISO-8859-1';
$dertext = htmlentities($_POST['kommentar'],ENT_NOQUOTES,$encode);
$empfaenger = 'meinname@meinedomain.de';
$betreff = 'Kontakt via Formular';
$header = "MIME-Version: 1.0". "\n".
		"Content-type: text/html; charset=iso-8859-1". "\n".
		"From: meinname@meinedomain" . "\n" .
  		"Reply-To: ".$_POST['email']."" . "\n" .
   		"X-Mailer: PHP/" . phpversion();

mail($empfaenger,$betreff,$dertext,$header);
So klappt es jedenfalls nicht. Denke aber einmal, ich habe Dich da auch falsch verstanden?
Können die mich nicht vor dem Frühstück töten?
Piratos

Re: Userdefiniertes Tag

Post by Piratos »

Einfach mal verschiedene Charsets probieren  aber vorher mal phpinfo ansehen, welche charsets dein webserver akzeptiert.
Grega
Forum Members
Forum Members
Posts: 55
Joined: Wed Apr 05, 2006 8:05 am

Re: Userdefiniertes Tag

Post by Grega »

Ach da war der Fehler... In der config.php sah ich nur ein utf-8, das ich in ISO-8859-1 geändert habe. Das war $config['admin_encoding'] = 'utf-8'; (hier wieder in utf-8 geändert)). Jetzt noch einmal darüber den Iso-Wert eingeben ($config['default_encoding'] = 'ISO-8859-1';) und das mit dem Mailen klappt. Nur, dass nun in der Navigation (und der Brotkrume) keine Sonderzeichen mehr dargestellt werden. *zumverzweifeln*  :-\
Können die mich nicht vor dem Frühstück töten?
Piratos

Re: Userdefiniertes Tag

Post by Piratos »

UTF-8 müsste eigentlich für die cms i.O. sein.

Vielleicht liegt es aber einfach an den Einstellungen deines Email Programmes.  Bei Thunderbird ist es bei mir z.B. ISO 8859-15 und 0 Probleme.
Post Reply

Return to “Module und Tags”