Kontaktformular 4.6.8 - Meldungen kaputt & Pflichtfelder

Gesperrt
hegi
Beiträge: 40
Registriert: Di 20. Apr 2004, 14:52
Wohnort: Löhne/ Westfalen
Kontaktdaten:

Kontaktformular 4.6.8 - Meldungen kaputt & Pflichtfelder

Beitrag 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!
Gruß

Stefan aka Hegi
hegi
Beiträge: 40
Registriert: Di 20. Apr 2004, 14:52
Wohnort: Löhne/ Westfalen
Kontaktdaten:

Beitrag 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?
Gruß

Stefan aka Hegi
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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 ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
hegi
Beiträge: 40
Registriert: Di 20. Apr 2004, 14:52
Wohnort: Löhne/ Westfalen
Kontaktdaten:

Re: Kontaktformular 4.6.8 - Meldungen kaputt & Pflichtfe

Beitrag 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.
Gruß

Stefan aka Hegi
lar_zzz
Beiträge: 7
Registriert: Mi 23. Aug 2006, 08:23
Kontaktdaten:

Beitrag 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">&nbsp;
		</td>
		<td>
			<input type="radio" name="Anrede" value="{ANREDE_OPTION1}" checked="checked" />{ANREDE_OPTION1}&nbsp;
			<input type="radio" name="Anrede" value="{ANREDE_OPTION2}" />{ANREDE_OPTION2}&nbsp;&nbsp;&nbsp;&nbsp;
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
			<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>
		    &nbsp;
		</td>
		<td width="20">
		</td>
		<td>
			<input type="submit" value="{ABSCHICKEN}" />
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
			<input type="reset" value="{LOESCHEN}" />
		</td>
	</tr>
</table>
<br />
Hexe
Beiträge: 1
Registriert: Do 26. Okt 2006, 13:18
Wohnort: Bad RAppenau
Kontaktdaten:

Beitrag 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
ob ich denke oder pisse - alles läuft ins Ungewisse
Gesperrt