[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вечный Notice
Xrum
Всем добрый вечер.

Учу PHP по видеокурсам Бауманки "Специалист ".
Постоянно преследует навязчивый Notice: Undefined variable. В заданиях, после того, как решу сам, специально делаю всё один в один как на видео. Там всё норм, у меня Notice: Undefined variable... замучился уже. Отключать Notice не хочу - не лучшее решение закрывать глаза на проблему, хочется разобраться, что же собственно не так.
Пользуюсь XAMPP (на видеоуроках вручную устанавливают связку Apache+PHP)
У меня PHP 5.3.8 (на видеоуроках 5.2.6)

Помогите, разобраться пожалуйста, что не так????

заранее всем спасибо за ответы.
Winston
Такое бывает когда ты производишь какие-то манипуляции с неопределенной переменной.
В общем нужно код смотреть. Показывай.
Xrum
Winston,
Спасибо. Выкладываю код.

<?php
require_once "lib.inc.php"; //ниже содержимое файла "lib.inc.php". Оно, конечно находится в другом файле. скинул всё в один, чтоб удобней в теме показать было.
/*function getMenu($menu,$vertical=true){
if(!is_array($menu))
return false;
$style='';
if(!$vertical)
$style='
style="display:inline;margin-right:15px"';
echo '<ul style="list-style-type:none">';
foreach ($menu as $title=>$link){
echo "<li$style><a href='$link'>$title</a></li>";
}
echo '</ul>';
return true;
}
function getTable($cols=10, $rows=10, $color='yellow'){
echo "<table border='1' align='center'>";
for($tr=1;$tr<=$rows;$tr++){
echo "<tr>";
for($td=1;$td<=$cols;$td++){
if($tr==1 or $td==1)
echo "<th style='background:$color'>".$tr*$td."</th>";
else
echo "<td>".$tr*$td."</td>";
}
echo "<tr>";
};
echo"</table>";
}
*/

require_once "data.inc.php"; //ниже содержимое файла "data.inc.php"
/*$leftMenu1=array(
"Home"=>'index.php',
"Page1"=>'page1.php',
"Page2"=>'page2.php',
"Page3"=>'page3.php',
"Table"=>"table.inc.php"
);
$topMenu=array(
"About"=>'#',
"Contact"=>'#',
"Search"=>'#'
);
*/

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>
Шаблон сайта</title>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>

<table
width="100%" border="1">

<tr>
<td
colspan="2" align="center">
<?php

include_once "top.inc.php"; // ниже содержимое файла "top.inc.php"
/*
<table width="100%">
<tr>
<td align="center"><h1>Добро пожаловать на наш сайт!</h1>
<?=getMenu($topMenu, false);?>
</td>
</tr>
</table>
*/

?>
</td>
</tr>

<tr>
<td
width="20%" valign="top">
<?php

require_once "menu.inc.php"; // ниже содержимое файла "menu.inc.php"
/*
<table width="100%">
<tr>
<td>
<p>Меню</p>
<?php
if(!getMenu($leftMenu))
echo 'Извините, что-то произошло...';
?>
</td>
</tr>
</table>
*/

?>
</td>
<td>

 
</td>
</tr>

<tr>
<td
colspan="2" align="center">
<?php

include_once "bottom.inc.php"; // ниже содержимое файла "bottom.inc.php"
/*
<table width="100%">
<tr>
<td align="center">&copy SuperMegaWebMaster, <?=date('Y:m:d')?>
<hr>
Powered by <?=$_SERVER['SERVER_SOFTWARE']?>
</td>
</tr>
</table>
*/

?>
</td>
</tr>
</table>

</body>
</html>



когда в data.inc.php переименовываю массив $leftMenu в $leftMenu1 (делаю это специально - проверить как функция getMenu сработает), выдает ошибку "Notice: Undefined variable: leftMenu in C:\Users\Public\xampp\htdocs\labs\mod5\site\menu.inc.php on line 6" (на строке 6 находится "if(!getMenu($leftMenu))" )


а когда меняю имя массива обратно на $leftMenu, отрисовывается меню и ниже "Извините, что-то сломалось..."

+ к тому же строчка return true в функции getMenu отдает в браузер единицу... на видео у препода такого нет...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.