Veld verdwijnt bij edit functie
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<?php
/*
Staat de gebruiker toe om nieuwe records toe te voegen te bewerken
*/
// connect to the database
include("connect-db.php");
// Maakt nieuw/edit record formulier
function renderForm($klantnummer = '', $bedrijfsnaam ='', $error = '', $id = '')
{ ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>
<?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<h1><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></h1>
<?php if ($error != '') {
echo "<div style='padding:4px; border:1px solid red; color:red'>" . $error
. "</div>";
} ?>
<form action="" method="post">
<div>
<?php if ($id != '') { ?>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<p>ID: <?php echo $id; ?></p>
<?php } ?>
<strong>Klantnummer: *</strong> <input type="text" name="klantnummer"
value="<?php echo $klantnummer; ?>"/><br/>
<strong>Bedrijfsnaam: *</strong> <input type="text" name="bedrijfsnaam"
value="<?php echo $bedrijfsnaam; ?>"/>
<p>* required</p>
<input type="submit" name="submit" value="Submit" />
</div>
</form>
</body>
</html>
<?php }
/*
BEWERK RECORD
*/
// Wanneer de 'id' variabel is ingesteld in de URL, weten we dat we een record moeten aanpassen
if (isset($_GET['id']))
{
// Wanneer de submitknop word ingedrukt word het formulier verwerkt
if (isset($_POST['submit']))
{
// Zorgt ervoor dat de 'id' geldig is
if (is_numeric($_POST['id']))
{
// verkrijg variabelen van URL/formulier
$id = $_POST['id'];
$klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES);
$bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
{
// update de database
if ($stmt = $mysqli->prepare("UPDATE klanten SET klantnummer = ?, bedrijfsnaam = ?
WHERE id=?"))
{
$stmt->bind_param("ssi", $klantnummer, $lastname, $id);
$stmt->execute();
$stmt->close();
}
// toont foutmelding indien nodig
else
{
echo "ERROR: could not prepare SQL statement.";
}
// redirect na submit van formulier
header("Location: view.php");
}
}
// bij ongeldige 'id' komt een foutmelding
else
{
echo "Error!";
}
}
// Indien het formulier niet verstuurd is word de database en het formulier weergegeven
else
{
// zorgt dat de 'id' geldig is
if (is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// verkrijg 'id' van URL
$id = $_GET['id'];
// verkrijg de records uit de database
if($stmt = $mysqli->prepare("SELECT * FROM klanten WHERE id=?"))
{
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($id, $klantnummer, $bedrijfsnaam);
$stmt->fetch();
// toon het formulier
renderForm($klantnummer, $bedrijfsnaam, NULL, $id);
$stmt->close();
}
// toon een error wanneer de query een error heeft
else
{
echo "Error: could not prepare SQL statement";
}
}
// wanneer het 'id' ongeldig is word de gebruiker naar view.php doorgestuurd
else
{
header("Location: view.php");
}
}
}
/*
NIEUW RECORD
*/
// wanneer geen 'id' is ingesteld volgt een nieuwe invoer
else
{
// proces het formlier na submit
if (isset($_POST['submit']))
{
// verkrijg formulierdata
$klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES);
$bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
{
// insert the new record into the database
if ($stmt = $mysqli->prepare("INSERT klanten (klantnummer, bedrijfsnaam) VALUES (?, ?)"))
{
$stmt->bind_param("ss", $klantnummer, $bedrijfsnaam);
$stmt->execute();
$stmt->close();
}
// Toon een foutmelding indien nodig
else
{
echo "ERROR: Could not prepare SQL statement.";
}
// stuur gebruiker door
header("Location: view.php");
}
}
// wanneer geen formulier is ingediend word de database weergegeven
else
{
renderForm();
}
}
// sluit mysqli verbinding
$mysqli->close();
?>
/*
Staat de gebruiker toe om nieuwe records toe te voegen te bewerken
*/
// connect to the database
include("connect-db.php");
// Maakt nieuw/edit record formulier
function renderForm($klantnummer = '', $bedrijfsnaam ='', $error = '', $id = '')
{ ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>
<?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<h1><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></h1>
<?php if ($error != '') {
echo "<div style='padding:4px; border:1px solid red; color:red'>" . $error
. "</div>";
} ?>
<form action="" method="post">
<div>
<?php if ($id != '') { ?>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<p>ID: <?php echo $id; ?></p>
<?php } ?>
<strong>Klantnummer: *</strong> <input type="text" name="klantnummer"
value="<?php echo $klantnummer; ?>"/><br/>
<strong>Bedrijfsnaam: *</strong> <input type="text" name="bedrijfsnaam"
value="<?php echo $bedrijfsnaam; ?>"/>
<p>* required</p>
<input type="submit" name="submit" value="Submit" />
</div>
</form>
</body>
</html>
<?php }
/*
BEWERK RECORD
*/
// Wanneer de 'id' variabel is ingesteld in de URL, weten we dat we een record moeten aanpassen
if (isset($_GET['id']))
{
// Wanneer de submitknop word ingedrukt word het formulier verwerkt
if (isset($_POST['submit']))
{
// Zorgt ervoor dat de 'id' geldig is
if (is_numeric($_POST['id']))
{
// verkrijg variabelen van URL/formulier
$id = $_POST['id'];
$klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES);
$bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
{
// update de database
if ($stmt = $mysqli->prepare("UPDATE klanten SET klantnummer = ?, bedrijfsnaam = ?
WHERE id=?"))
{
$stmt->bind_param("ssi", $klantnummer, $lastname, $id);
$stmt->execute();
$stmt->close();
}
// toont foutmelding indien nodig
else
{
echo "ERROR: could not prepare SQL statement.";
}
// redirect na submit van formulier
header("Location: view.php");
}
}
// bij ongeldige 'id' komt een foutmelding
else
{
echo "Error!";
}
}
// Indien het formulier niet verstuurd is word de database en het formulier weergegeven
else
{
// zorgt dat de 'id' geldig is
if (is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// verkrijg 'id' van URL
$id = $_GET['id'];
// verkrijg de records uit de database
if($stmt = $mysqli->prepare("SELECT * FROM klanten WHERE id=?"))
{
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($id, $klantnummer, $bedrijfsnaam);
$stmt->fetch();
// toon het formulier
renderForm($klantnummer, $bedrijfsnaam, NULL, $id);
$stmt->close();
}
// toon een error wanneer de query een error heeft
else
{
echo "Error: could not prepare SQL statement";
}
}
// wanneer het 'id' ongeldig is word de gebruiker naar view.php doorgestuurd
else
{
header("Location: view.php");
}
}
}
/*
NIEUW RECORD
*/
// wanneer geen 'id' is ingesteld volgt een nieuwe invoer
else
{
// proces het formlier na submit
if (isset($_POST['submit']))
{
// verkrijg formulierdata
$klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES);
$bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
{
// insert the new record into the database
if ($stmt = $mysqli->prepare("INSERT klanten (klantnummer, bedrijfsnaam) VALUES (?, ?)"))
{
$stmt->bind_param("ss", $klantnummer, $bedrijfsnaam);
$stmt->execute();
$stmt->close();
}
// Toon een foutmelding indien nodig
else
{
echo "ERROR: Could not prepare SQL statement.";
}
// stuur gebruiker door
header("Location: view.php");
}
}
// wanneer geen formulier is ingediend word de database weergegeven
else
{
renderForm();
}
}
// sluit mysqli verbinding
$mysqli->close();
?>
Gewijzigd op 22/09/2013 14:23:17 door Arjan van Rossen
Alvast bedankt.
Gewijzigd op 22/09/2013 14:24:11 door - Ariën -
Aangezien daar geen id in zit, kan je script ook geen record ophalen en dus krijg je een leeg form.
Erwin H op 22/09/2013 14:53:06:
Nogal logisch zo te zien. Na het updaten van je database record doe je dit:
Aangezien daar geen id in zit, kan je script ook geen record ophalen en dus krijg je een leeg form.
Als dat de rede is, waarom blijft het veld klantnummer dan wel staan?
@Aar, ik had hem toch tussen de code tags staan? Ik heb express de hele code geplakt voorals het probleem ergens anders in de code zit.
Aangezien daar geen id in zit, kan je script ook geen record ophalen en dus krijg je een leeg form.
Als dat de rede is, waarom blijft het veld klantnummer dan wel staan?
@Aar, ik had hem toch tussen de code tags staan? Ik heb express de hele code geplakt voorals het probleem ergens anders in de code zit.
Geen idee, maar ik zou dat meer als een uitzondering beschouwen dan het feit dat het andere veld leeg is.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?PHP
// update de database
if ($stmt = $mysqli->prepare("UPDATE klanten SET klantnummer = ?, bedrijfsnaam = ?
WHERE id=?"))
{
$stmt->bind_param("ssi", $klantnummer, $lastname, $id);
$stmt->execute();
$stmt->close();
}
?>
// update de database
if ($stmt = $mysqli->prepare("UPDATE klanten SET klantnummer = ?, bedrijfsnaam = ?
WHERE id=?"))
{
$stmt->bind_param("ssi", $klantnummer, $lastname, $id);
$stmt->execute();
$stmt->close();
}
?>
Er staat $lastname ipv $bedrijfsnaam, logisch dat hij dan niet update.
Gewijzigd op 22/09/2013 15:14:18 door Arjan van Rossen