Hola a todos/as, llevo varios dias comiendome la cabeza con este trozo de codigo y no logro entender porque me da el resultado que me da. Se trata de varias condiciones if, yo paso el valor por la url y a la hora de ver el resultado en el navegador me encuentro con todos los mensajes, mejor pongo el codigo para que lo entendais bien:
Código PHP:
<?php
$a = $_GET["orden"];
echo "Valor de a: $a" . '<br>';
if($a="default")
{
/* Por defecto */
echo "Orden por defecto<br>";
}
if($a=1)
{
/* Por fecha ascendente */
echo "Orden 1<br>";
}
if($a=2)
{
/* Por fecha descendente */
echo "Orden 2<br>";
}
if($a=3)
{
/* Por titulo ascendente */
echo "Orden 3<br>";
}
if($a=4)
{
/* Por titulo descendente */
echo "Orden 4<br>";
}
if($a=5)
{
/* Por precio ascendente */
echo "Orden 5<br>";
}
if($a=6)
{
/* Por precio descendente */
echo "Orden 6<br>";
}
if($a=7)
{
/* Por provincia ascendente */
echo "Orden 7<br>";
}
if($a=8)
{
/* Por provincia descendente */
echo "Orden 8<br>";
}
?>
Utilizo:
http://localhost/prueba.php?valor=default
Y el resultado en el navegador es este:
Valor de a: default
Orden por defecto
Orden 1
Orden 2
Orden 3
Orden 4
Orden 5
Orden 6
Orden 7
Orden 8
Se supone que solo deberia mostrar "Orden por defecto" y no entrar en las otras condiciones, ¿alguien sabe por que?