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 :: Не могу понять в чём может быть дело

 PHP.SU

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


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

> Описание: Не могу понять в чём может быть дело
aleks3130
Отправлено: 16 Июля, 2010 - 14:48:48
Post Id


Гость


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


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

[+]


PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $il=0;
  4.   $zapros = mysql_query("select * from category where parent='$id' ORDER BY sort ASC", $link) or die("ошибка<br>");
  5.   while ($mas_z = mysql_fetch_assoc($zapros))
  6. {
  7.             $sort=$mas_z['sort'];
  8.  
  9.         <form method=POST>         
  10.              <input name=\"raz[$il]\" type=\"text\" size=\"5\" value=\"$sort\">
  11.  
  12.             <input type=\"submit\" name=\"sav\" value=\"Применить\">
  13.             </form> \n";
  14.  
  15. }
  16.  
  17.  
  18. $i=0;
  19. if (isset($_POST['sav']))
  20.         {
  21. $resk = mysql_query("select *  from category where parent='$id' ORDER BY sort ASC", $link) or die("Не удалось произвести запрос<br>");  
  22.          while ($zak_ra = mysql_fetch_assoc($resk))
  23.       {                                                        
  24.          echo $raz[$i]; echo "<br>";   
  25.          $i++;
  26.                  
  27.       }
  28.  
  29. }
  30.  
  31. ?>


Не могу понять в чём может быть дело.

Есть форма состоит из объекта типа TEXT, (количество этих элементов определяется запросом из БД), поле name=raz[$il] , затем по нажатию кнопки применить пытаюсь вывести текущее значения полей echo $raz[$i];.

На одном хостинге всё работает отлично (локальном), а на внешнем вообще не хочет выводить значение элемента по массиву, где массив это имя .

Может быть кто нибудь подскажет в чём дело?

Заранее спасибо.


Исходник не весь но принцып отображён


Отредактировано модератором: JustUserR, 16 Июля, 2010 - 15:07:10
Обрамил PHP-код в соответствующий BB-тег
 
 Top
JustUserR
Отправлено: 16 Июля, 2010 - 15:12:02
Post Id



Активный участник


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


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




aleks3130 пишет:
На одном хостинге всё работает отлично (локальном), а на внешнем вообще не хочет выводить значение элемента по массиву, где массив это имя
Если работоспособность PHP-скрипта отличается на различных web-серверах то это свидетельсвует о том что он использует какие-то специфические возможности или настройки - в вашем примере это может быть short-тег для PHP-кода или обращение к элементам хеш-массива без кавычек Также в первой части PHP-скрипта для генерации input-полей для последуюещго их представления в виде массива вы используете переменную $il - по идее она должна инкрементироваться при каждой итерации цикла но у вас этого не происходит


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 16 Июля, 2010 - 15:14:38
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




Почему 2 одинаковых запроса?
Откуда переменная $raz?
А это что за бред?
PHP:
скопировать код в буфер обмена
  1. while ($zak_ra = mysql_fetch_assoc($resk)) {
  2.         echo $raz[$i]; echo "<br>";


вот подфoрматировал некоторые ошибки
PHP:
скопировать код в буфер обмена
  1. <?
  2. $il = 0;
  3. $zapros = mysql_query("select * from category where parent='$id' ORDER BY sort ASC", $link) or die("ошибка<br>");
  4. while ($mas_z = mysql_fetch_assoc($zapros)) {
  5.     $sort = $mas_z['sort'];
  6.     echo '
  7.    <form method=POST>
  8.    <input name=' . $raz[$il] . ' type="text" size="5" value=' . $sort . '>
  9.    <input type="submit" name="sav" value="Применить">
  10.    </form>\n';
  11. }
  12.  
  13. $i = 0;
  14. if (isset ($_POST['sav'])) {
  15.     $resk = mysql_query("select * from category where parent='$id' ORDER BY sort ASC", $link) or die("Не удалось произвести запрос<br>");
  16.     while ($zak_ra = mysql_fetch_assoc($resk)) {
  17.         echo $raz[$i] . '<br>';
  18.         $i++;
  19.     }
  20. }
  21. ?>

(Отредактировано автором: 16 Июля, 2010 - 15:22:57)

 
 Top
JustUserR
Отправлено: 16 Июля, 2010 - 16:04:34
Post Id



Активный участник


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


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




SAD пишет:
Вот подфoрматировал некоторые ошибки
Подразумеваолось что приведенный PHP-скрипт использует возможноси по динамическому созданию массивов из пользовательских форм при указании соответствующего идентификатора в имени объекта - и по этой причине создается форма объекты которой имеют имя raz[$i] и в случае включенной директивы register_globals должны преобразоваться в массив $raz Конечно автомаическая генерация массива будет работать и с пустыми квадратными скобками - но раз в них используется переменная считчика то ее нужно инкременировать


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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