leeg veld niet meesturen
Dus alleen de ingevulde velden m.b.t. de bestelling meesturen?
Code (php)
1
2
3
4
2
3
4
<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">
<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 :
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Bart
moet ik ergens dan nog wat aanpassen?
en die key en value kan ik die zo laten staan of moet ik die nog vervangen door..........
Gewijzigd op 01/01/1970 01:00:00 door Roos
Het gaat er dus om dat wanneer er niets is ingevuld op een veld dit ook niet wordt meegestuurd in de mail naar de eigenaar van de website die de mail moet verwerken.
Dit om het enigszins overzichtelijk te houden.
Een andere optie is wanneer bovenstaande niet mogelijk is bepaalde opmaakkenmerken mee te geven bij het bestelformulier bijvoorbeeld dat de getallen strong/vet in de email te zien zijn.........
standaardformulier
Code:
Voorbeeldpagina: Code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?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>
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>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
zet je het in een Mysql. dan de niet verplichte velden op NULL zetten ipv NOT NULL en als MySQL niets ontvangt maakt hij er automatisch NULL van
Misschien: een tussenpagina waarbij hij kijkt welke velden er leeg zijn dmv: !empty($_POST) en dan met een if de ingevulde velde in een sessie zetten
Bart schreef op 25.06.2007 16:40:
stel, je hebt
dan verwerk je het zo :
Code (php)
1
2
3
4
2
3
4
<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">
<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 :
Hmm, dat is ook niet echt netjes..
Code (php)
1
2
3
2
3
<?php
$drankje = (!empty($_POST[' drankje'])) ? $_POST['drankje'] : 'niets'; //niets kun je natuurlijk ook vervangen door NULL o.i.d.
?>
$drankje = (!empty($_POST[' drankje'])) ? $_POST['drankje'] : 'niets'; //niets kun je natuurlijk ook vervangen door NULL o.i.d.
?>
@ TS:
Volgens mij zijn hier toch al wel genoeg goede oplossingen gegeven, als het nog niet werkt moet je misschien even een relevant deel van je script posten...
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
Kijk even naar mijn post van 08:57. Daar staat alles in, getest en werkend met een online voorbeeld. Wat wil je nog meer ;-)
Let op: Niet meesturen is heel wat anders dan niets mee doen. Iedere halve gare kan data naar jouw site toesturen, je kunt er dus niet van op aan dat iets niet wordt meegestuurd.
Fatal error: Can't use function return value in write context
at Jan Koehoorn, script van jou moet ik nog werkend zien te krijgen (mailadres enzo).
Wel al een vraagje: zet jij alles op 1 pagina? ook het verwerk.php?
@Roos: Dat verwerk.php kan makkelijk samen op één pagina.