da ich nach längerer Suche nichts dazu gefunden habe, hier meine Frage:
Ich habe das Standard-Kontaktformular umgebaut und hätte gerne für eine Zählerstandeingabe, dass man 5 zahlen eingeben muss. Wenn der Stand 10 beträgt, lassen sich die davor eingegebenen Nullen (00010) eingeben, werden aber nicht übertragen. Weiß jemand, wie ich das festlegen kann?
Hier der Output-Code des Moduls (es geht um den 5-stelligen Zählerstand):
Code: Alles auswählen
<?php
/**
* $RCSfile$
*
* Description: Contact Form Output
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* modified 2008-04-11 Rudi Bieller Changes concerning new layout
* }}
*
* $Id$
*/
#Includes
cInclude("classes", "class.phpmailer.php");
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
if (!isset ($_POST['send'])) {
#Form has not been sent yet
cInclude('classes', 'class.article.php');
cInclude('classes', 'class.template.php');
#Create contact form
$sFormAction = $sess->url("front_content.php?idcat=$idcat&idart=$idart&parentid=$parentid");
$tpl->set("s", 'form_action', $sFormAction);
$tpl->set("s", "INFO", mi18n("Bin an Info-Mails interessiert"));
$tpl->set("s", "INFO_OPTION1", mi18n("Ja"));
$tpl->set("s", "INFO_OPTION2", mi18n("Nein"));
$tpl->set("s", "NACHNAME", mi18n("Name"));
$tpl->set("s", "VORNAME", mi18n("Vorname"));
$tpl->set("s", "KDNUMMER", mi18n("7-stellige Kunden-Nr."));
$tpl->set("s", "STRASSE", mi18n("Straße/Nr."));
$tpl->set("s", "ORTSTEIL", mi18n("Ortsteil"));
$tpl->set("s", "ZAEHLERNUMMER", mi18n("Zähler-Nr."));
$tpl->set("s", "EDVNUMMER", mi18n("EDV-Nr."));
$tpl->set("s", "ZAEHLERSTAND", mi18n("5-stelliger Zählerstand"));
$tpl->set("s", "EMAIL", mi18n("E-Mail"));
$tpl->set("s", "BEMERKUNGEN", mi18n("Bemerkungen"));
$tpl->set("s", "PFLICHTFELDER", mi18n("Bitte alle Felder ausfüllen"));
$tpl->set("s", "ABSCHICKEN", mi18n("abschicken"));
$tpl->set("s", "LOESCHEN", mi18n("löschen"));
$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/zaehlerstand.html");
} 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 E-Mail-Adresse ein!")."<br/>";
}
if ($_POST['Strasse'] == '') {
$noerrors = false;
$msg .= mi18n("Bitte geben Sie Ihre Straße ein!")."<br/>";
}
if ($_POST['Ortsteil'] == '') {
$noerrors = false;
$msg .= mi18n("Bitte geben Sie Ihren Ortsteil ein!")."<br/>";
}
$_POST['KDnummer'] = (int) $_POST['KDnummer'];
if (empty($_POST['KDnummer']) || strlen($_POST['KDnummer']) < 7 ) {
$noerrors = false;
$msg .= mi18n("Bitte geben Sie Ihre 7-stellige Kunden-Nummer richtig ein!")."<br/>";
}
$_POST['Zaehlerstand'] = (int) $_POST['Zaehlerstand'];
if (empty($_POST['Zaehlerstand']) || strlen($_POST['Zaehlerstand']) < 5 ) {
$noerrors = false;
$msg .= mi18n("Bitte geben Sie Ihren 5-stelligen Zählerstand richtig ein!")."<br/>";
}
if ($noerrors == false) {
echo "<p>";
#Errors have been found
echo "<strong>".mi18n("Beim Versenden sind folgende Fehler aufgetreten:")."</strong><br/>";
echo $msg.'<br/>';
echo '<a href="javascript:history.back();">‹ '.mi18n("zurück").'</a>';
} else {
#No errors, create and send mail
$mail = new phpmailer;
$mail_body = '<html><head></head><body bgcolor="#ffffff"><table cellspacing="0" cellpadding="10" 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("Ihr Formular wurde uns übermittelt. Vielen Dank!")."<br/>";
}
}
?>
Martin