V 4.6.15: Probleme mit Kontaktmodul

Dunsti
Beiträge: 69
Registriert: So 22. Okt 2006, 14:48
Wohnort: Aschaffenburg
Kontaktdaten:

Beitrag von Dunsti »

guter Tip, darauf wär ich nie gekommen :wink:
Gruß Andreas

aktuelle Projekte: http://www.mv-bernbach.de
dragon
Beiträge: 9
Registriert: Do 26. Okt 2006, 11:22
Kontaktdaten:

Beitrag von dragon »

php safemode
???
Wie geht´n das?

Gruß

Armin
Dunsti
Beiträge: 69
Registriert: So 22. Okt 2006, 14:48
Wohnort: Aschaffenburg
Kontaktdaten:

Beitrag von Dunsti »

"safemode=on" bzw. "safemode=off" ist eine Einstellung in der PHP.INI ... kann also nur von Deinem Provider geändet werden.

Alternative: das Kontaktmodul so umschreiben, daß es direkt den mail()-Befehl verwendet ... der scheint ja auch im safemode zu funktionieren.
Gruß Andreas

aktuelle Projekte: http://www.mv-bernbach.de
dragon
Beiträge: 9
Registriert: Do 26. Okt 2006, 11:22
Kontaktdaten:

Beitrag von dragon »

So jetzt hab ich auch mal wieder geschafft was für mich selbst zu machen. :)
Also das mein Provider was an seinen Einstellungen ändert nehme ich mal nicht an.
Bleibt also nur das Modul. Aber da weiß ich nun absolut nicht bescheid. :oops:
Kann man mir da helfen?

Gruß

Armin
Dunsti
Beiträge: 69
Registriert: So 22. Okt 2006, 14:48
Wohnort: Aschaffenburg
Kontaktdaten:

Beitrag von Dunsti »

dragon hat geschrieben: Kann man mir da helfen?
klar kann man :wink:


ich hab das Modul mal ein wenig modifiziert, sodaß es direkt den PHP-mail()-Befehl verwendet - ohne Umweg über die phpmailer-class

Ist zwar sehr simpel gehalten, aber es funktioniert :lol:

Input:

Code: Alles auswählen

?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname  :      Simple Contact form - PHP-mail() only
* Author(s)   :     Andreas Dunstheimer
* Based On :        "Contact Form" by Andreas Lindner
* Copyright   :     Contenido - four for business
* Created     :     17.11.2006
************************************************/
?>

<table border="0">
	<tr>
		<td><?php echo mi18n("Absender EMail");?></td>
		<td><input type="text" name="<?php echo "CMS_VAR[0]";?>" value="<?php echo "CMS_VALUE[0]"; ?>"></td>
	</tr>
	<tr>
		<td><?php echo mi18n("Absender Name");?></td>
		<td><input type="text" name="<?php echo "CMS_VAR[2]";?>" value="<?php echo "CMS_VALUE[2]"; ?>"></td>
	</tr>
	<tr>
		<td><?php echo mi18n("Empfänger EMail");?></td>
		<td><input type="text" name="<?php echo "CMS_VAR[1]";?>" value="<?php echo "CMS_VALUE[1]"; ?>"></td>
	</tr>
	<tr>
		<td><?php echo mi18n("Betreff");?></td>
		<td><input type="text" name="<?php echo "CMS_VAR[3]";?>" value="<?php echo "CMS_VALUE[3]"; ?>"></td>
	</tr>
</table>
<?php 
Output:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Simple Contact form - PHP-mail() only
* Author(s)   :     Andreas Dunstheimer
* Based On :        "Contact Form" by Andreas Lindner
* Copyright   :     Contenido - four for business
* Created     :     17.11.2006
************************************************/


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", "ANREDE", mi18n("Anrede"));
	$tpl->set("s", "ANREDE_OPTION1", mi18n("Herr"));
	$tpl->set("s", "ANREDE_OPTION2", mi18n("Frau"));
	$tpl->set("s", "NACHNAME", mi18n("Name"));
	$tpl->set("s", "VORNAME", mi18n("Vorname"));
	$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("eMail"));
	$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['Vorname'] == '') {
		$noerrors = false;
		$msg .= mi18n("Bitte geben Sie Ihren Vornamen ein!")."<br/>";
	}
	if ($_POST['Nachname'] == '') {
		$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 ($_POST['Anliegen'] == '') {
		$noerrors = false;
		$msg .= mi18n("Bitte teilen Sie uns Ihr Anliegen mit!")."<br/>";
	}

	if ($noerrors == false) {
		#Errors have been found
                echo "<strong>";

		echo mi18n("Beim Versenden sind folgende Fehler aufgetreten:")."</strong><br/>&nbsp;<br/>";
		echo $msg.'<br/>';
		echo '<a href="javascript:history.back();">'.mi18n("Zurück").'</a>';
	} else {
		#No errors, create and send mail
    $absender = "CMS_VALUE[0]";
    $absendername = "CMS_VALUE[2]";
    $empfaenger = "CMS_VALUE[1]";
    $betreff = "CMS_VALUE[3]";
    $header = 'From: '.$absendername .'<'.$absender.'>';
    


		if (is_array($_POST)) {
			foreach ($_POST as $key => $value) {
				if ($key != 'send') {
					$mail_body .= "$key : $value\n";
				}
			}
		}


    #send mail only with PHP-mail()
    
    $sendsuccess = @mail($empfaenger, $betreff, $mail_body, $header);


		#Display message after mail is sent

    if ($sendsuccess) {
      echo mi18n("Ihr Anliegen wurde uns übermittelt. Vielen Dank!");
    } else {
      echo mi18n("Fehler beim Versenden der Email. Bitte versuchen Sie es noch einmal!");
    
		echo '<br/>&nbsp;<br/><a href="javascript:history.back();">'.mi18n("Zurück").'</a>';
    } 
  }
}
?> 
templates/kontaktformular.html

Code: Alles auswählen

<table cellspacing="5" cellpadding="10" border="0">

	<tr><td colspan="2" align="center"><font face="verdana,geneva" size="2" color="#ff0000"><strong>* = {PFLICHTFELDER}</strong></font></td></tr>
	<tr>
		<td><font face="verdana,geneva" size="2">{ANREDE}</td>
		<td valign="top">
                        <select name="Anrede">
                            <option value="{ANREDE_OPTION1}" selected>{ANREDE_OPTION1}</option>
                            <option value="{ANREDE_OPTION2}">{ANREDE_OPTION2}</option>
                        </select>
		</td>
	</tr>
	<tr><td><font face="verdana,geneva" size="2">{VORNAME}*</td><td><input type="text" name="Vorname" id="Vorname" maxlength="100" style="width:240px;"/></td></tr>
	<tr><td><font face="verdana,geneva" size="2">{NACHNAME}*</td><td><input type="text" name="Nachname" id="Nachname" maxlength="100" style="width:240px;"/></td></tr>
	<tr><td><font face="verdana,geneva" size="2">{STRASSE}</td><td><input type="text" name="Strasse" id="Strasse" maxlength="100" style="width:240px;"/></td></tr>
	<tr><td><font face="verdana,geneva" size="2">{PLZORT}</td><td><input type="text" name="PLZOrt" id="PLZOrt" maxlength="100" style="width:240px;"/></td></tr>
	<tr><td><font face="verdana,geneva" size="2">{TELEFON}</td><td><input type="text" name="Telefon" id="Telefon" maxlength="100" style="width:240px;"/></td></tr>
	<tr><td><font face="verdana,geneva" size="2">{EMAIL}*</td><td><input type="text" name="EMail" id="EMail" maxlength="100" style="width:240px;"/></td></tr>
	<tr><td colspan="3">&nbsp;</td></tr>
	<tr><td valign="top"><font face="verdana,geneva" size="2">{ANLIEGEN}*</td><td><textarea name="Anliegen" id="Anliegen" style="width:240px;height:170px;font-family:Verdana,Tahoma,Arial,Helvetica,Sans-serif,sans-serif;font-size:11px;"></textarea></td></tr>
	<tr><td colspan="2">&nbsp;</td></tr>
	<tr><td colspan="2" align="center"><input type="submit" value="{ABSCHICKEN}"/>&nbsp;&nbsp;&nbsp;<input type="reset" value="{LOESCHEN}"/></td></tr>
</table> 

Ich hoffe, das hilft erstmal weiter (muss sicherlich noch an der ein oder anderen Stelle ein wenig angepasst werden) ;)
Gruß Andreas

aktuelle Projekte: http://www.mv-bernbach.de
Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Nakoda »

klappt prima dankeschön. *freu*

wünsche allen ein schönes WE.

Gruß aus HH

Armin
pusche.79
Beiträge: 14
Registriert: Mo 27. Nov 2006, 12:07
Kontaktdaten:

selbes Problem

Beitrag von pusche.79 »

Hallo, ich stehe nun vor dem selben Problem. Laut Provider wird eine Email versandt, zumindest versucht der Apache zu senden.
Scheinbar wird aber der Header nicht oder nur teilweise mitgeschickt, wenn er überhaupt richtig erstellt wird.
Wenn ich in der Bestätigungsseite $mail->to ausgeben lasse ist das mehrdimensionale Array leer. Auch weis ich nicht wie

$mail->From = "CMS_VALUE[0]";

arbeitet. CMS_VALUE[0] ist ja keine Variable, oder doch?
Auf die Konfiguration (safemode) habe ich leider keinen Einfluss.

Bin für jeden Tip dankbar!
mfG, Pusche
Dunsti
Beiträge: 69
Registriert: So 22. Okt 2006, 14:48
Wohnort: Aschaffenburg
Kontaktdaten:

Re: selbes Problem

Beitrag von Dunsti »

pusche.79 hat geschrieben:CMS_VALUE[0] ist ja keine Variable, oder doch?

CMS_VALUE[0] ist ein Variableninhalt !!
Die Variable wird mit CMS_VAR[0] angesprochen.

Siehe Contenido-Handbuch für Administratoren
Gruß Andreas

aktuelle Projekte: http://www.mv-bernbach.de
Gesperrt