Seite 1 von 1
Kontaktformular 4.6.8 - Meldungen kaputt & Pflichtfelder
Verfasst: Sa 26. Aug 2006, 15:41
von hegi
Hallo Leute,
habe da noch mal zwei Fragen zum Kontakt-Formular:
1. Die Bestätigungsmeldungen werden nach dem absenden nicht angezeigt. Im Output code steht sowas wie:
echo mi18n("Ihr Anliegen wurde uns übermittelt. Vielen Dank!")."<br/>";
echo mi18n("Beim Versenden sind folgende Fehler aufgetreten:")."<br/>";
Aber im HTML Source kommt sowas hier raus:
<h1 class="headline"><h1 class="content">Kontakt</h1></h1> <p class="text" Ihr Anliegen wurde uns übermittelt. Vielen Dank!<br/>
Das sieht mir irgendwie kaputt aus.
2. Ich würde gerne die Pflichtfelder auf Vorname, Name und Email beschränken. Wie mach ich das?
Danke!
Verfasst: Sa 26. Aug 2006, 16:36
von hegi
Nochwas:
Das Formular funktioniert zwar unter FireFox und Mozilla - aber unter Opera und Explodierer reagiert er gar nicht auf die Buttons. - Ist da ein Fehler bekannt?
Verfasst: Sa 26. Aug 2006, 17:12
von mvf
versuch dich mal am w3concepts form, damit setze ich (fast) alles um, dank an die kummersche-schmied an dieser stelle nochmal
auch i-fekt hat ein eigenes kontakformular gecodet, kann ich allerdings keine aussagen zu machen.
nicht vergessen, standardmodule sind eben nur beispiele wie es gehen könnte, es empfiehlt sich immer eigene module zu proggen

Re: Kontaktformular 4.6.8 - Meldungen kaputt & Pflichtfe
Verfasst: Fr 1. Sep 2006, 20:36
von hegi
Hi mvf,
ich will eigentlich nur eine ganz einfache Funktion. w3concepts form ist mir dafür einfach zu komplex. Mit dem Modul von i-fekt habe ich auch 'ne Stunde rumprobiert ohne weiterzukommen. - Hiermit kriege ich wenigstens schon Mails raus (wenn auch nur eingeschränkt).
Ich bin eben Anwender nicht Programmierer.
hegi hat geschrieben:Aber im HTML Source kommt sowas hier raus:
<h1 class="headline"><h1 class="content">Kontakt</h1></h1> <p class="text" Ihr Anliegen wurde uns übermittelt. Vielen Dank!<br/>
Da ist definitiv irgendwo im vorgelagerten Bereich was faul. Ich finde es nur nicht. Ich habe jetzt in meinem OUTPUT einen Workaround eingebaut:
Code: Alles auswählen
} elseif ($_POST['send'] == 1) {
#Form has been sent
echo '><!-- Ende des Formulars -->'; #### Da ist ein Fehler irgendwo vorher im Code !!!
Aber schön ist das nicht!
Auch verstehe ich einfach nicht, warum diese Formular nicht mit dem Internet-Explodierer oder Opera will. - Es reagiert einfach nicht auf das Anklicken der Buttons. - Das ist z.Zt. noch das Hauptproblem! Mozilla, Firefox und Konqueror machen dagegen brav das, was sie sollen.
1000 Dank im voraus.
Verfasst: Fr 6. Okt 2006, 10:33
von lar_zzz
Hier wird nur Name und E-mail geprüft. Es gibt hier nur noch Name und kein Vornamen...
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Contact form
* Author(s) : Andreas Lindner
* Copyright : Contenido - four for business
* Created : 12.08.2005
************************************************/
#Includes
cInclude("classes", "class.phpmailer.php");
if (!isset ($_POST['send'])) {
#Form has not been sent yet
cInclude('classes', 'class.article.php');
cInclude('classes', 'class.template.php');
#Create contact form
echo '<form name="kontaktform" id="kontaktform" method="post" action="'.$sess->url("front_content.php?idcat=$idcat&idart=$idart&parentid=$parentid").'">';
echo '<input type="hidden" name="send" value="1" />';
if (!is_object($tpl)) {
$tpl = new Template;
}
$tpl->set("s", "UEBERSCHRIFT", mi18n("Kontakt per Formular"));
$tpl->set("s", "ANREDE", mi18n("Anrede"));
$tpl->set("s", "ANREDE_OPTION1", mi18n("Herr"));
$tpl->set("s", "ANREDE_OPTION2", mi18n("Frau"));
$tpl->set("s", "NAME", mi18n("Name"));
$tpl->set("s", "FIRMA", mi18n("Firma"));
$tpl->set("s", "STRASSE", mi18n("Straße/Nr."));
$tpl->set("s", "PLZORT", mi18n("PLZ/Ort"));
$tpl->set("s", "TELEFON", mi18n("Telefon"));
$tpl->set("s", "EMAIL", mi18n("E-Mail"));
$tpl->set("s", "ANLIEGEN", mi18n("Nachricht"));
$tpl->set("s", "PFLICHTFELDER", mi18n("Pflichtfelder"));
$tpl->set("s", "ABSCHICKEN", mi18n("Abschicken"));
$tpl->set("s", "LOESCHEN", mi18n("Löschen"));
$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/kontaktformular.html");
echo '</form>';
} elseif ($_POST['send'] == 1) {
#Form has been sent
#Check user input
$noerrors = true;
$msg = '';
if ($_POST['Name'] == '') {
$noerrors = false;
$msg .= mi18n("Bitte geben Sie Ihren Namen ein!")."<br/>";
}
if ($_POST['EMail'] == '') {
$noerrors = false;
$msg .= mi18n("Bitte geben Sie Ihre EMail-Adresse ein!")."<br/>";
}
if ($noerrors == false) {
#Errors have been found
echo mi18n("<br /><h2>Beim Versenden sind folgende Fehler aufgetreten:</h2>")."<br/>";
echo $msg.'<br/>';
echo '<a href="javascript:history.back();">'.mi18n("Zurück").'</a><br/><br/>';
} else {
#No errors, create and send mail
$mail = new phpmailer;
$mail_body = '<html><head></head><body bgcolor="#ffffff"><table cellspacing="0" cellpadding="2" border="0">';
if (is_array($_POST)) {
foreach ($_POST as $key => $value) {
if ($key != 'send') {
$mail_body .= "<tr><td>$key</td><td>$value</td></tr>";
}
}
}
$mail_body .= '</table></bo'.'dy></html>';
$mail->Host = "localhost";
$mail->IsHTML(true);
#Get mailer from settings
switch (strtolower("CMS_VALUE[4]")) {
case "smtp" :
$mail->IsSMTP();
$host = "CMS_VALUE[5]";
$user = "CMS_VALUE[6]";
$password = "CMS_VALUE[7]";
if (($host != '') && ($user != '') && ($password != '')) {
$mail-> $SMTPAuth = true;
$mail->Host = $host;
$mail->Username = $user;
$mail->Password = $password;
}
break;
case "mail" :
$mail->IsMail();
break;
case "sendmail" :
$mail->IsSendmail();
break;
case "qmail" :
$mail->IsQmail();
break;
default :
}
$mail->From = "CMS_VALUE[0]";
$mail->FromName = "CMS_VALUE[2]";
$mail->AddAddress("CMS_VALUE[1]", "");
$mail->Subject = "CMS_VALUE[3]";
$mail->Body = $mail_body;
$mail->WordWrap = 50;
$mail->Send();
#Display message after mail is sent
echo mi18n("<br/>Ihr Anliegen wurde uns übermittelt. Vielen Dank!<br/><br/>");
}
}
?>
Hier die HTML dazu "kontaktformular.html" :
Code: Alles auswählen
<h2>{UEBERSCHRIFT}</h2>
<table cellspacing="1" cellpadding="1" border="0">
<tr>
<td valign="top" align="right">{ANREDE}:
</td>
<td width="20">
</td>
<td>
<input type="radio" name="Anrede" value="{ANREDE_OPTION1}" checked="checked" />{ANREDE_OPTION1}
<input type="radio" name="Anrede" value="{ANREDE_OPTION2}" />{ANREDE_OPTION2}
<span>
<sup style="color:#ff0000;">*</sup>
</span>
{PFLICHTFELDER}
</td>
</tr>
<tr>
<td align="right">
<span>
<sup style="color:#ff0000;">*</sup>
</span>
{NAME}:
</td>
<td width="20">
</td>
<td>
<input type="text" name="Name" id="Name" maxlength="100" style="width:240px;" />
</td>
</tr>
<tr>
<td align="right">
{FIRMA}:
</td>
<td width="20">
</td>
<td>
<input type="text" name="Firma" id="Firma" maxlength="100" style="width:240px;" />
</td>
</tr>
<tr>
<td align="right">
{STRASSE}:
</td>
<td width="20">
</td>
<td>
<input type="text" name="Strasse" id="Strasse" maxlength="100" style="width:240px;" />
</td>
</tr>
<tr>
<td align="right">
{PLZORT}:
</td>
<td width="20">
</td>
<td>
<input type="text" name="PLZOrt" id="PLZOrt" maxlength="100" style="width:240px;" />
</td>
</tr>
<tr>
<td align="right">
{TELEFON}:
</td>
<td width="20">
</td>
<td>
<input type="text" name="Telefon" id="Telefon" maxlength="100" style="width:240px;" />
</td>
</tr>
<tr>
<td align="right">
<span>
<sup style="color:#ff0000;">*</sup>
</span>
{EMAIL}:
</td>
<td width="20">
</td>
<td>
<input type="text" name="EMail" id="EMail" maxlength="100" style="width:240px;" />
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
<tr>
<td valign="top" align="right">
{ANLIEGEN}:
</td>
<td width="20">
</td>
<td>
<textarea name="Anliegen" id="Anliegen" rows="5" cols="1" style="width:240px;height:85px;font-family:Verdana,Tahoma,Arial,Helvetica,Sans-serif,sans-serif;font-size:11px;"></textarea>
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
<tr>
<td>
</td>
<td width="20">
</td>
<td>
<input type="submit" value="{ABSCHICKEN}" />
<input type="reset" value="{LOESCHEN}" />
</td>
</tr>
</table>
<br />
Verfasst: Do 26. Okt 2006, 14:19
von Hexe
lar_zzz hat geschrieben:Hier wird nur Name und E-mail geprüft. Es gibt hier nur noch Name und kein Vornamen...
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Contact form
* Author(s) : Andreas Lindner
* Copyright : Contenido - four for business
* Created : 12.08.2005
************************************************/
...[/quote]
Gibt's da auch noch das INPUT dazu bzw. kann man mir das bitte zumailen? :lol:
Vielen Dank :D