problemen met updaten naar database
alle velden die ik uit die databse haal, wil ik weergeven (in een soort van tabel) met daarachter een slectievakje per nieuw contact. ik wil dus een soort van inbox maken. er komt een nieuwe aanvraag binnen en alle nieuwe aanvragen moeten in die tabel komen. daarvoor gebruik ik een veld "gelezen" dat oorspronkelijk op 0 staat.
nu mijn probleem:
als ik nu een selectievakje aanduid, gaat alleen het laatste weg(of dit nu aangeduid is of niet,speelt geen rol, het is altijd het laatste dat weg wordt gedaan(er meot er wel één aangeduid zijn))
dus eventjes in kort geschets
naam voornaam ... gelezen?
rik peeters ja
ief janssens ja
ivo mertens nee
in dit geval zou dus mertens weggaan, en de 2 ander blijven staan,terwijl het de twee andere zijn die weg moeten.
kunnen jullie me helpen?
mijn code van inbox.php
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<?php session_start(); ?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>Rentaband - home</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center"><span class="RentabandBanner">Rentaband</span>
</div>
<div id="nav">
<table>
<tr><td><a href= index.php>Home</a></td>
<td><a href= theBands.php bands.php>The Bands</a></td>
<td><a href= registreren.php>Registreren</a></td>
<td><a href= inloggen.php>Inloggen</a></td>
<td><a href= contact.php>Contact</a></td></tr>
</table>
</div>
<div id="hoofdscherm_links_admin">
<div id= "nieuws_titel">Wat wilt u doen </div>
<div id="admin_keuze"><a href=inbox.php>inbox</a></div>
</div>
<div id="hoofdscherm_midden_admin">
<?php
include_once("include/Config.php");
$connectie = mysql_connect($GLOBALS["HOST"], $GLOBALS["USERNAME"], $GLOBALS["PASSWORD"]);
if (! $connectie) {
die("Could not connect: " . mysql_error());
}
mysql_select_db($GLOBALS["DB_NAME"], $connectie);
// characterset op utf-8 plaatsen
$sql = "SET NAMES utf8";
mysql_query($sql);
// opvragen van de niet gelezen berichten
$sql = "SELECT * FROM contacten WHERE gelezen=0";
echo "<table>";
echo"<tr><th>id</th><th>naam</th><th>adres</th><th>gemeente</th><th>telefoonnumer</th><th>emailadres</th><th>vraag</th></tr>";
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat)) {
echo "<tr><td>" . $rij["id"] .
"</td><td>" . $rij["naam"] . " " .$rij["voornaam"] .
"</td><td>" . $rij["straat"] . " " .$rij["nummer"] .
"</td><td>" . $rij["postcode"] . " " .$rij["gemeente"] .
"</td><td>" . $rij["tel"] .
"</td><td>" . $rij["emailadres"] .
"</td><td>" . $rij["vraag"] .
"</td><td>" ?> <form name="verwerk_checkbox" method="post" action="inboxVerwerk.php" ><input name="gelezen" type="checkbox"
value=" <?php $rij["id"] ?>" /><?php
"</td></tr><br />\n";
$_SESSION["id"] = $rij["id"];
}
echo "</table>";
mysql_close($connectie);
?>
<input name="verwerk" type="submit" value="verwerk" />
</form>
</div>
<div id="footer">Site designed by Steven Lasters</div>
</body>
</html>
de code van inboxVerwerk.php
<?php session_start(); ?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>Rentaband - home</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center"><span class="RentabandBanner">Rentaband</span>
</div>
<div id="nav">
<table>
<tr><td><a href= index.php>Home</a></td>
<td><a href= theBands.php bands.php>The Bands</a></td>
<td><a href= registreren.php>Registreren</a></td>
<td><a href= inloggen.php>Inloggen</a></td>
<td><a href= contact.php>Contact</a></td></tr>
</table>
</div>
<div id="hoofdscherm_links_admin">
<div id= "nieuws_titel">Wat wilt u doen </div>
<div id= "admin_keuze"><a href="inbox.php">inbox </a></div>
</div>
<div id="hoofdscherm_midden_admin">
<?php
// includen databasefuncties voor datum, null, ...
include_once("include/MySqlFunctions.php");
// connecteren met de server en database
include_once("include/Config.php");
$connectie = mysql_connect($GLOBALS["HOST"], $GLOBALS["USERNAME"], $GLOBALS["PASSWORD"]);
if (! $connectie) {
die("Could not connect: " . mysql_error());
}
mysql_select_db($GLOBALS["DB_NAME"], $connectie);
// characterset op utf-8 plaatsen
$sql = "SET NAMES utf8";
mysql_query($sql);
$id = $_SESSION["id"];
// de tabel updaten door de gelezen berichten niet meer weer te geven
if (isset($_POST["gelezen"])) {
$sql = "UPDATE contacten
SET gelezen=1
WHERE id = $id";
echo "uw bericht(en) werd(en) verwerkt!<br />\n";
} else {
echo "er werd niets geselecteerd of er is iets misgegaan<br />\n";
}
echo "<br />\n";
echo "<a href=\"inbox.php\">terug naar inbox</a>";
if (! mysql_query($sql, $connectie)) {
die('Error: ' . mysql_error());
}
mysql_close($connectie);
?>
</div>
</div>
<div id="footer">Site designed by Steven Lasters</div>
</body>
</html>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>Rentaband - home</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center"><span class="RentabandBanner">Rentaband</span>
</div>
<div id="nav">
<table>
<tr><td><a href= index.php>Home</a></td>
<td><a href= theBands.php bands.php>The Bands</a></td>
<td><a href= registreren.php>Registreren</a></td>
<td><a href= inloggen.php>Inloggen</a></td>
<td><a href= contact.php>Contact</a></td></tr>
</table>
</div>
<div id="hoofdscherm_links_admin">
<div id= "nieuws_titel">Wat wilt u doen </div>
<div id="admin_keuze"><a href=inbox.php>inbox</a></div>
</div>
<div id="hoofdscherm_midden_admin">
<?php
include_once("include/Config.php");
$connectie = mysql_connect($GLOBALS["HOST"], $GLOBALS["USERNAME"], $GLOBALS["PASSWORD"]);
if (! $connectie) {
die("Could not connect: " . mysql_error());
}
mysql_select_db($GLOBALS["DB_NAME"], $connectie);
// characterset op utf-8 plaatsen
$sql = "SET NAMES utf8";
mysql_query($sql);
// opvragen van de niet gelezen berichten
$sql = "SELECT * FROM contacten WHERE gelezen=0";
echo "<table>";
echo"<tr><th>id</th><th>naam</th><th>adres</th><th>gemeente</th><th>telefoonnumer</th><th>emailadres</th><th>vraag</th></tr>";
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat)) {
echo "<tr><td>" . $rij["id"] .
"</td><td>" . $rij["naam"] . " " .$rij["voornaam"] .
"</td><td>" . $rij["straat"] . " " .$rij["nummer"] .
"</td><td>" . $rij["postcode"] . " " .$rij["gemeente"] .
"</td><td>" . $rij["tel"] .
"</td><td>" . $rij["emailadres"] .
"</td><td>" . $rij["vraag"] .
"</td><td>" ?> <form name="verwerk_checkbox" method="post" action="inboxVerwerk.php" ><input name="gelezen" type="checkbox"
value=" <?php $rij["id"] ?>" /><?php
"</td></tr><br />\n";
$_SESSION["id"] = $rij["id"];
}
echo "</table>";
mysql_close($connectie);
?>
<input name="verwerk" type="submit" value="verwerk" />
</form>
</div>
<div id="footer">Site designed by Steven Lasters</div>
</body>
</html>
de code van inboxVerwerk.php
<?php session_start(); ?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>Rentaband - home</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center"><span class="RentabandBanner">Rentaband</span>
</div>
<div id="nav">
<table>
<tr><td><a href= index.php>Home</a></td>
<td><a href= theBands.php bands.php>The Bands</a></td>
<td><a href= registreren.php>Registreren</a></td>
<td><a href= inloggen.php>Inloggen</a></td>
<td><a href= contact.php>Contact</a></td></tr>
</table>
</div>
<div id="hoofdscherm_links_admin">
<div id= "nieuws_titel">Wat wilt u doen </div>
<div id= "admin_keuze"><a href="inbox.php">inbox </a></div>
</div>
<div id="hoofdscherm_midden_admin">
<?php
// includen databasefuncties voor datum, null, ...
include_once("include/MySqlFunctions.php");
// connecteren met de server en database
include_once("include/Config.php");
$connectie = mysql_connect($GLOBALS["HOST"], $GLOBALS["USERNAME"], $GLOBALS["PASSWORD"]);
if (! $connectie) {
die("Could not connect: " . mysql_error());
}
mysql_select_db($GLOBALS["DB_NAME"], $connectie);
// characterset op utf-8 plaatsen
$sql = "SET NAMES utf8";
mysql_query($sql);
$id = $_SESSION["id"];
// de tabel updaten door de gelezen berichten niet meer weer te geven
if (isset($_POST["gelezen"])) {
$sql = "UPDATE contacten
SET gelezen=1
WHERE id = $id";
echo "uw bericht(en) werd(en) verwerkt!<br />\n";
} else {
echo "er werd niets geselecteerd of er is iets misgegaan<br />\n";
}
echo "<br />\n";
echo "<a href=\"inbox.php\">terug naar inbox</a>";
if (! mysql_query($sql, $connectie)) {
die('Error: ' . mysql_error());
}
mysql_close($connectie);
?>
</div>
</div>
<div id="footer">Site designed by Steven Lasters</div>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Steven l
Oftewel al je checkboxen hebben dezelfde naam. Maak daar een array() van dan kan je ze met foreach() uitlezen.
<input name="gelezen[]" type="checkbox"
Goed gevonden SanThe! Ik zat al een paar minuten naar die code te kijken...
ik ben niet zo goed met die foreach's en arrays.
alvast bedankt
Code (php)
Of, misschien beter:
Code (php)
Ik weet niet zo uit mijn hoofd wat er gebeurt als er geen enkele checkbox is aangevinkt.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Jan Koehoorn schreef op 29.10.2007 00:07:
Ik weet niet zo uit mijn hoofd wat er gebeurt als er geen enkele checkbox is aangevinkt.
Bij geen en bij één zal de foreach() protesteren.
Maar wat misschien simpeler is om alle id's in de update query in IN(...) te zetten. Dan heb je geen loop nodig.
Edit: Typo.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Quote:
Bij geen en bij één zal de foreach() protesteren.
Bij geen weet ik het inderdaad niet zeker, maar bij één lijkt het mij dat er een array met 1 element verstuurd zal worden via post? Ik zal eens testen...
Edit:
Edit:
Mijn vermoeden klopt. Bij geen 1 checkbox bestaat die array niet. Bij 1 checkbox aangevinkt wordt er een array met 1 element aangemaakt.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Code (php)
De <form> tag staat ook niet goed, die staat in de while().
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'stats.php';
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jan Koehoorn | Checkbox Array test</title>
<link rel="stylesheet" type="text/css" media="screen" href="reset.css" />
<link rel="stylesheet" type="text/css" media="screen" href="oop.css" />
</head>
<body>
<div id="container">
<h1>Jan Koehoorn | Checkbox Array test</h1>
<form method="post" action="#">
<input name="test[]" type="checkbox" value="1" />
<input name="test[]" type="checkbox" value="2" />
<input name="test[]" type="checkbox" value="3" />
<input type="submit" value="verzenden" />
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset ($_POST['test'])) {
foreach ($_POST['test'] as $val) {
echo '<p>' . $val . '</p>';
}
}
else {
echo '<p>Vink iets aan</p>';
}
}
?>
</div>
</body>
</html>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'stats.php';
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jan Koehoorn | Checkbox Array test</title>
<link rel="stylesheet" type="text/css" media="screen" href="reset.css" />
<link rel="stylesheet" type="text/css" media="screen" href="oop.css" />
</head>
<body>
<div id="container">
<h1>Jan Koehoorn | Checkbox Array test</h1>
<form method="post" action="#">
<input name="test[]" type="checkbox" value="1" />
<input name="test[]" type="checkbox" value="2" />
<input name="test[]" type="checkbox" value="3" />
<input type="submit" value="verzenden" />
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset ($_POST['test'])) {
foreach ($_POST['test'] as $val) {
echo '<p>' . $val . '</p>';
}
}
else {
echo '<p>Vink iets aan</p>';
}
}
?>
</div>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
sorry,ben een beginner en wil graag bijleren
Code (php)
1
2
3
4
5
2
3
4
5
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'stats.php';
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'stats.php';
?>
Regel 4 mag je vergeten. Dat is voor de statistieken op mijn eigen site. Regel 2 en 3 zorgen er voor dat ik alle errors, warnings en notices te zien krijg, waardoor ik hopelijk beter ga scripten.
Daarmee zet je error_reporting aan. En require 'stats.php'; kan je weghalen want dat is Jan Koehoorn only gebruik.
oke bedankt
Namens mijzelf en SanThe: graag gedaan ;-)
ik heb men code als volgt aangepast
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>Rentaband - home</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center"><span class="RentabandBanner">Rentaband</span>
</div>
<div id="nav">
<table>
<tr><td><a href= index.php>Home</a></td>
<td><a href= theBands.php bands.php>The Bands</a></td>
<td><a href= registreren.php>Registreren</a></td>
<td><a href= inloggen.php>Inloggen</a></td>
<td><a href= contact.php>Contact</a></td></tr>
</table>
</div>
<div id="hoofdscherm_links_admin">
<div id= "nieuws_titel">Wat wilt u doen </div>
<div id="admin_keuze"><a href=inbox.php>inbox</a></div>
</div>
<div id="hoofdscherm_midden_admin">
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
include_once("Config.php");
$connectie = mysql_connect($GLOBALS["HOST"], $GLOBALS["USERNAME"], $GLOBALS["PASSWORD"]);
if (! $connectie) {
die("Could not connect: " . mysql_error());
}
mysql_select_db($GLOBALS["DB_NAME"], $connectie);
// characterset op utf-8 plaatsen
$sql = "SET NAMES utf8";
mysql_query($sql);
// opvragen van de niet gelezen berichten
$sql = "SELECT * FROM contacten WHERE gelezen=0";
echo "<table>";
echo"<tr><th>id</th><th>naam</th><th>adres</th><th>gemeente</th><th>telefoonnumer</th><th>emailadres</th><th>vraag</th></tr>";
?>
include_once("Config.php");
$connectie = mysql_connect($GLOBALS["HOST"], $GLOBALS["USERNAME"], $GLOBALS["PASSWORD"]);
if (! $connectie) {
die("Could not connect: " . mysql_error());
}
mysql_select_db($GLOBALS["DB_NAME"], $connectie);
// characterset op utf-8 plaatsen
$sql = "SET NAMES utf8";
mysql_query($sql);
// opvragen van de niet gelezen berichten
$sql = "SELECT * FROM contacten WHERE gelezen=0";
echo "<table>";
echo"<tr><th>id</th><th>naam</th><th>adres</th><th>gemeente</th><th>telefoonnumer</th><th>emailadres</th><th>vraag</th></tr>";
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat)) {
echo "<tr><td>" . $rij["id"] .
"</td><td>" . $rij["naam"] . " " .$rij["voornaam"] .
"</td><td>" . $rij["straat"] . " " .$rij["nummer"] .
"</td><td>" . $rij["postcode"] . " " .$rij["gemeente"] .
"</td><td>" . $rij["tel"] .
"</td><td>" . $rij["emailadres"] .
"</td><td>" . $rij["vraag"] .
"</td><td>" ?>
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat)) {
echo "<tr><td>" . $rij["id"] .
"</td><td>" . $rij["naam"] . " " .$rij["voornaam"] .
"</td><td>" . $rij["straat"] . " " .$rij["nummer"] .
"</td><td>" . $rij["postcode"] . " " .$rij["gemeente"] .
"</td><td>" . $rij["tel"] .
"</td><td>" . $rij["emailadres"] .
"</td><td>" . $rij["vraag"] .
"</td><td>" ?>
<input name="test[]" type="checkbox" value=" " />
<input type="submit" value="verzenden" />
</form>
Code (php)
</div>
<div id="footer">Site designed by Steven Lasters</div>
</body>
</html>
hij geeft geen fout als ik iets aanduid maar hij doeet ook niet(nu zou hij toch de value al moeten laten zien toch?)
asl ik niets aanduid geeft hij wel dat ik iets aan moet vinken
Je voert de query niet uit.
wat bedoel je daarmee?
SET gelezen=1
WHERE id = $val";
mysql_query($sql) or die(mysql_error());
volgens mij heeft het iets met de value van het formulier te maken,alleen wete ik niet wat
als ik er een value invul bv 51 ipv <php $rij["id"] ?> lukt het wel.
Gewijzigd op 01/01/1970 01:00:00 door steven l
dank je wel voor jullie hulp