Hulp nodig met $_POST
Maar wat gaat er nu niet goed dan, krijg je een (mysql)error? Zoja; post m hier eens.
hij voert de sql niet uit ondanks het fijt dat ik wel iets aanvik. ik krijg geen error
Heb je wel foutafhandeling?
ja maar die geeft ook geen error dus de code word gewoon niet uitgevoerd
Toevoeging op 25/11/2011 17:17:07:
Laat je relevante code eens zien?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
('SQL error: ' . mysql_error());
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql1) {
('SQL error: ' . mysql_error());
}
}
}
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
('SQL error: ' . mysql_error());
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql1) {
('SQL error: ' . mysql_error());
}
}
}
}
}
}
?>
lijn 8 & 13, een echo mist.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
echo 'SQL error: ' . mysql_error();
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql1) {
echo 'SQL error: ' . mysql_error();
}
}
}
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
echo 'SQL error: ' . mysql_error();
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql1) {
echo 'SQL error: ' . mysql_error();
}
}
}
}
}
}
?>
nog steeds niet's
Toevoeging op 25/11/2011 18:47:25:
ik krijg geen error dus de sql worden niet uitgevoerd
Php knipper op 25/11/2011 18:41:09:
ik krijg geen error dus de sql worden niet uitgevoerd
Daar heb je geen zicht op want dat controleer je nergens.
Kijk eens naar mysql_affected_rows()
Verder is de volgorde in je script zeer onlogisch.
Gewijzigd op 25/11/2011 19:02:21 door - SanThe -
- SanThe - op 25/11/2011 18:54:57:
Daar heb je geen zicht op want dat controleer je nergens.
Kijk eens naar mysql_affected_rows()
Verder is de volgorde in je script zeer onlogisch.
Php knipper op 25/11/2011 18:41:09:
ik krijg geen error dus de sql worden niet uitgevoerd
Daar heb je geen zicht op want dat controleer je nergens.
Kijk eens naar mysql_affected_rows()
Verder is de volgorde in je script zeer onlogisch.
wat is dan een beter opbouw en waarom ( probeer natuurlijk te verbeteren )
de sql voert niet's uit of geeft geen error dus normaal gezien wordt hij niet uitgevoerd.
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
while($controle = mysql_fetch_array($req))
{
if(.......)
{
if ($_POST['actie'] == 'klaar')
{
...
}
}
}
?>
while($controle = mysql_fetch_array($req))
{
if(.......)
{
if ($_POST['actie'] == 'klaar')
{
...
}
}
}
?>
Zal in deze while() $_POST['actie'] veranderen?
Antwoord: Nee.
Waarom ga je dan tijdens elke while-run daarop checken?
Dat doe je dus vóór de while().
kijken of id is aangevinkt
de actie die hij moet uitvoeren controleren ( is klaar dan verandert de status )
tijd toevoegen
( door de post actie kan ik meerdere acties laten ondernemen
Ja, maar als if ($_POST['actie'] == 'klaar') een false geeft dan doet de hele while-loop helemaal niks. Dus kan die if uit de loop en er voor staan.
hoe komt het dat ik geen error heb
Php knipper op 25/11/2011 20:09:11:
daar heb je gelijk in maar er komen nog meerdere acties bij ik hou het eerst simpel zodat ik weet dat het werkt
hoe komt het dat ik geen error heb
hoe komt het dat ik geen error heb
De vraag is of je het simpel houdt en of je begrijpt hoe het werkt.
Wat jij nu doet in die while lus is een beetje vergelijkbaar met het volgende:
Ga naar de bakker en koop een brood. Bij de bakker controleer je of je geld bij je hebt. Nee, heb je niet. Terug naar huis. En dan weer ga naar de bakker, controleer daar of je geld bij je hebt.
Het is toch logischer om eerst te controleren of je geld hebt om een brood te kopen?
Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.
Gewijzigd op 25/11/2011 21:32:26 door Obelix Idefix
Obelix en Idefix op 25/11/2011 21:30:19:
De vraag is of je het simpel houdt en of je begrijpt hoe het werkt.
Wat jij nu doet in die while lus is een beetje vergelijkbaar met het volgende:
Ga naar de bakker en koop een brood. Bij de bakker controleer je of je geld bij je hebt. Nee, heb je niet. Terug naar huis. En dan weer ga naar de bakker, controleer daar of je geld bij je hebt.
Het is toch logischer om eerst te controleren of je geld hebt om een brood te kopen?
Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.
Php knipper op 25/11/2011 20:09:11:
daar heb je gelijk in maar er komen nog meerdere acties bij ik hou het eerst simpel zodat ik weet dat het werkt
hoe komt het dat ik geen error heb
hoe komt het dat ik geen error heb
De vraag is of je het simpel houdt en of je begrijpt hoe het werkt.
Wat jij nu doet in die while lus is een beetje vergelijkbaar met het volgende:
Ga naar de bakker en koop een brood. Bij de bakker controleer je of je geld bij je hebt. Nee, heb je niet. Terug naar huis. En dan weer ga naar de bakker, controleer daar of je geld bij je hebt.
Het is toch logischer om eerst te controleren of je geld hebt om een brood te kopen?
Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.
ik kijk toch of er gepost is ?
ik denk dat de fout zich bevind bij het form element
hier is de 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
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
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
<?php
<script language="javascript">
function SelectAll(){
count = document.form.elements.length;
for (i=0; i < count; i++) {
if(document.form.elements[i].checked == 1) {
document.form.elements[i].checked = 0;
}
else {
document.form.elements[i].checked = 1;
}
}
}
</script>
<a href="home.php?weergave=lening_toevoege&gebruiker_id=<?php echo $id_lener ?>"><img style="width: 298px; height: 54px;" alt="nieuwe lening toevoegen"
src="main/knoppen/nieuwe_lening_toevoegen%28wit%29.jpg"></a><a href="home.php?weergave=gebruiker_verwijderen&gebruiker_id=<?php echo $id_lener ?>"><img style="width: 256px; height: 55px;" alt="gebruiker verwijderen"
src="main/knoppen/gebruikers_verwijderen%28wit%29.jpg"></a><br>
<form name="form1" method="post" action="">
<table
style="text-align: left; width: 100%; background-color: white;"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>ID</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>geleend object</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-coler: white; text-align: center;"><big><big><big>opmerking</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>geleend op</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>aantal</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><center><a href="#SelectAll" OnClick="SelectAll()"><b>Select All</b></a></center></big><br>
</td>
</tr>
<?php
$ordering = "id";
$req = mysql_query("select id, aantal, id_lener, geleend_voorwerp, terug, opmerking, status_lening, geleend_op FROM leningen WHERE geleend_bij = '".mysql_real_escape_string($id_ingelogd)."' and id_lener = '".mysql_real_escape_string($id_lener)."' ORDER BY id DESC");
while($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
if($dnn['status_lening']=='2')
{
echo '<span style="text-decoration: line-through;">'.$dnn['id'].'</span><a>';
}
elseif($dnn['status_lening']=='1')
{
echo '<b>'.$dnn['id'].' </b><a>';
}
else
{
echo "Sorry, Er is een foutje verschenen.";
}
?></a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
if($dnn['status_lening']=='2')
{
echo '<span style="text-decoration: line-through;">'.$dnn['geleend_voorwerp'].'</span><a>';
}
elseif($dnn['status_lening']=='1')
{
echo '<b>'.$dnn['geleend_voorwerp'].' </b><a>';
}
else
{
echo "Sorry, Er is een foutje verschenen.";
}
?></a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
if($dnn['status_lening']=='2')
{
echo '<span style="text-decoration: line-through;">'.$dnn['opmerking'].'</span><a>';
}
elseif($dnn['status_lening']=='1')
{
echo '<b>'.$dnn['opmerking'].' </b><a>';
}
else
{
echo "Sorry, Er is een foutje verschenen.";
}
?></a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
if($dnn['status_lening']=='2')
{
echo '<span style="text-decoration: line-through;">'.$dnn['geleend_op'].'</span><br>terug op '.$dnn['terug'].'<a>';
}
elseif($dnn['status_lening']=='1')
{
echo '<b>'.$dnn['geleend_op'].' </b><a>';
}
else
{
echo "Sorry, Er is een foutje verschenen.";
}
?></a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
if($dnn['status_lening']=='2')
{
echo '<span style="text-decoration: line-through;">'.$dnn['aantal'].'';
echo "stuk('s)";
echo '</span><a>';
}
elseif($dnn['status_lening']=='1')
{
echo '<b>'.$dnn['aantal'].'';
echo "stuk('s)";
echo ' </b><a>';
}
else
{
echo "Sorry, Er is een foutje verschenen.";
}
?></a><br>
</td>
<td class="left"><center><input name="row-<?php echo $dnn['id']; ?>" type="checkbox" id="checkbox[]" value="1"></center>
</td>
<?php
}
?>
</tr>
</tbody>
</table>
<p align="Right">actie:<select name="actie">
<option value="---">---</option>
<option value="klaar">klaar</option>
<option value="verwijder">verwijder</option>
<option value="onklaar">onklaar</option>
</select><input value="opslaan" type="submit"></p>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
echo $_POST['row-'.$controle['id']];
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
echo 'SQL error: ' . mysql_error();
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql1) {
echo 'SQL error: ' . mysql_error();
}
}
}
}
}
}
?>
( sorry dat ik een groot stuk code geef maar dit heet enkel te maken met de code )
Php knipper op 02/12/2011 19:36:45:
ik denk dat de fout zich bevind bij het form element
Waarom denk je dat?
Obelix en Idefix op 25/11/2011 21:30:19:
Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.
Overigens is een logische(re) opbouw van een pagina is eerst php en dan html.