Stukje code niet uitgevoerd
while (isset($_POST['outputtop'.$i]) && isset($_POST['outputleft'.$i]) && isset($_POST['id'.$i])) {
echo "PHP";
}
Ik ben erachter gekomen door omdat hij geen "PHP" zei.
Vreemd :S
Weet iemand hoe ik dit kan oplossen ?
Gewijzigd op 19/06/2010 16:04:10 door - Raoul -
en ik kom daarna uit:
bool(false)
:S
- Raoul - op 19/06/2010 16:16:15:
en ik kom daarna uit:
bool(false)
:S
en ik kom daarna uit:
bool(false)
:S
En een while(false) zal nooit de loop in gaan en dus ook de echo niet doen. Verder is het een beetje onzinnig om een isset() in een while() te zetten. Als de isset() een true terug geeft krijg je while(true) en dat is een eindeloze loop, oftewel daar komt ie nooit meer uit.
Gewijzigd op 04/07/2014 19:58:23 door - Ariën -
Wat moet ik dan wel gebruiken?
Doe eens een var_dump van de $_POST variabele om te zien wat erin zit en of dat overeenkomt met jouw verwachting:
In het begin van mijn php bestandje staat $i = 1;
Ik zal het eens proberen die
EDIT: Ik kreeg dit:
array(10) { ["pageid"]=> string(1) "1" ["outputleft1"]=> string(0) "" ["outputtop1"]=> string(0) "" ["id1"]=> string(1) "1" ["outputleft2"]=> string(0) "" ["outputtop2"]=> string(0) "" ["id2"]=> string(1) "2" ["outputleft3"]=> string(0) "" ["outputtop3"]=> string(0) "" ["id3"]=> string(1) "3" }
Alles is dus goed gepost, maar hoe kan ik nu die while vervangen..
Gewijzigd op 19/06/2010 17:21:26 door - Raoul -
Blanche PHP op 19/06/2010 17:34:13:
Je hoeft die while() niet te vervangen, je moet alleen zorgen dat $i wel verhoogd wordt binnen je while loop:
...
...
Euhm dat heb ik ook
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$i = 1;
while ($_POST['outputtop'.$i] && $_POST['outputleft'.$i] && $_POST['id'.$i]) {
echo "PHP";
mysql_query("UPDATE beta_editor SET top = '".$_POST['outputtop'.$i]."' WHERE elid = '".$_POST['id'.$i]."'") or die(mysql_error());
mysql_query("UPDATE beta_editor SET position_left = '".$_POST['outputleft'.$i]."' WHERE elid = '".$_POST['id'.$i]."'") or die(mysql_error());
$i++;
echo "Nu: ".$i."<br>";
}
?>
$i = 1;
while ($_POST['outputtop'.$i] && $_POST['outputleft'.$i] && $_POST['id'.$i]) {
echo "PHP";
mysql_query("UPDATE beta_editor SET top = '".$_POST['outputtop'.$i]."' WHERE elid = '".$_POST['id'.$i]."'") or die(mysql_error());
mysql_query("UPDATE beta_editor SET position_left = '".$_POST['outputleft'.$i]."' WHERE elid = '".$_POST['id'.$i]."'") or die(mysql_error());
$i++;
echo "Nu: ".$i."<br>";
}
?>
Gewijzigd op 19/06/2010 17:45:02 door - Raoul -
In je while controleer je of $_POST['id'.$i] bestaat, maar zoals je in de var_dump kunt zien, is dat niet het geval. Kortom, de while zal dus nooit uitgevoerd worden.
Verder is het wel lek => SQL-Injection.
Gebruik mysql_real_escape_string().
SanThe Nvt op 19/06/2010 17:50:49:
Die 2 query's kunnen in 1 keer in een query.
Verder is het wel lek => SQL-Injection.
Gebruik mysql_real_escape_string().
Verder is het wel lek => SQL-Injection.
Gebruik mysql_real_escape_string().
Dit doe ik later als het script echt goed werkt.
Blanche PHP op 19/06/2010 17:48:54:
Oke, dat zit dan in ieder geval goed. Maar kijk nu nog eens naar het resultaat van die var_dump...
In je while controleer je of $_POST['id'.$i] bestaat, maar zoals je in de var_dump kunt zien, is dat niet het geval. Kortom, de while zal dus nooit uitgevoerd worden.
In je while controleer je of $_POST['id'.$i] bestaat, maar zoals je in de var_dump kunt zien, is dat niet het geval. Kortom, de while zal dus nooit uitgevoerd worden.
Maar.. mijn HTML staat vol met dit:
<input type="hidden" name="id1" value="1">
<input type="hidden" name="id3" value="3">
<input type="hidden" name="id2" value="2">
Gewijzigd op 19/06/2010 18:05:06 door - Raoul -
Hij staat wel in de vardump: ["id3"]=> string(1) "3"
Iemand?
De code uit je post van 17.42 uur is de code die je gebruikt? Waar is dan de isset() gebleven?
- Raoul - op 19/06/2010 18:00:22:
Dit doe ik later als het script echt goed werkt.
SanThe Nvt op 19/06/2010 17:50:49:
Die 2 query's kunnen in 1 keer in een query.
Verder is het wel lek => SQL-Injection.
Gebruik mysql_real_escape_string().
Verder is het wel lek => SQL-Injection.
Gebruik mysql_real_escape_string().
Dit doe ik later als het script echt goed werkt.
Wat is dat voor onzinnige opmerking? Wat is er op tegen om het nu te doen? Sowieso zal je script nooit "echt goed" werken zonder beveiliging tegen injectie, dus wanneer doe je het dan? :-)
Gewijzigd op 04/07/2014 19:58:35 door - Ariën -
Blanche PHP op 19/06/2010 18:16:51:
En weer heb je me geholpen ;D
Thanks!
En ik zal mysql_escape_dinges () ; doen XD