Ik heb een bestelformulier met vele velden, hoe kan ik nu de niet ingevulde velden NIET mee laten versturen.
Dus alleen de ingevulde velden m.b.t. de bestelling meesturen?
1.949 views
foreach($_POST as $key => $value) {
if (!empty($value)) {
//doe iets
}
}
<b>Wat wilt u extra op uw pizza ?</b><br />
<input type="text" name="extra_op_pizza"><br />
<b>Wat wilt u om te drinken ?</b><br />
<input type="text" name="drankje">
<?php
foreach ($_POST as $key => $value)
{
if (empty($value))
{
unset($_POST[$key]);
}
}
?>
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Standaardformulier</title>
<style type="text/css" media="screen">
@import 'oop.css';
</style>
</head>
<body>
<div id="container">
<div class="wrapper">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$verplicht = array ('veld1', 'veld2');
$values = array ();
$errors = array ();
foreach ($_POST as $key => $value) {
$value = trim ($value);
if (empty ($value) && in_array ($key, $verplicht)) {
array_push ($errors, '<p>Niets ingevuld bij ' . $key . '</p>');
}
else {
if (!empty ($value)) {
$values[$key] = $value;
}
}
}
if (!empty ($errors)) {
echo '<h2>De volgende errors zijn gevonden:</h2>';
foreach ($errors as $err) {
echo '<p>' . $err . '</p>';
}
}
else {
echo '<h2>De volgende waarden zullen worden verzonden:</h2>';
foreach ($values as $key => $value) {
echo '<p>' . $key . ': ' . $value . '</p>';
}
}
}
?>
<h1>Velden met een sterretje zijn verplicht</h1>
<form method="post" action="#">
<p>
<label for="veld1">veld 1 (*):</label>
<input id="veld1" name="veld1" type="text" value="<?php if (isset ($values['veld1'])) echo $values['veld1']; ?>">
</p>
<p>
<label for="veld2">veld 2 (*):</label>
<input id="veld2" name="veld2" type="text" value="<?php if (isset ($values['veld2'])) echo $values['veld2']; ?>">
</p>
<p>
<label for="veld3">veld 3:</label>
<input id="veld3" name="veld3" type="text" value="<?php if (isset ($values['veld3'])) echo $values['veld3']; ?>">
</p>
<p>
<label for="veld4">veld 4:</label>
<input id="veld4" name="veld4" type="text" value="<?php if (isset ($values['veld4'])) echo $values['veld4']; ?>">
</p>
<p>
<input type="submit" value="verzenden">
</p>
</form>
</div>
</div>
</body>
</html>
Bart schreef op 25.06.2007 16:40stel, je hebt
<b>Wat wilt u extra op uw pizza ?</b><br /> <input type="text" name="extra_op_pizza"><br /> <b>Wat wilt u om te drinken ?</b><br /> <input type="text" name="drankje">
dan verwerk je het zo :
<? if($_POST['extra_op_pizza']==""){ $extra = "niets"; } else { $extra = $_POST['extra_op_pizza']; } if($_POST['drankje']==""){ $drankje = "niets"; } else { $drankje = $_POST['drankje']; } //en dat bv. mail(...); ?>