Hulp gezocht, Kom er totaal niet uit
ik heb een ben bezig meet een system als ik een functie berichten in de database op 0 heb staan kan je geen berichten sturen,en zo nog een paar van deze opties..
Maar het probleem duid als volgt:
Hij selecteert een hele berg uit de db met alle functie die aan en uit kunnen
allemaal nog leuk lief en aardig :P.
Maja nu komt het probleem..Als ik een functie van Off na On wil zetten,wil hij hem niet updaten
Iemand enig idee hoe dit kan gaan werken.
zie hieronder me script
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
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
<?php
if($this_user->rank <= 89) {
return;
}
$page ='Systems';
if(isset($_POST['submit'])) {
$state = $_POST['state'];
$id = $_POST['id'];
MessageBox("$page","All systems updated.");
mysql_query("UPDATE functies SET state='$state' WHERE id='$id'");
return;
}
echo "<table width='50%' align='center' valign='top'>";
echo "<form method='post' name='systems'>";
echo " <tr>";
echo " <th class='pic' colspan='6'>$page</th>";
echo " </tr>";
echo " <tr>";
echo " <th width='1%' class='empty'> </th>";
echo " <th width='77%' class='empty'>Name:</th>";
echo " <th width='20%' class='empty'>State:</th>";
echo " <th width='1%' class='empty'>Option</th>";
echo " <th width='1%' class='empty'> </th>";
echo " </tr>";
$q = mysql_query("SELECT * FROM functies WHERE id >= 0");
while($func = mysql_fetch_object($q))
{
echo "<tr>";
echo " <th width='1%' class='empty'> </th>";
echo " <td width='77%' class='empty'>$func->public_name</td>";
echo " <td width='20%' class='empty'>$func->id</td>";
echo " <td width='1%' class='empty'><select name='state' style='width:60px'>";
echo "<option value='0'"; if($func->state == '0') { echo " selected"; } echo ">Off";
echo "<option value='1'"; if($func->state == '1') { echo " selected"; } echo ">On";
echo " </select></td>";
echo " <th width='1%' class='empty'> </th>";
echo "</tr>";
}
echo " <tr>";
echo " <th class='pic' colspan='6'> <input type='submit' name='submit' class='knop' value='Ok'> </th>";
echo " </tr>";
echo "</form>";
echo "</table>";
?>
if($this_user->rank <= 89) {
return;
}
$page ='Systems';
if(isset($_POST['submit'])) {
$state = $_POST['state'];
$id = $_POST['id'];
MessageBox("$page","All systems updated.");
mysql_query("UPDATE functies SET state='$state' WHERE id='$id'");
return;
}
echo "<table width='50%' align='center' valign='top'>";
echo "<form method='post' name='systems'>";
echo " <tr>";
echo " <th class='pic' colspan='6'>$page</th>";
echo " </tr>";
echo " <tr>";
echo " <th width='1%' class='empty'> </th>";
echo " <th width='77%' class='empty'>Name:</th>";
echo " <th width='20%' class='empty'>State:</th>";
echo " <th width='1%' class='empty'>Option</th>";
echo " <th width='1%' class='empty'> </th>";
echo " </tr>";
$q = mysql_query("SELECT * FROM functies WHERE id >= 0");
while($func = mysql_fetch_object($q))
{
echo "<tr>";
echo " <th width='1%' class='empty'> </th>";
echo " <td width='77%' class='empty'>$func->public_name</td>";
echo " <td width='20%' class='empty'>$func->id</td>";
echo " <td width='1%' class='empty'><select name='state' style='width:60px'>";
echo "<option value='0'"; if($func->state == '0') { echo " selected"; } echo ">Off";
echo "<option value='1'"; if($func->state == '1') { echo " selected"; } echo ">On";
echo " </select></td>";
echo " <th width='1%' class='empty'> </th>";
echo "</tr>";
}
echo " <tr>";
echo " <th class='pic' colspan='6'> <input type='submit' name='submit' class='knop' value='Ok'> </th>";
echo " </tr>";
echo "</form>";
echo "</table>";
?>
moet zijn
@Rick:
Wat wel een probleem is, is dat je nergens controleert of de query is gelukt en hoeveel records er zijn bijgewerkt. En eerst roepen dat iets is bijgewerkt en dan pas de query uitvoeren, kun je alleen doen wanneer je helderziend bent.
Voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$query = "UPDATE tabelnaam SET kolomnaam = 'var'";
$result = mysql_query($query);
if(!$result){ // query mislukt
echo 'Mislukt: '.mysql_query();
}
else {
$count = mysql_affected_rows();
if($count > 0){
echo 'Er zijn '.$count.' records bijgewerkt.';
}
else {
echo 'Er is niets bijgewerkt.';
}
}
?>
$query = "UPDATE tabelnaam SET kolomnaam = 'var'";
$result = mysql_query($query);
if(!$result){ // query mislukt
echo 'Mislukt: '.mysql_query();
}
else {
$count = mysql_affected_rows();
if($count > 0){
echo 'Er zijn '.$count.' records bijgewerkt.';
}
else {
echo 'Er is niets bijgewerkt.';
}
}
?>
mss helpt dit ook wel of niet ?
$query = "UPDATE tabelnaam SET kolomnaam = 'var' WHERE id='$id'";
Ps: Lukt nog niet.
Hier heb een beeld voor je,van wat het ongeveer is
Gewijzigd op 01/01/1970 01:00:00 door rick
Iemand een idee'tje ;p ?
Dit blinkt natuurlijk uit in helderheid en veiligheid. Jij hebt geen flauw idee wat er in $_POST['id'] staat, maar je gooit dit wel zo maar in een query. Dat is vragen om problemen!
Controleer dus altijd of de input wel goed is:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
if(ctype_digit($_POST['id']){ // controleer of $_POST['id'] wel een digit (nummer) is.
$id = $_POST['id'];
// rest van je code, uitvoeren en controleren query, etc. etc.
}
else {
echo 'geen juiste waarde opgegeven.';
}
?>
if(ctype_digit($_POST['id']){ // controleer of $_POST['id'] wel een digit (nummer) is.
$id = $_POST['id'];
// rest van je code, uitvoeren en controleren query, etc. etc.
}
else {
echo 'geen juiste waarde opgegeven.';
}
?>
Te veel vertrouwen in je eigen kunsten levert de grootste problemen op. (spreek uit ervaring...)
Zal dat eens gebruiken,maja daar zal me script nog niet om werken :P