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 :: проблема с radiobutton

 PHP.SU

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


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

> Описание: не могу получить значение radiobutton с листа HTML и записать его в базу
MisterX_
Отправлено: 06 Марта, 2012 - 16:03:24
Post Id


Новичок


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


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




[code=html][/code]
form name="form1" method="post" action="insert_data.php">
<p>
<input name="radiobutton" type="radio" value="yes">
Да
<input name="radiobutton" type="radio" value="no">
Нет</p>
<hr size="1">
</form>

<form action="" method=post>
<input name="Проголосовать" type=submit value="Проголосовать">
</form>

<?php


if ($_POST['Проголосовать'] == true){

include ('connect.php');

include ('insert_data.php');

}


?>


[PHP][/PHP]
<?php

$var=$_POST["var"];

if ($_POST['radiobutton']==="yes")
$var=1;
if ($_POST['radiobutton']==="no")
$var=2;

$ip = $_SERVER['REMOTE_ADDR'];
$sql = 'INSERT INTO opros(art, var, ip) VALUES("'.$var.'", "'.$ip.'")';

if(!mysql_query($sql))
{echo '<center><p><b>Oshibka pri dobavlenii dannix!</b></p></center>';}
else
{echo '<center><p><b>Dannie dobavleni!</b></p></center>';}
?>

(Отредактировано автором: 06 Марта, 2012 - 16:04:55)

 
 Top
Hidalgo
Отправлено: 06 Марта, 2012 - 16:11:40
Post Id



Частый гость


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


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




так прокатит?
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. form name="form1" method="post" action="insert_data.php">
  3. <p>
  4. <input name="radiobutton" type="radio" value="yes">
  5. Да
  6. <input name="radiobutton" type="radio" value="no">
  7. Нет</p>
  8. <hr size="1">
  9. <input name="vote" type=submit value="Проголосовать">
  10. </form>
  11.  
  12. <?php
  13.  
  14.  
  15. if (isset($_POST['vote'])
  16. {
  17.  
  18. include ('connect.php');
  19.  
  20. include ('insert_data.php');
  21.  
  22. if ($_POST['radiobutton']=="yes")
  23. {
  24. $var=1;
  25. }
  26. if ($_POST['radiobutton']=="no")
  27. {
  28. $var=2;
  29. }
  30. $ip = $_SERVER['REMOTE_ADDR'];
  31. $sql = 'INSERT INTO opros(art, var, ip) VALUES("'.$var.'", "'.$ip.'")';
  32.  
  33. if(!mysql_query($sql))
  34. {echo '<center><p><b>Oshibka pri dobavlenii dannix!</b></p></center>';}
  35. else
  36. {echo '<center><p><b>Dannie dobavleni!</b></p></center>';}
  37. }
  38. ?>

(Отредактировано автором: 06 Марта, 2012 - 16:17:43)

 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 08:03:58
Post Id


Новичок


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


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




Этот кусок и есть файл insert_data.php. который я вызываю при помощи include


[PHP][/PHP]
<?php

$var=$_POST["var"];

if ($_POST['radiobutton']==="yes")
$var=1;
if ($_POST['radiobutton']==="no")
$var=2;

$ip = $_SERVER['REMOTE_ADDR'];
$sql = 'INSERT INTO opros(art, var, ip) VALUES("'.$var.'", "'.$ip.'")';

if(!mysql_query($sql))
{echo '<center><p><b>Oshibka pri dobavlenii dannix!</b></p></center>';}
else
{echo '<center><p><b>Dannie dobavleni!</b></p></center>';}
?>
 
 Top
Hidalgo
Отправлено: 07 Марта, 2012 - 09:37:16
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST['vote'])
  3. {
  4.  
  5. if ($_POST['radiobutton']=="yes")
  6. $var=1;
  7. if ($_POST['radiobutton']=="no")
  8. $var=2;
  9.  
  10. $ip = $_SERVER['REMOTE_ADDR'];
  11. $sql = 'INSERT INTO opros(art, var, ip) VALUES("'.$var.'", "'.$ip.'")';
  12. if(!mysql_query($sql))
  13. {
  14. echo '<center><p><b>Oshibka pri dobavlenii dannix!</b></p></center>';
  15. }
  16. else
  17. {
  18. echo '<center><p><b>Dannie dobavleni!</b></p></center>';
  19. }
  20.  
  21. }
  22. ?>


И в чем проблема? Я же рабочий вариант уже показывал
 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 10:34:44
Post Id


Новичок


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


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




код действительно рабочий
но по некоторым причинам, мне нужно передать значение radiobutton именно в файл insert_data.php при помощи include и там его уже обработать и записать в базу
ну то есть, я могу узнать значение на листе html, а вот как его потом передать файлу-обработчику - вопрос...
тем более что я привел только часть кода файла insert_data, он обрабатывает много полей и заносит их в базу, но кроме radiobutton все поля заполняются нормально (т.к. все поля я получаю непосредственно в обработчике) а вот значение radiobutton мне нужно получить из файла html

(Отредактировано автором: 07 Марта, 2012 - 10:37:34)

 
 Top
Hidalgo
Отправлено: 07 Марта, 2012 - 10:40:46
Post Id



Частый гость


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


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




MisterX_ пишет:
код действительно рабочий
но по некоторым причинам, мне нужно передать значение radiobutton именно в файл insert_data.php при помощи include и там его уже обработать и записать в базу
ну то есть, я могу узнать значение на листе html, а вот как его потом передать файлу-обработчику - вопрос...
тем более что я привел только часть кода файла insert_data, он обрабатывает много полей и заносит их в базу, но кроме radiobutton все поля заполняются нормально (т.к. все поля я получаю непосредственно в обработчике) а вот значение radiobutton мне нужно получить из файла html

при чем тут include?
Вы передаете значение radiobutton методом POST
index.html
CODE (html):
скопировать код в буфер обмена
  1. <form name="form1" method="post" action="insert_data.php">
  2. <p>
  3. <input name="radiobutton" type="radio" value="yes">
  4. Да
  5. <input name="radiobutton" type="radio" value="no">
  6. Нет</p>
  7. <hr size="1">
  8. <input name="vote" type=submit value="Проголосовать">
  9. </form>

insert_data.php
PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.     if (isset($_POST['vote'])
  3.     {
  4.      
  5.     if ($_POST['radiobutton']=="yes")
  6.     $var=1;
  7.     if ($_POST['radiobutton']=="no")
  8.     $var=2;
  9.      
  10.     $ip = $_SERVER['REMOTE_ADDR'];
  11.     $sql = 'INSERT INTO opros(art, var, ip) VALUES("'.$var.'", "'.$ip.'")';
  12.     if(!mysql_query($sql))
  13.     {
  14.     echo '<center><p><b>Oshibka pri dobavlenii dannix!</b></p></center>';
  15.     }
  16.     else
  17.     {
  18.     echo '<center><p><b>Dannie dobavleni!</b></p></center>';
  19.     }
  20.      
  21.     }
  22.     ?>

Я не понимаю в чем у вас проблема...

(Отредактировано автором: 07 Марта, 2012 - 10:41:55)

 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 10:50:13
Post Id


Новичок


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


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




к сожалению, так код не срабатывает
результат - он просто подключается к базе, но ничего не записывает...
собственно Вы выложили самую первую версию моего кода - а потом уже начались пляски с бубном
Получилось у меня в итоге - но очень топорно
Вам в любом случае огромное спасибо за ответы (нажать не забуду)

Есть вот еще один вопрос - можно ли нарисовать на странице небольшой график без подключения дополнительных каких-либо библиотек? Мне нужно вывести Да и Нет - две маленькие горизонтальные полосы разного цвета в определенном месте листа html, данные я буду брать из своей базы - как это сделать, я знаю... а вот как и куда их воткнуть в html, вообще без понятия...

Собственно, вообще я пишу на С#, работаю с БД Oracle - если будут вопросы из этой сферы, пишите - чем смогу помогу

(Отредактировано автором: 07 Марта, 2012 - 11:04:50)

 
 Top
Hidalgo
Отправлено: 07 Марта, 2012 - 10:56:05
Post Id



Частый гость


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


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




MisterX_ пишет:
к сожалению, так код не срабатывает
результат - он просто подключается к базе, но ничего не записывает...
собственно Вы выложили самую первую версию моего кода - а потом уже начались пляски с бубном
Получилось у меня в итоге - но очень топорно
Вам в любом случае огромное спасибо за ответы (нажать не забуду)

Есть вот еще один вопрос - можно ли нарисовать на странице небольшой график без подключения дополнительных каких-либо библиотек? Мне нужно вывести Да и Нет - две маленькие горизонтальные полосы разного цвета в определенном месте листа html, данные я буду брать из своей базы - как это сделать, я знаю... а вот как и куда их воткнуть в html, вообще без понятия...

Скорее всего ошибка в запросе, проверьте запрос к базе
По поводу графиков, я бы сделал картинку шириной 2 px и высота на ваш выбор, а потом подсчитать количество голосов. Сделать к примеру их в процентах от общего кол-ва голосов и задать через width ширину этой самой картинки, в итоге получатся полоски в виде графика в %.
к примеру так:
CODE (html):
скопировать код в буфер обмена
  1. <img src="yes.jpg" width="90%" height="30">
  2. <img src="no.jpg" width="10%" height="30">

(Отредактировано автором: 07 Марта, 2012 - 11:04:23)

 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 11:08:36
Post Id


Новичок


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


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




Это я уже попробовал, спасибо - а как количество голосов сюда вставить?
я имею ввиду, количество голосов должно меняться после голосования и перезагрузки страницы - хотя бы примерно как это написать?
наверное воткнуть в обработку php на листе html? Хоть какой-нибудь пример. Раньше никогда не работал с php, собственно третий день изучаю Улыбка

Да к слову, еще один вопрос, может быть Вы знаете как после того как вывелось сообщение (посредством обработчика insert_data) чтобы оно исчезло через некоторое время

(Отредактировано автором: 07 Марта, 2012 - 11:17:26)

 
 Top
Hidalgo
Отправлено: 07 Марта, 2012 - 11:15:32
Post Id



Частый гость


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


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




MisterX_ пишет:
Это я уже попробовал, спасибо - а как количество голосов сюда вставить?
я имею ввиду, количество голосов должно меняться после голосования и перезагрузки страницы - хотя бы примерно как это написать?
наверное воткнуть в обработку php на листе html? Хоть какой-нибудь пример. Раньше никогда не работал с php, собственно третий день изучаю Улыбка

Напишите структуру БД

MisterX_ пишет:
Да к слову, еще один вопрос, может быть Вы знаете как после того как вывелось сообщение (посредством обработчика insert_data) чтобы оно исчезло через некоторое время

Как вариант сделать редирект обратно на страницу с голосованием.
http://forum.php.su/topic.php?fo...1&topic=4693

(Отредактировано автором: 07 Марта, 2012 - 11:22:03)

 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 11:21:57
Post Id


Новичок


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


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




как-то так...
id var ip
1 1 192.192.192.192
2 1 193.192.192.192
3 2 194.192.192.192




поле var: 1 - да, 2 - нет
(Добавление)
Hidalgo пишет:
Как вариант сделать редирект обратно на страницу с голосованием.


Но собственно я не ухожу с этой страницы. Надпись же появляется прямо на ней... Насколько я понимаю, я просто нажатием вызываю действие из внешнего файла
поэтому, можно это как-то сделать из файла insert_data? т.е. перед окончанием чтобы он выждал и обновил страницу
к сожалению, моя фантазия вставленная в файл insert_data в виде (ниже) не прошла

$time=2;
die("<meta http-equiv='refresh' content='".$time."; url=".$URL."'>");
exit;
 
 Top
Hidalgo
Отправлено: 07 Марта, 2012 - 11:32:43
Post Id



Частый гость


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


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




Подсчет общего кол-ва голосов:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT COUNT(*) FROM table");

В вашем случае это будет число 3. Это 100% всех голосов

к примеру считаем голоса yes
PHP:
скопировать код в буфер обмена
  1. $votes = mysql_query("SELECT COUNT(*) FROM table WHERE var=1");

В вашем случае это будет число 2.

Дальше делаете пропорцию и считаете сколько % проголосовало за

Вставить где нибудь в области head документа:
CODE (html):
скопировать код в буфер обмена
  1. <meta http-equiv="Refresh" content="10; URL=http://www.adress.ru>


10 - это число секунд по истечении которых будет сделан редирект на URL.

(Отредактировано автором: 07 Марта, 2012 - 11:39:54)

 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 11:47:55
Post Id


Новичок


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


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




Собственно как написать запросы я знаю - с базами давно работаю )) мне интересно как полученные данные вставить потом в график - ну то есть каким образом это представить, как обработку php в контексте моего листа html? можно хоть какой-нибудь пример?



<meta http-equiv="Refresh" content="10; URL=http://www.adress.ru>

а это не будет обновлять страницу регулярно?

проблема как раз в том, что www[dot]adress[dot]ru - в моем случае их будет десятков пять, ну то есть у меня есть сквозное голосование на большом количестве страниц, поэтому я ищу нечто унифицированное... Может каким-либо образом просто в конец файла insert_data после echo что-то добавить?

(Отредактировано автором: 07 Марта, 2012 - 12:06:42)

 
 Top
Hidalgo
Отправлено: 07 Марта, 2012 - 12:10:33
Post Id



Частый гость


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


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




MisterX_ пишет:
Собственно как написать запросы я знаю - с базами давно работаю )) мне интересно как полученные данные вставить потом в график - ну то есть каким образом это представить, как обработку php в контексте моего листа html? можно хоть какой-нибудь пример?

Ну все просто же ёмаё Однако
Пропорцию делать в школе я думаю научили?
к примеру имеем переменную с количеством голосов в % $vote_yes = 80 (т.е. 80%)
PHP:
скопировать код в буфер обмена
  1. echo '<img src="yes.jpg" width="'.$vote_yes.'" height="30">';

(Отредактировано автором: 07 Марта, 2012 - 12:17:09)

 
 Top
MisterX_
Отправлено: 07 Марта, 2012 - 12:24:02
Post Id


Новичок


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


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




Угу, не сложно - просто пока трудновато приноровиться к стилю php ))

а yes.jpg можно просто в пэйнте нарисовать насколько я понимаю?

и все же, что можно добавить в файл insert_data после echo чтобы исходная страница, с которой была запущена эта обработка, обновилась?

(Отредактировано автором: 07 Марта, 2012 - 12:30:12)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB