Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: передать value следующему скрипту
 
 автор: 10100100   (04.04.2006 в 16:03)   письмо автору
 
 

ну собсно делаю голосования, нужно каким нить образом передавать это самое value
голова совсем не варит после рабочего дн, вроде и вопрос то лёгкий а сооразить не могу... тут кажись нжно name передавать да? :)

   
 
 автор: Artemy   (04.04.2006 в 16:21)   письмо автору
 
   для: 10100100   (04.04.2006 в 16:03)
 

Можно каждый раз по ссылке передовать, можно сохранить в сессию или куки.
Выбор за Вами.

   
 
 автор: 10100100   (04.04.2006 в 16:30)   письмо автору
 
   для: Artemy   (04.04.2006 в 16:21)
 

по ссылке - тоесть методом GET? хм... интересно - я об этом не думал...
а насчёт сессий... дело не в самой передаче а передать именно то значение которое соответствовало номеру варианта ответа в таблице... какое конкретно значение передовать надо.. я так думаю сам номер варианта... но в сессиях если передавать то он передаёт почему то не те данные... мож я чего путаю... тяжело соображаю после ночной работы :(

   
 
 автор: 10100100   (05.04.2006 в 04:36)   письмо автору
 
   для: 10100100   (04.04.2006 в 16:03)
 

в общем ситуация следующая... для голосования созаю БД такого вида:

//таблица содержит ID вопроса, сам вопрос, и состояние вопроса, тоесть активен или в архиве.
CREATE TABLE 'quest' (
'id_q' INT NOT NULL AUTO_INCREMENT,
'question' TINYTEXT,
'activ' TINYTEXT,
PRIMARY KEY (id_q)
) TYPE = MYISAM;

//таблица с ответами, содержит ID ответа, ID вопроса к которому ответ, Сам ответ.
CREATE TABLE 'answer' (
'id_a' INT NOT NULL AUTO_INCREMENT,
'id_q' TINYTEXT,
'answer' TINYTEXT,
PRIMARY KEY (id_a)
) TYPE = MYISAM;

//таблица с результатами, содержит ID результата, ID вопроса и ответов к нему, колличество проголосовавшиз за определённый ответ в определённом вопросе.
CREATE TABLE 'results' (
'id_r' INT NOT NULL AUTO_INCREMENT,
'id_q' TINYTEXT,
'id_a' TINYTEXT,
'score' TINYTEXT,
PRIMARY KEY (id_r)
) TYPE = MYISAM;


далее следует код вывода вопросов и вариатнов ответа на экран пользователю:

<?php
include 'config.php';
//выбираем из таблицы с вопросами активный опрос
$query "SELECT * FROM quest WHERE activ='1'"
$ath = @mysql_query($query); 
echo 
'<form action=result.php method=post>'
$quest mysql_fetch_array($ath);
echo 
'<table class=1 cellspacing=o cellpading=0 width=200 bgcolor=EDF6FA><tr><td width=100%  align=center><small>';
//выводим сам вопрос
echo $quest['question'];
//это необходимо чтобы передать инфу в скрытом поле следующему скрипту
$question=$quest['question'];
echo 
'</small></td></tr></table>';
//это для того же.
$id_q $quest['id_q'];
//делаем выборку ответов на указанный вопрос.
 
$query2 "SELECT * FROM answer WHERE id_q='$id_q'"
 
$ath2 = @mysql_query($query2); 
echo 
'<table class=1 cellspacing=o cellpading=0 width=200 bgcolor=ffffff><tr><td width=100%  align=left>';
     WHILE (
$answer mysql_fetch_array($ath2)) {
$id_a $answer['id_a'];
//вот собственно вывод вариантов ответа, думаю здесь то у меня и спряталась ошибка. В имя записываем ID вопроса
echo '<input type=radio name=';
echo 
$id_q;
echo 
'  value=';
//в ответ ставим ID ответа, может здесь и есть ошибка? хм...
echo $id_a;
echo 
'><small>';
//ну собсна вывод ответа
echo $answer['answer'];
echo 
'</small><br>';
                                                }
echo 
'</td></tr></table>';
echo 
'<table class=1 cellspacing=o cellpading=0 width=200 bgcolor=EDF6FA><tr><td width=100%  align=center>';
//а вот тут я вообще не понимаю в чём проблема следующий скрипт не хочет принимать данные которые ему отправляет форма... пишет что мол нету таких данных у него, нотайсами пугает. но когда я открываю HTML код этой страниц (именно этой) то все значения прописаны по этому приходится передавать скрытым полем. 
echo '<input type=hidden name=id_q value=';
echo 
$id_q;
echo 
'>';
echo 
'<input type=hidden name=id_a value=';
echo 
$id_a;
echo 
'>';
echo 
'<input type="Submit" style="background-color:ffffff" value="Голосовать">';
echo 
'</td></tr></table>';
echo 
'</form>';
?> 


вот и всё.... следующий скрипт - обработчик. он всего лишь делает вывод на экран полученых данных по этому не вижу смысла писать его здесь.

   
 
 автор: cheops   (05.04.2006 в 14:08)   письмо автору
 
   для: 10100100   (05.04.2006 в 04:36)
 

Так, а что передать хотите? Добавьте действительно скрытое поле
<imput type=hidden name=value value="значение">

   
 
 автор: 10100100   (05.04.2006 в 15:46)   письмо автору
 
   для: cheops   (05.04.2006 в 14:08)
 

хм :) Игорь Вячеславович, видите ли в чём проблема. если я добавляю такое поле то мне следующий скрипт выводит лишь колличество строк - т.е. 4, а мне нужно какой вариант выбрал пользователь...

   
 
 автор: cheops   (05.04.2006 в 23:23)   письмо автору
 
   для: 10100100   (05.04.2006 в 15:46)
 

Т.е. у вас не предаются значения для радио-кнопок в скрипте приведённом выше? Или проблема заключается в чём-то другом?

   
 
 автор: 10100100   (06.04.2006 в 05:37)   письмо автору
 
   для: cheops   (05.04.2006 в 23:23)
 

да да, проблема именно в этом!!! ккое решение? где копать?

   
 
 автор: cheops   (06.04.2006 в 13:14)   письмо автору
 
   для: 10100100   (06.04.2006 в 05:37)
 

Нужно сделать две вещи
1) Посмотреть исходный HTML-код, который генерирует скрипт (желательно этот файл прикрепить сюда).
2) Распечатать в последнем обработчике содержимое суперглобального массива $_POST
<?php
  
echo "<pre>";
  
print_r($_POST);
  echo 
"</pre>";
?>

   
 
 автор: 10100100   (06.04.2006 в 14:58)   письмо автору
 
   для: cheops   (06.04.2006 в 13:14)
 

всё - спасибо за помощь - сам разобрался - я не те данные передавал. точнее принимал - всем огромное спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования