Seite 1 von 1

w3concepts.form.v1

Verfasst: Mi 25. Aug 2004, 10:30
von timbo
Hallo zusammen,

habe folgendes Problem, benutze das Modul w3concepts.form.v1, es schickt auch die Mail raus, nur ist diese Leer, wird also nicht mit den Eingaben aus dem Formular gefüllt!

Code vom Formular:

<table border="0" cellpadding="0" cellspacing="0"> <tbody><tr>
<td class="links">Betreff:</td>
<td>###name:Betreff; type:text; size:40; mandatory:true###</td>
</tr>
<tr>
<td class="links">Name:</td>
<td>###name:Name; type:text; size:40; mandatory:true###</td>
</tr>
<tr>
<td class="links">E-Mail:</td>
<td>###name:Email; type:text; size:40; mandatory:true; valid:email###</td>
</tr>
<tr>
<td class="links" valign="top">Meine Nachricht:</td>
<td>###name:Nachricht; cols:30; rows:10; type:textarea; mandatory:true; ###</td>
</tr>
<tr><td colspan="2" align="right"><div align="right"><input src="upload/bilder/button_send.gif" style="margin-top: 5px; margin-right: 10px;" border="0" type="image"></div>
</td>
</tr>
</tbody>
</table>


Wäre super, wenn mir jemand helfen könnte,
vielen Dank
Gruß Timbo

Verfasst: Mi 25. Aug 2004, 11:43
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]

Gruß Timbo

Verfasst: Mi 25. Aug 2004, 11:54
von kummer
das gleichheitszeichen ist nicht zuviel.

mit zwei gleichheitszeichen (==) wird auf gleichwertigkeit geprüft. ein null (0), ein null (null) und ein false sind dabei gleichbedeutend.

mit drei gleichheitszeichen (===) wird auf gleichheit (nicht gleichwertigkeit) geprüft. also ist 0 ungleich false.

bei array_search ist das nun deshalb von bedeutung, weil es im erfolgsfall den index zurück gibt, und dieser kann bekanntlich 0 sein. wenn keine übereinstimmung vorliegt, gibt array_search aber false zurück. deshalb braucht es drei gleichheitszeichen.

Verfasst: Mi 25. Aug 2004, 12:50
von timbo
ok, verstehe, aber warum funktioniert es dann mit den drei Gleichheitszeichen bei mir nicht??

Gruß Timbo

Verfasst: Mi 25. Aug 2004, 15:25
von kummer
die fehlermeldung, die du unlängst mal publiziert hast bezog sich auf eine foreach-schlaufe und nicht auf eine if-bedingung.

ist es denn so, dass es funktioniert, wenn du zwei statt drei gleichheitszeichen verwendest?

das problem ist, dass ich das problem nicht nachvollziehen kann, da es bei mir so einwandfrei funktioniert.

Verfasst: Do 26. Aug 2004, 09:51
von timbo
nochmals vielen Dank für Deine Hilfe, ja es ist bei mir so, das es bei zwei Gleichheitszeichen einwandfrei funktioniert, mit dreien wird die Variable nicht gefüllt, das habe ich überprüft, also werden die Werte aus dem Formular nicht übernommen.
Es kommt auch keine Fehlermeldung mehr bei zwei Gleichheitszeichen!

mfg Timbo

w3concepts.form.v1 - kein Mailversand

Verfasst: Sa 28. Aug 2004, 21:31
von Buechfink
Habe ebenfalls Probleme mit dem w3concepts.form.v1 : Konfiguration und Darstellung funktionieren bestens. Nur wird kein Mail versand, trotz "Erfolgsmeldung".
Im Error-Log finden sich keine Hinweise. Wo könnte das Problem noch liegen.
Herzlichen Dank für Eure Hilfe

Verfasst: Mo 13. Sep 2004, 10:25
von timbo
bei mir hat es so wie oben beschrieben funktioniert!

Versionsproblem??

Verfasst: Mo 25. Okt 2004, 17:18
von Mike
Habe das gleiche Problem - Mail geht raus - ohne Inhalt (und ohne Fehlermeldung).

Habe auch mal das dritte Gleichheitszeichen gelöscht - siehe da - es geht.

Nun ist die Syntay mit drei Gleichheitszeichen aber eigentlich richtig :-))

Könnte das ein Versionsproblem von PHP sein?

Grüße

Micha