--- Marco Branco <[EMAIL PROTECTED]> wrote:

> i have this link in a web page (www.mydomain.com/index.php?id=2).
> 
> and in the index.php i have
> 
> <?php
> (...)
> switch ($id)
> {
>     case 1: echo('um - 1'); break;
>     case 2: echo('dois - 2'); break;
>     case 3: echo('tres - 3'); break;
>    default: echo('defaulf - any');
> }
> (...)
> ?>
> 
> I alwys get the last line of the switch:  *default - any*
> 
> Why?

It appears that you are assuming that $id will contain the GET variable "id"
automatically.  This was true in old installations of PHP but not for the past
several years.  A feature known as "register_globals" is and should be "off."

To resolve this, before you use $id set it like this:

$id = $_GET['id'];

Otherwise, it will always be zero and lead to your default case in the switch()
statement.

James

Reply via email to