Ik ben sinds een paar dagen begonnen met het aanleren van PHP.
Onderstaand script wat ik zelf gemaakt heb bevat een if/else statement.
Wanneer een karakter uit een string van het tekstbestand gelezen word,
wordt $onoff, wanneer $Ps = 1, gelijk aan "Aan", anders gelijk aan "Uit".
Tenminste zo zou het moeten zijn. :-)

Helaas is $onoff gelijk aan "Aan", wat $Ps ook voor een waarde heeft.

Zou iemand hier zijn blik op willen werpen, het is mijzelf nog steeds
niet gelukt het probleem op te lossen.

Bij voorbaat dank.

<?php



$File = "IO_File.txt";
$fh = fopen($File, 'r');
$Data = fgets($fh);
fclose($fh);

$onoff = " ";

echo "<table border=\"1\" align=\"right\">";
echo "<tr><th>IO-nr</th>";
echo "<th>Status </th></tr>";

for ($t = 0 ; $t <= 15 ; $t += 1)
{

$Ps = $Data[$t];


if ( $Ps = 1 )

{
$onoff="Aan";
}
else
{
$onoff="Uit";
}



echo "<tr><td>";
echo $t;
echo "</td><td>";
echo $onoff;
echo "</td></tr>";



}
echo "</table>";


?>
Hallo Evert, Welkom bij PHPhulp.

een beginnersfoutje die je maakt bij het if() statement is je vergelijking.

bedenk het volgende:

<?php
$a = 1;
?>


hier wordt de waarde 1 aan $a toegekend.

dus wat gebeurt hier?:

<?php
if($a = 1)
    // doe iets
?>


wat tussen haakjes wordt gezet gebeurt als eerste. dus als eerste: $a = 1;
Daarna wordt gedaan if($a). Dit zal altijd TRUE opleveren. (tenzij $a =0 gedaan wordt)

Om te vergelijken zoals jij dat bedoelt moet je == gebruiken:
<?php
if($a == 1)
// doe iets
?>
[/code]
Hier wordt vergeleken of $a gelijk is aan de waarde 1, zonder dat de waarde van $a veranderd.
Hallo Frank,

Hartstikke bedankt, ik heb het meteen aangepast en het werkte.
Ik zal in het vervolg er rekeni g mee houden.

GrtZ Evert

Reageren