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
Форумы портала PHP.SU :: Версия для печати :: PHP+HTML
Форумы портала PHP.SU » » Вопросы новичков » PHP+HTML

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

1. Uchenik - 07 Сентября, 2011 - 09:25:02 - перейти к сообщению
Начал осваивать подключение форм, ну т.е. чтобы не использовать html коды в php файлах. Подскажите как передать результаты запроса в div. =(
index.php
PHP:
скопировать код в буфер обмена
  1. require "assets/forms/login.htm";
  2. $q="select * from groups";
  3. $r=mysql_query($q);
  4. if($r){while ($m=mysql_fetch_array($r))
  5. $o[]=$m['name'];}

login.htm
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <body>
  3. <div id='auth_login_form'>
  4. <div class='left' id='left'></div>
  5. <div class='right' id='right'></div>
  6. </div>
  7. </body>

Как вывести результат запроса в Left
2. morosit - 07 Сентября, 2011 - 09:46:03 - перейти к сообщению
Uchenik если вы подключаете хтмл так
Uchenik пишет:
require "assets/forms/login.htm";
то login.htm становится частью кода index.php, параметры передавайте в index.php
3. Uchenik - 07 Сентября, 2011 - 10:02:49 - перейти к сообщению
Я это понял, я не могу сообразить как вывести результат запроса в конкретный div
Я вытягиваю из БД все данные из колонки name. Мне теперь нужно все эти имена запихнуть в виде списка в LEFT. Точнее это даже не совсем список будет, это будут радио-кнопки. Если без html все реализовывать то можно просто в самом цикле задать чтобы он выводил их как кнопки, но я не хочу использовать HTML тэги в PHP файлах, хочу научиться подключать форму отдельно
4. -=1100=- - 07 Сентября, 2011 - 10:57:38 - перейти к сообщению
Так это, может JS еще использовать, что то вроде

...
echo("document.getElementById('left').innerHTML='".$o[]."'")
...
5. Uchenik - 07 Сентября, 2011 - 11:07:54 - перейти к сообщению
я не знаю JS. =(
6. Viper - 07 Сентября, 2011 - 11:19:18 - перейти к сообщению
Uchenik html файл это не скрипт. Даже если каким-то чудесным образо вы и сможете туда передать данные, то вам прийдтся настраивать сервер для обработки html файлов как скриптов. Сделайте просто login.php, а внутри используйте html-разметку.
7. Uchenik - 07 Сентября, 2011 - 12:09:30 - перейти к сообщению
Не понимаю.
Зачем в таком случае создавать формы в отдельных html файлах, если всё-равно приходится записывать элементы форм прямо в php
или Viper меня не совсем правильно понял. Я хочу научиться корректно использовать HTML формы. Т.е. я создаю сначала скрипт, он же file.php, в нём пишу всю функциональную часть, дальше создать HTML файл, в котором созданы все необходимые интерфейсные элементы ну там таблицы, кнопки, галочки и прочая чушь.
Теперь мне нужно чтобы всё что обработалось в php выводилось по то разметке, которая настроена в HTML файле, т.е. с учетом всех таблиц, элементов и прочей ереси.
8. Viper - 07 Сентября, 2011 - 12:31:13 - перейти к сообщению
Uchenik это шаблонизация. Вы же не сможете к примеру на основе массива сгенерить список в html файле если этот файл не исполнямый скрипт. Форму то обработать вы сможете без проблем на стороне сервера, т.к. атрибут action указывает куда отсылаются данные.
9. Uchenik - 07 Сентября, 2011 - 12:33:34 - перейти к сообщению
Логично, т.е. я просто в html укажу где находится обработчик формы, а в саму форму передать данные из php не получится? Т.е. я не могу отправить в форму данные вытянутые из БД?
В таком случае мне придётся передалывать немного логику скриптов. Т.е. не передавать туда, а принимать оттуда, так?
10. Viper - 07 Сентября, 2011 - 13:28:59 - перейти к сообщению
Uchenik пишет:
Логично, т.е. я просто в html укажу где находится обработчик формы, а в саму форму передать данные из php не получится?
в стандартном варианте нет. А если с использованием шаблонизации то можно. Но опять же повторяю - файлы будут не form.html, а form.php.

Uchenik пишет:
В таком случае мне придётся передалывать немного логику скриптов. Т.е. не передавать туда, а принимать оттуда, так?
зачем? Возьмите начните с простого шаблона для начала. Ничего особо сложного там нет.

PS! имхо
11. Uchenik - 07 Сентября, 2011 - 14:37:04 - перейти к сообщению
Viper пишет:
PS! имхо

=)
12. Slavenin - 09 Сентября, 2011 - 01:55:18 - перейти к сообщению
Uchenik, стоит понять одну простую вещь - конечный результат работы php скрипта практически всегда строка, за исключением случаев когда кодируется json-объект для js, соответственно с этой строкой можно делать все что угодно в том числе поместить ее куда угодно, но для этого нужно сделать что-то типа

PHP:
скопировать код в буфер обмена
  1. <?PHP $q="select * from groups";
  2. $r=mysql_query($q);
  3. if($r){while ($m=mysql_fetch_array($r))
  4. $o[]=$m['name'];}
  5. ?>
  6.  
  7. <body>
  8. <div id='auth_login_form'>
  9. <div class='left' id='left'>
  10. <?  
  11. $i = 0;
  12. while($o[$i])
  13. {echo $o[$i];$i++;}
  14. ?>
  15. </div>
  16. <div class='right' id='right'></div>
  17. </div>
  18. </body>

для того чтобы у вас динамически выводилась информация в нужных местах, необходимо реализовать механизм ajax запросов при загрузке страницы. т.е грузите страницу js`ом через ajax шлете запрос на сервер и выводите информацию в нужных местах формы. Динамически менять страницы php не умеет.

ps не стоит заморачиваться построением свое шаблонизатора, написание одного языка программирования на другом - занятие бесполезное, ИМХО! Просьба не холиварить по шаблонизаторам!!!
13. Viper - 09 Сентября, 2011 - 07:13:00 - перейти к сообщению
Slavenin пишет:
ps не стоит заморачиваться построением свое шаблонизатора, написание одного языка программирования на другом - занятие бесполезное, ИМХО! Просьба не холиварить по шаблонизаторам!!!
вы правы Улыбка Проще уже MVC юзать Улыбка А не писать костыли для других костылей Улыбка

 

Powered by ExBB FM 1.0 RC1