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 :: Создание xml файла

 PHP.SU

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


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

> Описание: Не получается как нужно создать xml файл
vanicon
Отправлено: 09 Мая, 2010 - 01:17:30
Post Id



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


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


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




Создаю файл rss.xml с помощью вот этого кода:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form method="post" action="">
  3. <input name="add" type="submit" value="Записать файл" class="button" />
  4. </form>
  5.  
  6. $link = mysql_connect("localhost", "root", "")
  7. or die("Ошибка подключения : " . mysql_error());
  8. mysql_select_db("ivan") or die("Could not select database");
  9.  
  10. $sqlrss = mysql_query("SELECT id, guid, post_content, post_title, post_date
  11. FROM wp_posts WHERE post_status  = 'publish' AND post_type = 'post' ORDER BY post_date DESC LIMIT 3");
  12.  
  13.  
  14.  
  15.      while ($rss = mysql_fetch_array($sqlrss, MYSQL_BOTH)) {
  16.         $rsstitle = $rss["post_title"];
  17.         $rsslink = $rss["guid"];
  18.         $rssid = $rss["id"];
  19.         $filersscenter ='
  20. <item>
  21. <title>'.$rsstitle.'</title>
  22. <link>'.$rsslink.'</link>
  23. </item>';
  24. }
  25. mysql_free_result($sqlrss);
  26.  
  27. if ($_POST['add']){
  28. $fp = fopen ('rss.xml', "w");
  29. fwrite($fp, $filersscenter);
  30. fclose($fp);
  31. }
  32.  


И все нормально вроде бы записывается в файл, но создается только одна конструкция <item>, а в запросе указывается лимит 3. Пишу вместо переменой $filersscenter вывод с помощью функции echo, выводит как надо по 3 конструкции. Подскажите пожалуйста что я не так делаю?


-----
Так было, так есть и так будет
 
 Top
valenok Модератор
Отправлено: 09 Мая, 2010 - 12:49:59
Post Id



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


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


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




$filersscenter .=


-----
Truly yours, Sasha.
 
My status
 Top
vanicon
Отправлено: 09 Мая, 2010 - 13:53:28
Post Id



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


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


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




Спасибо valenok, а то я сам не догадался Радость


-----
Так было, так есть и так будет
 
 Top
vanicon
Отправлено: 10 Мая, 2010 - 15:04:30
Post Id



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


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


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




На локалхосте все работало, а вот на сомом сайте не работает выдает вот такую ошибку:
Notice: Undefined variable: filersscenter in /home/vanicon/docs/van.php on line 23


-----
Так было, так есть и так будет
 
 Top
JustUserR
Отправлено: 10 Мая, 2010 - 15:31:56
Post Id



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


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


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




vanicon пишет:
На локалхосте все работало, а вот на сомом сайте не работает выдает вот такую ошибку:
Notice: Undefined variable: filersscenter in /home/vanicon/docs/van.php on line 23
Приведенный вами текст не ошибка и даже не предупреждение - но видно что какой-то переменной не хватает веротяно по причине отсутствия register_globals - попробуйте сделать $varname=$_REQUEST['varname']
Также проблема с записью XML-файла может быть в недостатке прав на запись - или неверно-казанным базовом пути


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



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


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


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




Я задавал этот вопрос хостеру и мне ответили что это не ошибка, а предупреждение. Говорит о том, что в скрипте используется неинициализированная переменная.


-----
Так было, так есть и так будет
 
 Top
Champion Супермодератор
Отправлено: 10 Мая, 2010 - 15:36:36
Post Id



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


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


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




Это не ошибка, а замечание. Чтобы узнать, о чем оно и чем оно вызвано, как ни странно, достаточно его прочитать. А работает на локалхосте и на самом сайте скорее всего одинаково, просто на локалхосте отключен вывод замечаний.
 
 Top
JustUserR
Отправлено: 10 Мая, 2010 - 15:41:20
Post Id



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


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


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




vanicon пишет:
Я задавал этот вопрос хостеру и мне ответили что это не ошибка, а предупреждение. Говорит о том, что в скрипте используется неинициализированная переменная.
Не совсем так - это предупреждение возникает скажем в случае обращения к неопределенной ранее переменной - и в зависимости от контекста она трактуется как false или 0 или пустая строка
Если ваш PHP-скрипт не работает то
JustUserR пишет:
Веротяно по причине отсутствия register_globals - попробуйте сделать $varname=$_REQUEST['varname']


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



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


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


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




Цитата:
Веротяно по причине отсутствия register_globals - попробуйте сделать $varname=$_REQUEST['varname']

Я пробовал выдавал еще ошибку:
Notice: Undefined index: varname


-----
Так было, так есть и так будет
 
 Top
Champion Супермодератор
Отправлено: 10 Мая, 2010 - 16:10:22
Post Id



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


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


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




vanicon пишет:
Говорит о том, что в скрипте используется неинициализированная переменная
Ну так проинициализируй ее в начале пустой строкой.
 
 Top
vanicon
Отправлено: 10 Мая, 2010 - 20:22:50
Post Id



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


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


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




И как это сделать? Не понял


-----
Так было, так есть и так будет
 
 Top
JustUserR
Отправлено: 11 Мая, 2010 - 10:27:39
Post Id



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


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


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




vanicon пишет:
И как это сделать?
Во-первых скорее всего в вашем случае надо включить register_globals или просто скопировать данные в эту переменную из масива $_REQUEST - во-вторых можете просто проинициализировать ее любым ложным значением - только не null поскольку это означает отсутствие переменной


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



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


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


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




Что то я не понимаю как можно проинициализировать переменную $filersscenter, объясните пожалуйста.


-----
Так было, так есть и так будет
 
 Top
ura-anton
Отправлено: 11 Мая, 2010 - 14:09:33
Post Id


Новичок


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


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




JustUserR
хватит гнать пургу, просмотри скрипт, register_globals здесь ни причём
vanicon
$filersscenter='';


-----
 
 Top
JustUserR
Отправлено: 12 Мая, 2010 - 09:28:43
Post Id



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


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


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




ura-anton пишет:
JustUserR хватит гнать пургу, просмотри скрипт, register_globals здесь ни причём
Не совсем так ведь если в PHP-скрипте имелось в виду что включен register_globals - то автор мог сразу использовать конструкции в которых GPC-данные превращаются и переменные и эни переменные можно использовать как rvalue - если же register_globals выключен то переменная остается неинициализированной - но ее по преждему можно использовать как rvalue при такктовке в контексте как ложное значения - хотя предупреждение будет возникать если перед использованием в rvalue ее не проинициализировали в lvalue
ura-anton пишет:
vanicon
$filersscenter='';
Как ининциализировать переменную это и так понятно и было написало уже не раз - другое дело почему возникает неинициализированная переменная? Про register_globals спорить не буду - посколько такая переменная могла возникнуть из подключаемого файла - а если на хостинг файл не открывается (Напрмер нет прав доступа) то переменная и остается без начального значения (Хотя в таком случае чтобы она была глобальной ее нужно явно обявлять как global)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный 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