Voy a ver si resumo la situación, pero antes quiero decir que yo partia de la suposición (quizas erronea) de que si se compara un valor numérico con uno boleano el numerico sera siempre "TRUE" a no ser que sea cero.
Ahora el resumen:
En un libro de php me encuentro el siguiente código, que sirve para demostrar el tema de las sesiones de usuario:
Código:
<?php
session_register('view1count');
session_register('view2count');
session_register('view3count');
session_register('view4count');
?>
<?php
echo "<html><head><title>Web Page Hit counter</title></head><body>";
if(isset($_GET['whichpage'])) {
echo "<b>You are currently on page $_GET[whichpage].</b><br><br>\n";
$_SESSION["view".$_GET['whichpage']."count"]++;
}
for($i=1; $i<=4; $i++) {
if(isset($_GET['whichpage']) == $i) {
echo "<b><a href=\"sessions.php?".session_id()."&whichpage=$i\">Page $i</a></b>";
}else{
echo "<a href=\"sessions.php?".session_id()."&whichpage=$i\">Page $i</a>";
}
echo ", which you have chosen ".$_SESSION["view".$i."count"]."times.<br>\n";
}
echo "\n\n<br><br>\n\n";
echo "</body></html>";
?>
De este código lo que no me cuadra es que si "$_GET['whichpage']" y "$i" no son iguales no se cumple que "isset($_GET['whichpage']) == $i"
Yo creo que tiene que cumplirse siempre porque "$i" nunca es 0 y "isset($_GET['whichpage'])" siempre es TRUE.
He ejecutado el script y ha quedado demostrado que estoy equivocado, porque solo se cumple la condicion si "$_GET['whichpage']" y "$i" son iguales.
Yo creia que "isset($_GET['whichpage']) == $i" era lo mismo que decir TRUE== TRUE, pero no es así.
No se si he explicado bien mi problema.
Saludos y gracias por la paciencia.