I have a website where i need to use a while statement, but when i use it, it repeats the echo infinitely. Although it looks like i could make it work without while, that isnt so, this is a simplified version of a final product that will need while.
<?php
$passlevel = '0';
while ($passlevel == '0')
{
if(isset($_GET['box_1_color']))
{
$color=$_GET['box_1_color'];
if($color == "#800080")
{
echo "you have passed step one.";
$passlevel == '1';
}
else
{
echo "you didn't select purple.";
}
}
else echo "contact webmaster";
}
?>
Why is it echoing either contact webmaster or you didnt select purple an infinite number of times?
First, you probably need to change:
to
The first is a comparison equals, not an assignment equals.
Second, if
$coloris not#800080, then the loop does not terminate and thus repeats forever as nothing in the loop causes the value to change.I’m not entirely sure of the point of this loop in the first place. It should work perfectly fine without the loop, however you’ve stated that your code is a simplified version of something more complicated that indeed needs a loop. Perhaps you can elaborate.