Hello,
please help with the following PHP form.
Here is the Link to form:
http://webmalerin.com/ideal-transport/umzugsplaner-dezember-mini1.php
- How can I handle user input (input fields), multiply with arrays?
- Multiply by user input, using the following example:
Example of the form, the user enters data into the form below:
1 sofa, 1 rocking chair, 6 chairs
Calculation: 1 RE = 1 X 1 bed room units total
1 rocking chair X 8 RE = 8 total room units
6 chairs X 2 RE = 12 total space units
Here is the code to my form:
<?php
error_reporting(E_ALL);
// define ('MAILTO', ""); // Empfänger hier eintragen
define ('MAILTO', ""); // Empfänger hier eintragen
define ('MAILFROM', ""); // ggfls. Absender hier eintragen
define ('CHARSET', 'Content-Type: text/html; charset=utf-8'); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('eMail'); // Pflichtfelder
$AddHeader = "";
$mailversendet = false;
// $AddHeader = 'Content-Type: text/plain; charset='.CHARSET;
if(MAILFROM)
{
// $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;
$AddHeader = 'From: '.MAILFROM . "\\r\
" .
'Reply-To: '.MAILFROM . "\\r\
" .
'X-Mailer: PHP/' . phpversion();
}
// $AddHeader = 'MIME-Version: 1.0' . "\\r\
";
if($Formular_abgeschickt = !empty($_POST)) {
$Formular_leer = true; set_magic_quotes_runtime(0);
$_POST = array_map('Formular_Daten', $_POST);
}
function Formular_Daten($val) {
global $Formular_leer;
if(is_array($val)) return array_map('Formular_Daten', $val);
if(get_magic_quotes_gpc()) $val = stripslashes($val);
if($val = trim($val)) $Formular_leer = false;
return $val;
}
function Formular_Pflichtfelder() {
global $Pflichtfelder;
$Fehler = '';
foreach ($Pflichtfelder as $Feld) {
$key = str_replace(' ','_',$Feld);
if(!(isset($_POST[$key]) && trim($_POST[$key]))) {
if($Fehler) $Fehler .= '<br />';
$Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
}
}
return $Fehler;
}
function Formular_neu($log='.htPOSTdata.txt') {
if(file_exists($log) && is_readable($log)
&& file_get_contents($log) == print_r($_POST,true))
return false;
if($handle=@fopen($log, 'w')) {
fwrite($handle, print_r($_POST,true)); fclose($handle);
}
return true;
}
function Formular_Check() {
global $Formular_leer;
if($Formular_leer) $Fehler = 'Keine Daten eingetragen.';
elseif(!$Fehler = Formular_Pflichtfelder()) {
if(!Formular_neu()) $Fehler = 'Nachricht war bereits verschickt.';
elseif(!checkEmail($_POST['eMail'])) $Fehler = 'E-Mail fehlerhaft.';
}
return $Fehler;
}
function Formular_Eingabe($Feldname, $def='') {
if(!empty($_POST[$Feldname])) echo htmlspecialchars($_POST[$Feldname]);
else echo $def;
}
function checkEmail($adr) {
$regEx = '^([^\\s@,:"<>]+)@([^\\s@,:"<>]+\\.[^\\s@,:"<>.\\d]{2,}|(\\d{1,3}\\.){3}\\d{1,3})$';
return (preg_match("/$regEx/",$adr,$part)) ? $part : false;
}
function anfragetext($_POST) {
foreach ($_POST AS $feldname => $felderinhalt)
{
$ausgabe .= strtoupper($feldname) . ": ". $felderinhalt ."\\r\
";
}
$ausgabe .= "\\r\
\\r\
Anfrage wurde per Website erstellt am: ". date("H:i d.m.Y");
return ($ausgabe);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Anmeldeformular</title>
</head>
<body>
<?php
if($Formular_abgeschickt) {
if($Formular_Fehler = Formular_Check())
{
echo '<p class="Meldung" id="Fehler">',$Formular_Fehler,'</p>';
// elseif(@mail(MAILTO, "Anfrage", print_r($_POST,true), $AddHeader))
}
elseif(@mail(MAILTO, "Anfrage", anfragetext($_POST,true), $AddHeader))
{
echo '<p class="Meldung" id="OK">Ihre Nachricht wurde erfolgreich verschickt, Danke!</p>
<p>Sie erhalten umgehend eine Bestätigung.</p>';
$mailversendet = true;
}
else echo '<p class="Meldung" id="Fehler">Server-Fehler !</p>';
}
if ( $mailversendet <> true)
{
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data" >
<table width="570px" cellspacing="1" cellpadding="2" border="0">
<tbody>
<div class="tab_tab">
<tr >
<td colspan="7" ><span class="tab_h2" >Persönliche Angaben</span></td>
</tr>
</div>
<tr><td colspan="7"> </td></tr>
<tr class="tab_text">
<td>Name*:</td>
<td> </td>
<td><input name="name" size="18" type="text"></td>
<td> </td>
<td>Vorname*:</td>
<td> </td>
<td><input name="vorname" size="18" type="text"></td>
</tr>
<tr>
<td>Telefonnummer*:</td>
<td> </td>
<td><input name="telefon" size="18" type="text"></td>
<td> </td>
<td>Mobil*</span>:</td>
<td> </td>
<td><input name="mobil" size="18" type="text"></td>
</tr>
<tr>
<td>Firma*:</td>
<td> </td>
<td><input name="firma" size="18" type="text"></td>
<td> </td>
<td>E-Mail*</span>:</td>
<td> </td>
<td><input name="eMail" size="18" type="text"></td>
</tr>
<tr><td colspan="7"><hr> </td>
</tr>
<table width="570px" cellspacing="1" cellpadding="2" border="0">
<tbody>
<tr><td colspan="15" align="center"><span class="tab_h2">Umzugsgutliste</span></td></tr>
<td colspan="15" align="center"><span class="tab_h3">Wohnzimmer/Esszimmer</span></td>
</tr>
<tr class="fontweightbold">
<td>Stück</td>
<td> </td>
<td>Gegenstand</td>
<td> </td>
<td>RE</td>
<td> </td>
<td nowrap="nowrap">Ges. RE</td>
<td> </td>
<td>Stück</td>
<td> </td>
<td>Gegenstand</td>
<td> </td>
<td>RE</td>
<td> </td>
<td nowrap="nowrap">Ges. RE</td>
</tr>
<tr>
<td><input name="[]wo_1" size="2" class="eingabe" type="text"></td>
<td> </td>
<td>Sofa/Sitz/Liege</td>
<td> </td>
<td>1</td>
<td> </td>
<td><input name="[]wo_1_ges" size="4" class="ausgabe" type="text" readonly></td>
<td> </td>
<td><input name="[]wo_21" size="2" class="eingabe" type="text"></td>
<td> </td>
<td>Sessel mit Armlehnen</td>
<td> </td>
<td>8</td>
<td> </td>
<td><input name="[]wo_21_ges" size="4" class="ausgabe" type="text" readonly></td>
</tr>
<tr>
<td><input name="[]wo_2" size="2" class="eingabe" type="text"></td>
<td> </td>
<td>Schaukelstuhl</td>
<td> </td>
<td>8</td>
<td> </td>
<td><input name="[]wo_2_ges" size="4" class="ausgabe" type="text" readonly></td>
<td> </td>
<td><input name="[]wo_22" size="2" class="eingabe" type="text"></td>
<td> </td>
<td>Stuhl</td>
<td> </td>
<td>2</td>
<td> </td>
<td><input name="[]wo_22_ges" size="4" class="ausgabe" type="text" readonly></td>
</tr>
<tr>
<td><input name="[]wo_3" size="2" class="eingabe" type="text"></td>
<td> </td>
<td>Beistelltisch</td>
<td> </td>
<td>2</td>
<td> </td>
<td><input name="[]wo_3_ges" size="4" class="ausgabe" type="text" readonly></td>
<td> </td>
<td><input name="[]wo_23" size="2" class="eingabe" type="text"></td>
<td> </td>
<td>Tisch klein</td>
<td> </td>
<td>4</td>
<td> </td>
<td><input name="[]wo_23_ges" size="4" class="ausgabe" type="text" readonly></td>
</tr>
<tr>
<td colspan="7"><input value="Summe" onclick="wohnzimmer_rech()" name="button_[]wo_sum" type="button">
<input value="löschen" onclick="wohnzimmer_clear()" name="button_[]wo_clear" type="button"></td>
<td> </td>
<td> </td>
<td> </td>
<td colspan="4">gesamt : </td>
<td><input name="[]wo_ges" size="4" class="ausgabe" type="text" readonly></td>
</tr>
<tr><td colspan="15"><hr></td></tr>
</tbody>
<table style="margin: 0 0 0 450px;">
<tbody>
<tr>
<td colspan="3"><label >Gesamtsumme:</label><textarea name="ergebnis" readonly="readonly" style="margin: 0 0 -10px 0;width: 100px; height: 10px;"></textarea></td>
<td colspan="2" width="20%">
<input name="summe" value="summe" readonly="readonly" type="hidden">
</td>
</tr>
<tr>
<td width="25%"> </td>
<td width="3%"> </td>
<td width="52%"> </td>
<td colspan="2" width="20%"> </td>
</tr>
<td width="25%">
<input value="Gesamtrechnung" onclick="gesamtrechnung();" name="abschliessen" type="button">
</td>
</tbody>
</table>
<table width="570px" cellspacing="1" cellpadding="2" border="0">
<tbody>
<tr>
<td colspan="3">
<p>
<input name="adresse_alt" readonly="readonly" type="hidden">
<input name="adresse_neu" readonly="readonly" type="hidden">
<input name="verpackung" readonly="readonly" type="hidden">
<br>
<span class="text">Hier können Sie alles abschicken.
Klicken Sie bitte zunächst auf "Gesamtrechnung".
Alle Daten werden zusammengefasst und übernommen. Standardmäßig
werden Name und Vorname als "Betreff“ eingesetzt.
Das erleichtert es uns, die Daten zuzuordnen. Dann auf "Abschicken" klicken.
Die Daten werden versendet.<br>
</span></p>
</td>
</tr>
<tr>
<td colspan="3">
<tr>
<td width="25%"></td>
<td width="3%"> </td>
<td width="52%"> </td>
<td colspan="2" width="20%"> </td>
</tr>
<tr>
<td colspan="5" height="27">Betreff*:
<input name="subject" size="33" maxlength="100" type="text">
</td>
</tr>
<tr>
<td width="25%"> </td>
<td width="3%"> </td>
<td width="52%"> </td>
<td colspan="2" width="20%"> </td>
</tr>
<tr>
<td colspan="5"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td width="3%"> </td>
<td width="52%"> </td>
<td colspan="2" width="20%"> </td>
</tr>
<tr>
<label>Ihre Nachricht:</label>
<fieldset id="Nachricht" style="border: none;">
<textarea name="Nachricht" id="Nachricht" ><?php
Formular_Eingabe('Nachricht'); ?></textarea>
</fieldset>
<td width="3%"> </td>
<td width="52%">
<input name="abschicken" value="abschicken" class="eingabe" type="submit">
<input name="reset" value="Angaben löschen" class="eingabe" type="reset">
</td>
<td colspan="2" width="20%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td width="3%"> </td>
<td width="52%"> </td>
<td colspan="2" width="20%"> </td>
</tr>
<tr>
<td width="25%"> </td>
<td width="3%"> </td>
<td width="52%"> </td>
<td colspan="2" width="20%"> </td>
</tr>
</tbody>
</table>
</form><div id="more">
<?php
}
?>
I appreciate many of the answers, thank you.