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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как передать обработчику данные?
Pitmen
Отправлено: 16 Июля, 2009 - 09:33:52
Post Id


Новичок


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


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




Нужно форуму на phpBB добавить кнопку в теме которая бы при нажатии отправляла в базу данные о том кто нажал, когда, какая тема и последнее сообщение в этой теме, что бы потом можно бы ло бы посмотреть кто когда отметился.
Кнопку сделал, сделал файл обработчик, добавил новые таблицы к базе данных, но стлкнулся с тем, что не могу разобраться в этом форуме, что передавать обработчику? Сами данные я так понял нужно передать через скрытые поля в форме, но где их взять? Может кто что подскажет?
 
 Top
Anton63
Отправлено: 16 Июля, 2009 - 09:49:01
Post Id


Новичок


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


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




В форме для каждого эллемента есть name - имя переменной которая будет передоваться... через action указываем какому файлу эти переменные будут переданы... Данные кто нажал на кнопку передаются через сессию или куки...
Вроде как то так...
 
 Top
Pitmen
Отправлено: 16 Июля, 2009 - 12:55:36
Post Id


Новичок


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


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




Про 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. Что делать, какой уже день голову ломаю?
 
 Top
Anton63
Отправлено: 16 Июля, 2009 - 13:03:24
Post Id


Новичок


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


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




При добавлении данных в БД вместо
напиши
И пропиши <form method='POST'> в форме для отправки...

(Отредактировано автором: 16 Июля, 2009 - 13:04:21)

 
 Top
Champion Супермодератор
Отправлено: 16 Июля, 2009 - 13:06:22
Post Id



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


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


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




Anton63 пишет:
напиши
VALUES ('$_POST[topic]')
А лучше пиши как писал, только
$topic = mysql_escape_string($_POST['topic']);
 
 Top
Pitmen
Отправлено: 16 Июля, 2009 - 13:51:44
Post Id


Новичок


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


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




Champion пишет:
А лучше пиши как писал, только
$topic = mysql_escape_string($_POST['topic']);

Спасибо, так и сделал, всё заработало, только странно в базе каракули какие то, а выводится через
нормально. А можно обьяснить что было не так? Я просто только разбираюсь, хочется понять.
Вот только в страку Ddate всё так записывает нули, а надо бы время и дату, и как теперь занесть пользователя по такому принципу?
 
 Top
Champion Супермодератор
Отправлено: 16 Июля, 2009 - 14:05:55
Post Id



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


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


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




Pitmen пишет:
что было не так?
посмотри, что такое register_globals. А по поводу даты: а где она у тебя вообще заносится? И о каракулях в базе: пользуйся запросом set names 'кодировка' сразу после подключения. И посмотри, какая кодировка стоит у того поля, в которое ты вносишь данные. Кодировка поля и строки, которую ты вставляешь должны совпадать.
 
 Top
Pitmen
Отправлено: 16 Июля, 2009 - 14:36:56
Post Id


Новичок


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


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




Champion пишет:
А по поводу даты: а где она у тебя вообще заносится?

Да вот в том то и дело что понять не могу откуда её взять, это форум на phpBB. Вот немогу понять как вытащить данные пользователя и время с датой, что бы их отправить в обработчик.
 
 Top
Champion Супермодератор
Отправлено: 16 Июля, 2009 - 14:42:24
Post Id



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


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


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




Что-то я понять тебя не могу. А что за дата? Что она обозначает?
 
 Top
Pitmen
Отправлено: 16 Июля, 2009 - 15:28:52
Post Id


Новичок


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


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




Champion пишет:
Что-то я понять тебя не могу. А что за дата? Что она обозначает?

Время когда человек на кнопку нажал, у меня кнопка "отметить тему как прочитанную", так вот хочется что бы потом можно было бы посмотреть когда человек отметил тему.
 
 Top
Champion Супермодератор
Отправлено: 16 Июля, 2009 - 15:57:29
Post Id



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


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


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




nтакпросто вставь CURRENT_TIMESTAMP в то поле, в котором оно должно храниться
 
 Top
Pitmen
Отправлено: 16 Июля, 2009 - 16:19:56
Post Id


Новичок


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


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




Что то не помогло..
 
 Top
Champion Супермодератор
Отправлено: 16 Июля, 2009 - 16:46:12
Post Id



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


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


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




А как ты сделал?
 
 Top
Pitmen
Отправлено: 16 Июля, 2009 - 16:53:06
Post Id


Новичок


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


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




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
 
 Top
Champion Супермодератор
Отправлено: 16 Июля, 2009 - 16:56:08
Post Id



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


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


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




INSERT INTO таблицы (поле_с_датой) VALUES (CURRENT_TIMESTAMP) Вот прям вот так
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB