Php 5 Помогите!
Код:
switch($mode)
{
case 'index':
echo "Server: http://".$_SERVER['HTTP_HOST'];
echo " <br>Php self: ".$_SERVER['PHP_SELF'];
$server = "http://".$_SERVER['HTTP_HOST'];
$phpself = $_SERVER['PHP_SELF'];
$url = $server.$phpself;
echo "<br>Url: ".$url;
echo "<a href=$url?mode=test>Go</a>";
break;
case 'test':
echo "Ok!";
break;
default:
$mode = 'index';
break;
}
{
case 'index':
echo "Server: http://".$_SERVER['HTTP_HOST'];
echo " <br>Php self: ".$_SERVER['PHP_SELF'];
$server = "http://".$_SERVER['HTTP_HOST'];
$phpself = $_SERVER['PHP_SELF'];
$url = $server.$phpself;
echo "<br>Url: ".$url;
echo "<a href=$url?mode=test>Go</a>";
break;
case 'test':
echo "Ok!";
break;
default:
$mode = 'index';
break;
}
при компиляции пишет что оно незнает переменной mode
Notice: Undefined variable: mode in z:\home\destroyer\www\test.php on line 4
Помогите пожалуста.
[COLOR="DarkRed"]==============
Оформляйте код!!!!![/COLOR]
Хм... может я конечно ошибаюсь, но по ходу дела у тебя переменной "mode" присвоено значение после switch'a, т.ев тот момент, когда ты проверяешь чему она равна она по сути дела ещё не существует. Абъяви её в начале сценария.
$mode = $_GET['mode'];
$mode = $_GET['mode'];[/QUOTE]
Согласен, первая же мысль об этом....
Код:
$mode = $_GET['mode'];
Помогло, немного .. теперь он хоть выводит точто в пункте test.
Но ошибку выдает всеравно. Это что ж теперь придеться ссылки писать на разнае Php файлы со скриптами?
Код:
$mode = $_GET['mode'];
Помогло, немного .. теперь он хоть выводит точто в пункте test.
Но ошибку выдает всеравно. Это что ж теперь придеться ссылки писать на разнае Php файлы со скриптами?[/QUOTE]
А теперь о чём ошибка?
Вобщем-то в PHP5 есть структура try...catch... для обработки ошибок. Но по-старинке, если уж очень хочется (судя по твоим словам, с PHP4 ты знаком), эта строка должна выглядеть так:
Код:
$mode = isset($_GET['mode']) ? $_GET['mode'] : null;
Еще раз спасибо.
Цитата:
тепрь никаких ошибок не выдает, непонимаю только почему они были, на 4,3 такого небыло
Вероятно, разные настройки уровня error_reporting.
Кстати, а зачем отключают RegisterGlobals? Безопасности для?
Код:
function link($i,$p,$b,$locate)
{
$site_adress = $GLOBALS['site_adress'];
$link_index[0] = "";
$link_index[1] = "<TD HEIGHT='30' WIDTH='180'><A CLASS='menu_link' HREF='$site_adress/index.php'>| На главную страницу |</A></TD>";
$link_pred[0] = "";
$link_pred[1] = "<TD WIDTH='210'><A CLASS='menu_link' HREF='java script:history.back();'>| На предыдущую страницу |</A></TD>";
$link_back[0] = "";
$link_back[1] = "<TD WIDTH='55'><A CLASS='menu_link' HREF='$site_adress/$locate'>| Взад |</A></TD>";
print "<BR><BR><CENTER><TABLE BORDER='0'>
<TR ALIGN='center'>
$link_index[$i]
$link_pred[$p]
$link_back[$b]
</TR>
</TABLE></CENTER><BR><BR>";
}
{
$site_adress = $GLOBALS['site_adress'];
$link_index[0] = "";
$link_index[1] = "<TD HEIGHT='30' WIDTH='180'><A CLASS='menu_link' HREF='$site_adress/index.php'>| На главную страницу |</A></TD>";
$link_pred[0] = "";
$link_pred[1] = "<TD WIDTH='210'><A CLASS='menu_link' HREF='java script:history.back();'>| На предыдущую страницу |</A></TD>";
$link_back[0] = "";
$link_back[1] = "<TD WIDTH='55'><A CLASS='menu_link' HREF='$site_adress/$locate'>| Взад |</A></TD>";
print "<BR><BR><CENTER><TABLE BORDER='0'>
<TR ALIGN='center'>
$link_index[$i]
$link_pred[$p]
$link_back[$b]
</TR>
</TABLE></CENTER><BR><BR>";
}
потом я вызываю эту ф-ию, предаю ей параметры и на моём компе всё отлично, залил на сервант, а он пишет что-то типа "функция не вызвана".
ага так оно и было я сравнил php.ini от 5ой и 4.3 там в Error handling and logging