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.SU » PHP » Программирование на PHP » Немогу понять!

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

1. Pitmen - 16 Июля, 2009 - 09:33:52 - перейти к сообщению
Нужно форуму на phpBB добавить кнопку в теме которая бы при нажатии отправляла в базу данные о том кто нажал, когда, какая тема и последнее сообщение в этой теме, что бы потом можно бы ло бы посмотреть кто когда отметился.
Кнопку сделал, сделал файл обработчик, добавил новые таблицы к базе данных, но стлкнулся с тем, что не могу разобраться в этом форуме, что передавать обработчику? Сами данные я так понял нужно передать через скрытые поля в форме, но где их взять? Может кто что подскажет?
2. Anton63 - 16 Июля, 2009 - 09:49:01 - перейти к сообщению
В форме для каждого эллемента есть name - имя переменной которая будет передоваться... через action указываем какому файлу эти переменные будут переданы... Данные кто нажал на кнопку передаются через сессию или куки...
Вроде как то так...
3. Pitmen - 16 Июля, 2009 - 12:55:36 - перейти к сообщению
Про name я знаю, но не могу понять что там вписать что бы передалось название топика, время и дату, и данные писавшего.
Сделал вот так:
В отправке
CODE (text):
скопировать код в буфер обмена
  1. <input type="hidden" name="topic"

в принимающем
PHP:
скопировать код в буфер обмена
  1. $db = mysql_connect("phpBBlight","phpBBlight","phpBBlight");
  2.  mysql_select_db("phpBBlight",$db);
  3.  $result = mysql_query ("INSERT INTO phpBBlight_otmet (id_topick) VALUES ('$topic')");
  4.   if ($result == 'true')
  5. {
  6. echo "Информация в базу добавлена успешно!";
  7.  
  8. }
  9. else
  10. {
  11. echo "Информация в базу не добавлена!";
  12. }

Выводит что инфа добавленна успешно, но в базу заносит 0000-00-00 00:00:00 и в строку Ddate а не в id_topick. Что делать, какой уже день голову ломаю?
4. Anton63 - 16 Июля, 2009 - 13:03:24 - перейти к сообщению
При добавлении данных в БД вместо
напиши
PHP:
скопировать код в буфер обмена
  1. VALUES ('$_POST[topic]')

И пропиши <form method='POST'> в форме для отправки...
5. Champion - 16 Июля, 2009 - 13:06:22 - перейти к сообщению
Anton63 пишет:
напиши
VALUES ('$_POST[topic]')
А лучше пиши как писал, только
$topic = mysql_escape_string($_POST['topic']);
6. Pitmen - 16 Июля, 2009 - 13:51:44 - перейти к сообщению
Champion пишет:
А лучше пиши как писал, только
$topic = mysql_escape_string($_POST['topic']);

Спасибо, так и сделал, всё заработало, только странно в базе каракули какие то, а выводится через
нормально. А можно обьяснить что было не так? Я просто только разбираюсь, хочется понять.
Вот только в страку Ddate всё так записывает нули, а надо бы время и дату, и как теперь занесть пользователя по такому принципу?
7. Champion - 16 Июля, 2009 - 14:05:55 - перейти к сообщению
Pitmen пишет:
что было не так?
посмотри, что такое register_globals. А по поводу даты: а где она у тебя вообще заносится? И о каракулях в базе: пользуйся запросом set names 'кодировка' сразу после подключения. И посмотри, какая кодировка стоит у того поля, в которое ты вносишь данные. Кодировка поля и строки, которую ты вставляешь должны совпадать.
8. Pitmen - 16 Июля, 2009 - 14:36:56 - перейти к сообщению
Champion пишет:
А по поводу даты: а где она у тебя вообще заносится?

Да вот в том то и дело что понять не могу откуда её взять, это форум на phpBB. Вот немогу понять как вытащить данные пользователя и время с датой, что бы их отправить в обработчик.
9. Champion - 16 Июля, 2009 - 14:42:24 - перейти к сообщению
Что-то я понять тебя не могу. А что за дата? Что она обозначает?
10. Pitmen - 16 Июля, 2009 - 15:28:52 - перейти к сообщению
Champion пишет:
Что-то я понять тебя не могу. А что за дата? Что она обозначает?

Время когда человек на кнопку нажал, у меня кнопка "отметить тему как прочитанную", так вот хочется что бы потом можно было бы посмотреть когда человек отметил тему.
11. Champion - 16 Июля, 2009 - 15:57:29 - перейти к сообщению
nтакпросто вставь CURRENT_TIMESTAMP в то поле, в котором оно должно храниться
12. Pitmen - 16 Июля, 2009 - 16:19:56 - перейти к сообщению
Что то не помогло..
13. Champion - 16 Июля, 2009 - 16:46:12 - перейти к сообщению
А как ты сделал?
14. Pitmen - 16 Июля, 2009 - 16:53:06 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. <form action="otmetca.php" method="post" id="otmet" name="otmet"><input type="hidden" name="CURRENT_TIMESTAMP" value="">....
это в отправке а в обработчике
PHP:
скопировать код в буфер обмена
  1. $taim = mysql_escape_string($_POST['CURRENT_TIMESTAMP']);
  2. echo  $taim
  3.  

выводит просто $taim
15. Champion - 16 Июля, 2009 - 16:56:08 - перейти к сообщению
INSERT INTO таблицы (поле_с_датой) VALUES (CURRENT_TIMESTAMP) Вот прям вот так

 

Powered by ExBB FM 1.0 RC1