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]   

> Без описания
cidldx
Отправлено: 19 Мая, 2016 - 13:15:03
Post Id


Новичок


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


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




Есть код который идеально работает в денвере
Но когда загрузил его на сервер он перестал работать сыпит ошибки мол не установлена переменная.
Вот код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = 'playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.   file_put_contents($data, serialize($_POST['qq']));
  6.   header('Location: '. $_SERVER['PHP_SELF']);
  7.   exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.   echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.   file_put_contents($file22, "/var/www/http/" . $name . "\r\n" , FILE_APPEND);
  14.   echo $name .'<br />';
  15. }
  16.  
  17. ?>
  18. <hr />
  19. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  20.     <? foreach (glob('*') as $file) : ?>
  21.         <input type="checkbox" name="qq[]" value="<?=$file?>" <br />  <?=$file?>    <? endforeach ?>
  22.     <input type="submit" value="Записать в плейлист" />
  23. </form>


А вот что отвечает браузер:
CODE (code):
скопировать код в буфер обмена
  1.  
  2. Warning: unlink(playlist.m3u): No such file or directory in /var/www/html/skandir.php on line 8
  3. Вы записали в плейлист следующие файлы:
  4.  
  5. Warning: Invalid argument supplied for foreach() in /var/www/html/skandir.php on line 12
  6.  
  7.  
  8. Notice: Undefined variable: file in /var/www/html/skandir.php on line 21
  9.  


Помогите разабраться может модулей какихто не хватает или php.ini надо подправить?

http://codepad[dot]org/xQTzvNxa проверял на онлайн компиляторе. Ошибок нет форму строит как надо.

(Отредактировано автором: 19 Мая, 2016 - 13:47:55)

 
 Top
Viper
Отправлено: 19 Мая, 2016 - 18:22:24
Post Id



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


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


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




Пути к файлам нормально пропишите.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
cidldx
Отправлено: 22 Мая, 2016 - 11:31:38
Post Id


Новичок


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


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




Viper пишет:
Пути к файлам нормально пропишите.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = '/var/www/html/data.txt';
  3. $file22 = '/var/www/html/playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.   file_put_contents($data, serialize($_POST['qq']));
  6.   header('Location: '. $_SERVER['PHP_SELF']);
  7.   exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.   echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.   file_put_contents($file22, "/var/www/html/" . $name . "\r\n" , FILE_APPEND);
  14.   echo $name .'<br />';
  15. }
  16.  
  17. ?>
  18. <hr />
  19. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  20.     <? foreach (glob('*') as $file) : ?>
  21.         <input type="checkbox" name="qq[]" value="<?=$file?>" <br />  <?=$file?>    <? endforeach ?>
  22.     <input type="submit" value="Записать в плейлист" />
  23. </form>
  24.  

Прописывал не помогает.
 
 Top
Строитель Модератор
Отправлено: 22 Мая, 2016 - 15:43:00
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




cidldx пишет:
Прописывал не помогает.
Я думаю, такой вариант вам подойдёт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $data = dirname(__FILE__) .'/playlist.m3u';
  4.  
  5. if (isset($_POST['qq'])) {
  6.     file_put_contents($data, serialize($_POST['qq']));
  7.     header('Location: '. $_SERVER['PHP_SELF']);
  8.     exit;
  9. }
  10.  
  11. if (file_exists($data)) {
  12.     $names = unserialize(file_get_contents($data));
  13.     if (!empty($names)) {
  14.         echo '<b>Вы записали в плейлист следующие файлы:</b><br />'.
  15.             join('<br />', $names);
  16.     } else {
  17.         echo '<b>Записей нет!</b><br />';
  18.     }
  19. }
  20.  
  21. ?>
  22.  
  23. <hr />
  24. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  25.     <? foreach (glob('*.mp3') as $file) : ?>
  26.     <input type="checkbox" name="qq[]" value="<?=$file?>" /><?=$file?>    
  27.     <? endforeach ?>
  28.     <input type="submit" value="Записать в плейлист" />
  29. </form>
  30.  

(Добавление)
Этот код нужно сохранить в пхп-файл, а файл поместить в директорию с мп3-файлами.
 
 Top
cidldx
Отправлено: 23 Мая, 2016 - 09:27:48
Post Id


Новичок


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


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




Строитель пишет:
cidldx пишет:
Прописывал не помогает.
Я думаю, такой вариант вам подойдёт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $data = dirname(__FILE__) .'/playlist.m3u';
  4.  
  5. if (isset($_POST['qq'])) {
  6.     file_put_contents($data, serialize($_POST['qq']));
  7.     header('Location: '. $_SERVER['PHP_SELF']);
  8.     exit;
  9. }
  10.  
  11. if (file_exists($data)) {
  12.     $names = unserialize(file_get_contents($data));
  13.     if (!empty($names)) {
  14.         echo '<b>Вы записали в плейлист следующие файлы:</b><br />'.
  15.             join('<br />', $names);
  16.     } else {
  17.         echo '<b>Записей нет!</b><br />';
  18.     }
  19. }
  20.  
  21. ?>
  22.  
  23. <hr />
  24. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  25.     <? foreach (glob('*.mp3') as $file) : ?>
  26.     <input type="checkbox" name="qq[]" value="<?=$file?>" /><?=$file?>    
  27.     <? endforeach ?>
  28.     <input type="submit" value="Записать в плейлист" />
  29. </form>
  30.  

(Добавление)
Этот код нужно сохранить в пхп-файл, а файл поместить в директорию с мп3-файлами.


Ответ сервера Огорчение Уже весь интернет вырыл не знаю в чем проблема.

CODE (code):
скопировать код в буфер обмена
  1. Notice: Undefined variable: file in /var/www/html/str.php on line 26
 
 Top
3d_killer
Отправлено: 23 Мая, 2016 - 09:35:36
Post Id



Участник


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


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




var_dump($_POST); что там

(Отредактировано автором: 23 Мая, 2016 - 09:37:18)

 
My status
 Top
cidldx
Отправлено: 23 Мая, 2016 - 13:45:56
Post Id


Новичок


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


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




3d_killer пишет:
var_dump($_POST); что там

Не понял. Подробнее если можно.
(Добавление)
Кстати я думаю это важно. По нажатию кнопки в строке браузера пишет
CODE (URL):
скопировать код в буфер обмена
  1. example.com/<?%20$_SERVER[%27PHP_SELF%27]%20?>
 
 Top
3d_killer
Отправлено: 23 Мая, 2016 - 15:54:17
Post Id



Участник


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


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




 
My status
 Top
cidldx
Отправлено: 23 Мая, 2016 - 17:16:49
Post Id


Новичок


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


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




Подкоретировал код
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = 'playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.  file_put_contents($data, serialize($_POST['qq']));
  6.  header('Location: '. $_SERVER['PHP_SELF']);
  7.  exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.  echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.  file_put_contents($file22, "/var/www/http/" . $name . "\r\n" , FILE_APPEND);
  14.  echo $name .'<br />';
  15. }
  16. ?>
  17. <hr />
  18. <form action= "12.php" method="POST">
  19.     <?PHP foreach (glob('*') as $all) :  ?>
  20.         <input type="checkbox" name='qq[]'  value=<?PHP '$all'  ?>  <br />  <?PHP '$all' ?> <br />  <?PHP endforeach ?>
  21.  <input type="submit" value="Записать в плейлист" />
  22. </form>
  23. <?PHP
  24. {
  25.    echo "$all  <br />\r\n ";
  26. }
  27. var_dump ($all);
  28. ?>
  29.  

в браузер приходит так
CODE (html):
скопировать код в буфер обмена
  1. <strong>Вы записали в плейлист следующие файлы:</strong> <br/><b<br /><b<br /><hr />
  2. <form action= "12.php" method="POST">
  3.             <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />   <input type="submit" value="Записать в плейлист" />
  4. </form>
  5. upload.php   string(10) "upload.php"


В денвере тот же код работает. Вот пример 1 чекбокса

CODE (html):
скопировать код в буфер обмена
  1. <input type="checkbox" name="qq[]" value="upload.php" <br />  upload.php  <br />


Как я понимаю он не дает в форму "$all" . Однако чекбоксы создает и ровно столько сколько папок и файлов в директории но как видно из html кода (который приходит в браузер), я вижу пустые чекбоксы в стлбец выбрав поставив 3 галочки в файл playlist.m3u записвается
CODE (Code):
скопировать код в буфер обмена
  1. /var/www/http/<br
  2. /var/www/http/<br
  3. /var/www/http/<br
  4.  


Пробовал убрать <br /> остается 1 чекбокс.


Щас оставил в 20 строке так
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="checkbox" name='qq[]'  value=<?PHP '$all'  ?>  >  <?PHP '$all' ?> <br />  <?PHP endforeach ?>

В playlist.m3u пишет
CODE (Code):
скопировать код в буфер обмена
  1. /var/www/http/
  2. /var/www/http/


Что может быть??

(Отредактировано автором: 23 Мая, 2016 - 17:37:35)

 
 Top
cidldx
Отправлено: 23 Мая, 2016 - 23:40:32
Post Id


Новичок


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


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




Хочу выразить огромную благодарность Строителю!
Исходный код помог написать именно он!

Ловите готовый скрипт (осталось чуть подкоректировать чтоб пути не писал в html, но это уже мелоч)

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = '/home/[i]ИМЯ[/i]/upload/playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.  file_put_contents($data, serialize($_POST['qq']));
  6.  header('Location: '. $_SERVER['PHP_SELF']);
  7.  exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.  echo "<strong>Файлы в плейлисте:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.  file_put_contents($file22, $name . "\r\n" , FILE_APPEND);
  14.  echo $name .'<br />';
  15. }
  16. ?>
  17. <hr />
  18. <form action= "playlist.php" method="POST">
  19.     <?PHP foreach (glob('/home/[i]ИМЯ[/i]/upload/*.mp4') as $all) :  ?>
  20.         <input type="checkbox" name='qq[]'  value="<?PHP echo  $all;  ?>"  > <?PHP echo $all; ?> <br />  <?PHP endforeach ?>  <input type="submit" value="Записать в плейлист" />
  21. </form>
  22. <a href="index.html">Выйти на главную</a>


Проблема была в том что value надо писать с <?PHP?> а не просто <??> и конечно же echo Радость

Вопрос можно считать закрытым. Надеюсь данная тема кому нибудь поможет.

(Отредактировано автором: 23 Мая, 2016 - 23:44:55)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB