Seite 1 von 2
kein mailversand mit w3concepts.form.v1
Verfasst: Mi 18. Aug 2004, 13:17
von barrybest
hola an die gruppe
habe mich eigentlich ganz gut in contenido eingearbeitet, aber hier ist ein problem welches mir schleierhaft bleibt.
benutze das modul w3concepts.form.v1 um formulare zu erstellen.
klappt alles supi nur leider werden keine emails versendet.
benutze sendmail auf dem server. das funzt.
habe auch ein newsletter modul eingebaut und das funzt ohne Probleme.
jemand eine Idee woran es liegen kann?
mfg
barrybest
Verfasst: Mi 18. Aug 2004, 14:04
von kummer
ich hoffe, ich darf das fragen: aber hast du deine email-adresse angegeben im input-bereich?
hast du schon im error-log nachgesehen?
jep
Verfasst: Mi 18. Aug 2004, 14:15
von barrybest
also emailadresse ist angegeben
im errorlog habe ich folgendes gefunden
[18-Aug-2004 15:10:50] PHP Warning: fopen(../content/css/format.css): failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/www/web1/html/contenido/includes/include.tplcfg_edit_form.php(390) : eval()'d code on line 119
hope this helps
gruss
barrybest
Verfasst: Mi 18. Aug 2004, 14:26
von kummer
das ist seltsam. ich würde folgendes vorschlagen:
(1) im output-script nach der funktion mail() suchen.
(2) eine zeile oberhalb ein var_dump() aller variablen machen, die der mail-funktion übergeben werden.
(3) dann solltest du die ausgabe an den schirm erhalten.
(4) diese mal hier posten. dann sehen wir, ob allenfalls nicht ausreichend informationen an die mail-funktion übergeben werden.
Verfasst: Mi 18. Aug 2004, 14:50
von barrybest
danke erstmal für deine wirklich schnelle hilfe
zu 1.
die "function mail ()" ist nicht vorhanden im output bereich.
gruss
barry best
Verfasst: Mi 18. Aug 2004, 15:00
von kummer
doch, du findest sie ganz am anfang der klasse:
Code: Alles auswählen
function w3form() {
}
// PRIVATE
function sendEmail() {
$this->aufdroeseln($this->suppress('sent'));
$this->generateEmailMessage();
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion());
}
vardump
Verfasst: Mi 18. Aug 2004, 15:31
von barrybest
ok gefunden.
der var_dump sollte so aussehen????
var_dump($this->email['adresses'],$this->email['subject'],$this->email['message'],$this->email['from']['name'], $this->email['from']['email'])
sorry aber meine proggie kenntniss sind eher nicht vorhanden.
gruss
barry best
Verfasst: Do 19. Aug 2004, 23:13
von barrybest
das problem hat sich in Luft aufgelöst.
ich weiss zwar nicht woran es gelegen hat aber egal.
jetzt funzt es´.
danke trotzdem
mfg
Barrybest
Verfasst: Fr 20. Aug 2004, 07:25
von Admin51
kummer hat geschrieben:das ist seltsam. ich würde folgendes vorschlagen:
(1) im output-script nach der funktion mail() suchen.
(2) eine zeile oberhalb ein var_dump() aller variablen machen, die der mail-funktion übergeben werden.
(3) dann solltest du die ausgabe an den schirm erhalten.
(4) diese mal hier posten. dann sehen wir, ob allenfalls nicht ausreichend informationen an die mail-funktion übergeben werden.
Hallo, ich habe so ein ähnliches Problem.
Es wird zwar eine Mail rausgeschickt, aber ohne Inhalt.
Leider ist mein PHP auch nicht so berauschend und kann das nicht so nachvollziehen was eigentlich nicht funktioniert.
Habe mal ein var_dump gemacht.
Meldung:
string(18) "
webmaster@b-w-z.de" string(16) "Kontakt-Formular" NULL string(89) "From: Kontakt B-W-Z Reply-To:
webmaster@b-w-z.de X-Mailer: PHP/4.1.2"
Das Formular von mir:
Code: Alles auswählen
<div style="text-align: center;">
<font size="3">
<span style="font-weight: bold;">Kontaktformular</span>
</font><br />(Bitte die Felder mit * unbedingt ausfüllen)<br /><br />
<div style="text-align: left;">Name* , Vorname* ###name:hname; type:text ; valid:text; mandatory:true; size:20### /
###name:vorname; type:text ; valid:text; mandatory:true; size:20###<br />
<br />Ihre e-Mailadresse*: ###name:mail; type:text ; valid:email; mandatory:true; size:45###<br />
<br />Betreff: ###name:betreff; type:text ; size:60###<br />
<br />Ihre Mitteilung/ Anfrage <br /> ###name:mitteilung; type:textarea ; cols:50; rows:6###<br /><br /><br /></div></div>
Im Modul hatte ich den Senden-Button eingebaut.
Code: Alles auswählen
// PRIVATE
function formularAusgabe($sent = false) {
echo '<form action="" method="POST">';
echo '<input type="hidden" name="sent" value="true" />';
$formular = $this->form['form'];
$formulardaten = $this->formularInterpretation(&$formular);
$formular = split('###',$formular);
foreach ($formular as $formularteil) {
if (!empty($formulardaten["{$formularteil}"])) {
$this->formularFeld($formulardaten["{$formularteil}"],$sent);
} else {
echo $formularteil;
}
}
echo '<INPUT type=submit value=senden></form>';
}
Die Fehlermeldung von Contenido sieht auch toll aus ...bzw. ich kann damit überhaupt nix anfangen.
[20-Aug-2004 08:14:18] PHP Warning: Invalid argument supplied for foreach() in /var/www/web79/html/cms/front_content.php(563) : eval()'d code on line 422
Ich bin mir fast sicher das ich irgendwas ..vermutlich total einfach ...übersehe ....
Nur ich bekomme das seit zwei Tagen einfach nicht raus.
Hätte da vielleicht einer eine Idee oder einen Tipp ?
Danke
Verfasst: Di 24. Aug 2004, 14:59
von timbo
Habe genau dasselbe Problem,
würde mich auch über Hilfe freuen.
Danke Timbo
Verfasst: Mi 25. Aug 2004, 11:45
von timbo
Hab das Problem gelöst! :)
Und zwar ist im Output-Code in folgender Funktion:
[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
} [/code]
ein Gleichheitszeichen zuviel, muss also durch folgendes ersetzt werden:
[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
} [/code]
Funktioniert es bei euch allen mit dem Fehler?????
Gruß Timbo
Verfasst: Mi 25. Aug 2004, 12:08
von HerrB
Code: Alles auswählen
// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
}
ein Gleichheitszeichen zuviel, muss also durch folgendes ersetzt werden:
Code: Alles auswählen
// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
}
Ich sehe da gerade keinen Unterschied...
Gruß
HerrB
Verfasst: Mi 25. Aug 2004, 12:48
von timbo
sorry
[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
} [/code]
durch diese ersetzten
[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) == false) $fields[$key] = $value;
}
return $fields;
} [/code]
Gruß Timbo
Verfasst: Mi 25. Aug 2004, 12:54
von timbo
ist aber anscheinen doch mit drei Gleichheitszeichen richtig, funktioniert damit aber bei mir nicht!
Gruß Timbo
Fehler bei Falscheingabe
Verfasst: Mo 20. Sep 2004, 09:06
von dhbujack
Hallo,
habe w3concepts.form.v1 bei mir jetzt in die Version 4.4.4 integriert und ebenfalls zeitweise ein Problem mit dem Mailversand.
Nach längerer Analyse sowohl mit IE als auch Netscape kann ich nun folgendes dazu sagen:
- Werden die Daten korrekt eingeben, funktioniert der Mailversand und die Seite mit der Bestätigung wird ausgegeben.
- Wird bei der Eingabe ein Fehler gemacht (z.B. Leerzeichen bei 'valid:simpletext'), erfolgt zwar offenbar von Seiten des Scripts eine Prüfung, aber eben keine Fehlerausgabe auf den Bildschirm und somit aber auch kein Mailversand.
- Wird 'typ:textarea' gewählt darf bei der Eingabe offenbar auch kein 'Enter' gedrückt werden, da auch dann kein Mailversand erfolgt
Bisher habe ich aber noch nicht die Zeit gefunden mich genauer damit zu beschäftigen bzw. den Scriptcode zu betrachten.
Kann mir jemand kurz die Frage beantworten, was eigentlich vorgesehen ist wenn bei der Validierung ein Fehler festgestellt wird? In der Anleitung bzw. Beschreibung von w3concepts steht hierzu nichts.
Gruß aus Berlin
Daniel