Stukje code niet uitgevoerd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

- Raoul -

- Raoul -

19/06/2010 16:03:38
Quote Anchor link
Dit stukje code word 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 -
 
PHP hulp

PHP hulp

27/04/2024 00:38:52
 
Joren de Wit

Joren de Wit

19/06/2010 16:10:59
Quote Anchor link
Dump de betreffende variabelen eens, dan zie je direct of ze wel bestaan/gevuld zijn...

Edit:
Met var_dump dus...
Gewijzigd op 19/06/2010 16:15:27 door Joren de Wit
 
- Raoul -

- Raoul -

19/06/2010 16:16:15
Quote Anchor link
Blanche, ik deed de var_dum() zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var_dump($_POST['outputtop'.$i] && $_POST['outputleft'.$i] && $_POST['id'.$i]);


en ik kom daarna uit:

bool(false)

:S
 
- SanThe -

- SanThe -

19/06/2010 16:32:00
Quote Anchor link
- Raoul - op 19/06/2010 16:16:15:

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 -
 
- Raoul -

- Raoul -

19/06/2010 17:10:28
Quote Anchor link
Wat moet ik dan wel gebruiken?
 
Joren de Wit

Joren de Wit

19/06/2010 17:12:57
Quote Anchor link
Ik weet niet wat je wilt bereiken, maar het lijkt erop dat je door een reeks genummerde variabelen wilt loopen? Waar komt die $i vandaan, die maak je nog nergens aan? Ook zou ik dan verwachten dat je hem ophoogt binnen je while loop, dat zie ik ook niet?

Doe eens een var_dump van de $_POST variabele om te zien wat erin zit en of dat overeenkomt met jouw verwachting:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump($_POST);
?>
 
- Raoul -

- Raoul -

19/06/2010 17:18:26
Quote Anchor link
Idd Blanche ik wil een reeks genummerde variabelen loopen.

In het begin van mijn php bestandje staat $i = 1;

Ik zal het eens proberen die

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump($_POST);
?>


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 -
 
Joren de Wit

Joren de Wit

19/06/2010 17:34:13
Quote Anchor link
Je hoeft die while() niet te vervangen, je moet alleen zorgen dat $i wel verhoogd wordt binnen je while loop:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
while(...) {
  echo '...';

  $i++;
}

?>
 
- Raoul -

- Raoul -

19/06/2010 17:42:55
Quote Anchor link
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)
PHP script in nieuw venster Selecteer het PHP script
1
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>";

}



?>
Gewijzigd op 19/06/2010 17:45:02 door - Raoul -
 
Joren de Wit

Joren de Wit

19/06/2010 17:48:54
Quote Anchor link
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.
 
- SanThe -

- SanThe -

19/06/2010 17:50:49
Quote Anchor link
Die 2 query's kunnen in 1 keer in een query.
Verder is het wel lek => SQL-Injection.
Gebruik mysql_real_escape_string().
 
- Raoul -

- Raoul -

19/06/2010 18:00:22
Quote Anchor link
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().


Dit doe ik later als het script echt goed werkt.
 
- Raoul -

- Raoul -

19/06/2010 18:01:18
Quote Anchor link
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.


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 -
 
- SanThe -

- SanThe -

19/06/2010 18:06:31
Quote Anchor link
Hij staat wel in de vardump: ["id3"]=> string(1) "3"
 
- Raoul -

- Raoul -

19/06/2010 18:09:35
Quote Anchor link
.. dus ik weet niet wat ik nu moet doen XD

Iemand?
 
Joren de Wit

Joren de Wit

19/06/2010 18:16:51
Quote Anchor link
Oh, mijn fout. Keek er overheen...

De code uit je post van 17.42 uur is de code die je gebruikt? Waar is dan de isset() gebleven?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$i
= 1;

while(isset($_POST['outputleft'.$i], $_POST['outputtop'.$i], $_POST['id'.$i])) {
  // Doe je ding

  $i++;
}

?>
 
Richard van Velzen

Richard van Velzen

19/06/2010 18:25:25
Quote Anchor link
- Raoul - op 19/06/2010 18:00:22:
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().


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 -
 
- Raoul -

- Raoul -

19/06/2010 21:21:26
Quote Anchor link
Blanche PHP op 19/06/2010 18:16:51:
Oh, mijn fout. Keek er overheen...

De code uit je post van 17.42 uur is de code die je gebruikt? Waar is dan de isset() gebleven?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$i
= 1;

while(isset($_POST['outputleft'.$i], $_POST['outputtop'.$i], $_POST['id'.$i])) {
  // Doe je ding

  $i++;
}

?>


En weer heb je me geholpen ;D
Thanks!

En ik zal mysql_escape_dinges () ; doen XD
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.