Ошибка в коде?

SLITE
Есть код:

Код: Выделить всё

<?php
 include('php/conf.php');
 if(isset($_GET['page']))
 {$page= mysql_escape_string($_GET['page']);}
 else
 {$page =='1';}
 if(isset($_GET['cat']))
 {$cat= mysql_escape_string($_GET['cat']);}
 else
 {$cat=='1';}
if (isset($_GET['sub'])){$sub = mysql_escape_string($_GET['sub']);
$my = mysql_query("SELECT menu FROM sub WHERE id='$sub'",$db);
$res = mysql_fetch_array($my);
}
else
{
$my = mysql_query("SELECT menu FROM menu WHERE id='$page'",$db);
$res = mysql_fetch_array($my);
}
?>
и что интересное это то что у меня на вебсервере wamp все работает отлично, но когда заливают на хостинг, то переменная page не может определиться.
На вебсервере wamp php 5 и на хостинге тож php 5.так в чем дело в коде или вебсервере хостинга?
Вернуться к началу

Distructor
Администратор

Код: Выделить всё

<?php
 include('php/conf.php');
 var_dump($_GET);
?>
и смотри что выведется

p.s. если страница подразумевается числовой, то правильнее использовать intval вместо mysql_escape_string
Вернуться к началу

SLITE
Distructor писал(а):

Код: Выделить всё

<?php
 include('php/conf.php');
 var_dump($_GET);
?>
и смотри что выведется

p.s. если страница подразумевается числовой, то правильнее использовать intval вместо mysql_escape_string
Проблема в том, что эт я челу делал и я немогу проверить щяс, страница числовая, но самое что меня смущает дак это то что даже если переменная не определится то автоматически ей присвоится значение:

Код: Выделить всё

else
 {$page =='1';} 
Вернуться к началу

Distructor
Администратор

Код: Выделить всё

$page =='1';
это проверка на равенство. А тебе нужно присвоение

Код: Выделить всё

$page = '1';
Вернуться к началу