Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Notice: Undefined index

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Глайт
Отправлено: 03 Июня, 2008 - 23:28:55
Post Id



Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Не нравится, как я собираю переменную:

CODE (text):
скопировать код в буфер обмена
  1. $im_rad_name = "image_".$im;   // Составляем имя переменной


Может, подскажете, как это этого избавиться?
 
 Top
scuter
Отправлено: 04 Июня, 2008 - 03:18:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




а что тебе тут не нравится.
 
 Top
Вездеход
Отправлено: 04 Июня, 2008 - 07:46:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




угу. что именно не нравится то?
все кул вроде...

зы. можно так:
$im_rad_name = "";
$im_rad_name .= "image_";
$im_rad_name .= $im;

=)


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
valenok Модератор
Отправлено: 04 Июня, 2008 - 08:18:47
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Вездеход
мне как то знакомый показывал как вывести на php числа от одного до 10ти
получилось так:

$a=1;
echo $a;
echo "<br>";

$a=2;
echo $a;
...

..


Undefined index тносится к массивам.
Вы не ту строчку привели похоже.


-----
Truly yours, Sasha.
 
My status
 Top
Вездеход
Отправлено: 04 Июня, 2008 - 08:28:12
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




valenok пишет:
Вездеход
мне как то знакомый показывал как вывести на php числа от одного до 10ти
получилось так:

$a=1;
echo $a;
echo "<br>";

$a=2;
echo $a;
...

..


а что.. классная идея!
в таком коде и не запутаешся никогда! Улыбка Улыбка Улыбка


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Глайт
Отправлено: 04 Июня, 2008 - 11:47:52
Post Id



Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Приведу весь цикл:

CODE (text):
скопировать код в буфер обмена
  1. for ($im=1;$im<=7;$im++)
  2. {
  3. [b]     $im_rad_name = "image_".$im;   // Составляем имя переменной[/b]
  4.         if ($_POST[$im_rad_name] == "1") $ans[$im] = "1";
  5.         else { $ans[$im] = "0"; }
  6. }


при выполнении скрипта выводит ошибку (одну из):
Цитата:
Notice: Undefined index: image_6 in handler.php on line 39

где 39 строка выделена жирным шрифтом в коде цикла. Скорее всего, ошибка в $_POST.
 
 Top
SergeantPEPPER
Отправлено: 04 Июня, 2008 - 14:29:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




У вас нет такого элемента $_POST['image_6'] - проблема в этом, название элемента массива формируется правильно.

Посмотрите:
1) Передается ли POST-ом такой элемент в Ваш скрипт.
2) Существует ли вообще массив $_POST у Вас (если нет - выключите опцию register_globals в php.ini)
 
 Top
Глайт
Отправлено: 04 Июня, 2008 - 14:38:39
Post Id



Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




SergeantPEPPER пишет:
У вас нет такого элемента $_POST['image_6'] - проблема в этом, название элемента массива формируется правильно.

Посмотрите:
1) Передается ли POST-ом такой элемент в Ваш скрипт.
2) Существует ли вообще массив $_POST у Вас (если нет - выключите опцию register_globals в php.ini)


значит, у меня на сайте стоит голосование. После нажатия кнопки "Ответить" вышеуказанный Notice выводится для "image_...", за которые НЕ проголосовали... На варианты, за которые проголосовали не ругается...
Значит, передается через $_POST нормально.
в итоге пришлось ставить error_reporting(7).
 
 Top
valenok Модератор
Отправлено: 04 Июня, 2008 - 14:46:32
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




if ( isset( $_POST[$im_rad_name] )) $ans[$im] = "1";
Кроме того эта строка и есть 39ая


-----
Truly yours, Sasha.
 
My status
 Top
SergeantPEPPER
Отправлено: 04 Июня, 2008 - 14:59:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




2Глайт :

Просто в массив $_POST попадают только отмеченные чекбоксы.
Т.е. если если в чекбоксе на странице голосования стоит галочка, то соответствующий элемент $_POST[image_x] будет существовать, в прот. случае элемент не создается

Поэтому проверяйте лучше не на равенство, а на существование
 
 Top
scuter
Отправлено: 04 Июня, 2008 - 22:15:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




так бы сразу и сказал,
думаю так будет лучше работать,
PHP:
скопировать код в буфер обмена
  1. for ($im=1;$im<=7;$im++)
  2. {
  3.         if(isset($_POST["image_".$im]))
  4.         {
  5.                 if ($_POST["image_".$im] == "1")
  6.                 {
  7.                         $ans[$im] = "1";
  8.                 }
  9.                 else
  10.                 {
  11.                         $ans[$im] = "0";
  12.                 }
  13.         }
  14. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB