Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Notice: Undefined offset: 1
 
 автор: Bvz   (17.11.2008 в 14:01)   письмо автору
 
 

а вообще существует описание предупреждений Notice
например, что означает

Notice: Undefined offset: 1 in /home/ххх/ххххх.ru/www/city.php on line 163

  Ответить  
 
 автор: cheops   (17.11.2008 в 14:03)   письмо автору
 
   для: Bvz   (17.11.2008 в 14:01)
 

Вероятно, но обычно этого не требуется - все видно прямо из строки. Что находится в строке 163 файла city.php?

  Ответить  
 
 автор: Bvz   (17.11.2008 в 14:08)   письмо автору
 
   для: cheops   (17.11.2008 в 14:03)
 

там еще на 165 строку ругается
163 $project=$postrow_project[$i]['id_project'];
165 <li><a href=\"project.php?project=$project\">".$postrow_project[$i]['name_project']."</a></li>

  Ответить  
 
 автор: cheops   (17.11.2008 в 14:13)   письмо автору
 
   для: Bvz   (17.11.2008 в 14:08)
 

Это означает, что вы обращаетесь к несуществующему элементу массива. Это не ошибка, PHP просто вас предупреждает об этом. На хостингах обычно выставлено менее чувствительный уровень сообщения об ошибках, предупреждениях и замечаниях. По умолчанию в PHP выставлен достаточно высокий уровень чувствительности. Впрочем вы всегда его можете изменить. Например, вообще отказавшись от вывода замечаний. Однако, последняя практика большинством PHP-разработчиков не приветствуется.

  Ответить  
 
 автор: Bvz   (17.11.2008 в 14:25)   письмо автору
 
   для: cheops   (17.11.2008 в 14:13)
 

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

  Ответить  
 
 автор: igla   (17.11.2008 в 20:22)   письмо автору
 
   для: Bvz   (17.11.2008 в 14:25)
 

error_reporting(E_ERROR | E_WARNING | E_PARSE); тогда ошибок Notice не будет. Но лучше по-моему сделать error_reporting (E_ALL), чтобы показывались все ошибки при выполении скрипта.
Если же хотите проверить существует ли значение то примерно так:


<?
if(in_array($postrow_project[$i]['id_project'], название_вашего_массива))
{echo 
"<li><a href='project.php?project=$project'>".$postrow_project[$i]['name_project']."</a></li>";}
?>

  Ответить  
 
 автор: Trianon   (17.11.2008 в 20:59)   письмо автору
 
   для: igla   (17.11.2008 в 20:22)
 

Для проверки существования ключа применяется функция isset() ,
in_array() выполняет поиск значения, но никак не ключа.

  Ответить  
 
 автор: Valick   (17.11.2008 в 21:27)   письмо автору
 
   для: Trianon   (17.11.2008 в 20:59)
 

array_key_exists - для проверки существования ключа
array_search - для поиска значения (первое попавшееся в массиве)

  Ответить  
 
 автор: Trianon   (17.11.2008 в 22:11)   письмо автору
 
   для: Valick   (17.11.2008 в 21:27)
 

в чем преимущества?

  Ответить  
 
 автор: Valick   (17.11.2008 в 22:36)   письмо автору
 
   для: Trianon   (17.11.2008 в 22:11)
 

ни в чём... просто как альтернатива.
хотя лично для меня в коде нагляднее, что речь идёт именно о поиске существования ключа в массиве)

  Ответить  
 
 автор: igla   (17.11.2008 в 22:49)   письмо автору
 
   для: Trianon   (17.11.2008 в 20:59)
 

да я просто хотел проверить на сущестование даного значения в массиве

  Ответить  
 
 автор: Bvz   (18.11.2008 в 00:22)   письмо автору
 
   для: igla   (17.11.2008 в 22:49)
 

а так можно?
                    $sql1="SELECT * FROM project WHERE  id_city = $article";
                    $result1=mysql_query($sql1);
                    if (mysql_num_rows($result1) == 0)
                    {
                        echo"<li>Нет объектов</li>";
                    }
                    else
                    {
                    while ($row1=mysql_fetch_assoc($result1)) {
                    echo "<li><a href=\"project.php?project=".$row1["id_project"]."\">".$row1['name_project']."</a></li>";
                    }
                    }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования