Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > PHP

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 25.05.2009, 11:16   #1
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
Question Создаю опросник шаг за шагом

Решил создать свой опросник для сайта с "0", так как ничто так не запоминается, как то, что написано своими руками ;)

для начала создал форму:

Код HTML:
<form action="" method=post  NAME="voting" ID="voting"> 

	<table WIDTH="138" BORDER="0" CELLPADDING="0" CELLSPACING="0">
		<tr>
			<td width="100%" COLSPAN="2" VALIGN="MIDDLE"  CLASS="orderheader">Нам интересно ваше мнение
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_1" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 1</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_2" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 2</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_3" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 3</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_4" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 4</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="guest_5" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 5</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_6" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 6</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_7" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 7</font>
			</td>
		</tr>
		<tr>
			<td valign="TOP" CLASS="textLeft">
				<input name="radiobutton" type="radio" value="quest_8" />
			</td>
			<td valign="TOP" CLASS="textLeft"><font class="textleft">вопрос 8</font>
			</td>
		</tr>
		<tr>
			<td colspan="2" valign="TOP" CLASS="textTools">&nbsp;
			</td>
		</tr>
		<tr>
			<td colspan="2" valign="TOP" CLASS="textTools">
			<a onmouseout="MM_nbGroup('out');" onmouseover="MM_nbGroup('over','vote2_r2_c2','img/vote-2_r2_c2_f2.png','img/vote-2_r2_c2_f3.png',1);" onclick="MM_nbGroup('down','navbar1','vote2_r2_c2','img/vote-2_r2_c2_f3.png',1);"><img name="vote2_r2_c2" src="img/vote-2_r2_c2.png" width="125" height="33" border="0" id="vote2_r2_c2" alt="Голосовать" /></a>
			</td>
		</tr>
		<tr>
		<td colspan="2" valign="TOP" CLASS="textTools"><a ahref="">РЕЗУЛЬТАТЫ</a></td>
теперь вопрос:
что делать далее? думал не заморачиваться с мускулом, а записывать результат в текстовый файл:

строка 1: "вопрос_1";1
строка 2: "вопрос_2";0
строка 3: "вопрос_3";16
...
строка 8: "вопрос_3";11

и т.д.

но, как потом получать значение и добавлять к нему "1"?
или лучше писать в mySQL?
Pazan вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Обручальное кольцо из белого золота с керамикоймузей пряника москва - RedKassa.ru3д печать в москвеnd-isr-22с-v/xунф и телеграмм


Старый 25.05.2009, 17:45   #2
errante
Постоялец
 
Пол:Мужской
Регистрация: 25.03.2005
Сообщений: 789
Репутация: 788
По умолчанию Re: Создаю опросник шаг за шагом

ИМХО. mySQL - лучше, но есть минус, создавать доп. таблицу, можно продумать конечноже универсальную, но это будет зависить от того как часто ты будешь менять свои опросники.

Можно и текстовый файл, но в нем просто разместить значения, нет смысла указывать вопрос1, вопрос2 и т.д. Только значения, каждая строка соответсвует номеру вопроса (это в скрипте пропишешь) и тогда не будет вопроса о том как добавить 1, просто получить данные из формы, открыть файл, считать необходимую строчку (значение), добавить 1, записать в файл.
errante вне форума
 
Ответить с цитированием Вверх
Старый 25.05.2009, 19:18   #3
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

остановлюсь пока на файле, а вот что нацепить на кнопку для записи в файл в событие submit?
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 25.05.2009, 21:08   #4
errante
Постоялец
 
Пол:Мужской
Регистрация: 25.03.2005
Сообщений: 789
Репутация: 788
По умолчанию Re: Создаю опросник шаг за шагом

Скрип, который будет выполнять необходимые действия.

твоя строчка:
Код HTML:
<form action="" method=post  NAME="voting" ID="voting">
должна выглядеть приблизительно так:
Код HTML:
<form name="question" method="post" action="question.php" >
question.php - файл который и будет обрабатывать введеные данные, открывать созданный файл (с таблицей было бы проще), считывать значения, изменять необходимую строчку, сохранять файл, возвращать итоговые данные, кроме того необходима защита от голосований с одного соединения, IP или еще по каким либо параметрам, возможны различные ограничения.

Не ленись, попробуй разобрать чужие скрипты голосования, в инете навалом, как сложных, так и самых простых, в зависимоти от различных примочек, зато станет более понятно как это все организовать.

Кроме того, твою форму можно сократить по средствам правильного использования CSS, в ней много лишнего: valign="TOP" и CLASS="textLeft" - чуть ли не в каждой строчке и каждом тэге - решается 2 строчками CSS, да и от таблицы можно избавиться.
А вот это:
Код HTML:
<font class="textleft">
- вообще какое-то извращение.

Последний раз редактировалось errante; 25.05.2009 в 21:53..
errante вне форума
 
Ответить с цитированием Вверх
Старый 26.05.2009, 10:04   #5
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

Цитата:
Сообщение от errante Посмотреть сообщение
твоя строчка:
Код HTML:
<form action="" method=post  NAME="voting" ID="voting">
должна выглядеть приблизительно так:
Код HTML:
<form name="question" method="post" action="question.php" >

1. если сделать всё в одном файле, тогда всё равно указывать имя файла в action?
2. разница в имени формы моя NAME="voting" и name="question" чем обусловлена?
Цитата:
Сообщение от errante Посмотреть сообщение
(с таблицей было бы проще)..., кроме того необходима защита от голосований с одного соединения, IP или еще по каким либо параметрам, возможны различные ограничения.

с таблицей пробовал... чёй-то не получается. поэтому решил с файлом мутить.
Цитата:
Сообщение от errante Посмотреть сообщение
Не ленись, попробуй разобрать чужие скрипты голосования, в инете навалом... так и самых простых...

мож подкинешь ссылку на ресурс?
Цитата:
Сообщение от errante Посмотреть сообщение
Кроме того, твою форму можно сократить по средствам правильного использования CSS, в ней много лишнего...

форма будет входить в другой файл, где тэги уже определены списком стилей, да и не это сейчас волнует...
Цитата:
Сообщение от errante Посмотреть сообщение
А вот это:
Код HTML:
<font class="textleft">
- вообще какое-то извращение.

там вместо font должен быть span
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 26.05.2009, 14:26   #6
RichDad
Пользователь
 
Пол:Мужской
Регистрация: 12.03.2008
Сообщений: 62
Репутация: 12
По умолчанию Re: Создаю опросник шаг за шагом

у тебя код что ли не влез? не вижу где кнопка отправить внизу?
Код:
<input type="submit">
вверху кода все-таки напиши адрес скрипта типа <form name="voting" method="post" action="question.php" >

смени value для всех радиокнопок с "quest_1", "quest_2".... на "1", "2" и т.д. То есть убери quest_

тогда в question.php код:
Код:
<?
$inp = file('rez.txt');
$f=explode(';',$inp[0]);
foreach($f as $key=>$str) {
  $xx = explode(':',$str);
  if ($xx[0]==$_POST['radiobutton']) $xx[1]=$xx[1]+1;
  $f[$key]=$xx[0].':'.$xx[1];
}
$ff = fopen('rez.txt','w');
fputs($ff,implode(';',$f));
?>
файл rez.txt вначале выглядит так:
Код:
1:0;2:0;3:0;4:0;5:0;6:0;7:0;8:0
тут первая цифра - номер вопроса, затем через двоеточие количество ответов, через точку с запятой другие вопросы

проверил. работает

Последний раз редактировалось RichDad; 26.05.2009 в 14:27.. Причина: код исправил
RichDad вне форума
 
Ответить с цитированием Вверх
Старый 26.05.2009, 17:29   #7
errante
Постоялец
 
Пол:Мужской
Регистрация: 25.03.2005
Сообщений: 789
Репутация: 788
По умолчанию Re: Создаю опросник шаг за шагом

Цитата:
Сообщение от Pazan Посмотреть сообщение
разница в имени формы моя NAME="voting" и name="question" чем обусловлена?

ничем. это просто пример.


Цитата:
Сообщение от Pazan Посмотреть сообщение
с таблицей пробовал... чёй-то не получается. поэтому решил с файлом мутить.

А че тут мутить, на вскидку, четыре графы id, номер опроса, сам вопрос, значение.
может использоваться как для единичного опросника, так и для ахива опросников.
Подключаемся к базе, считываем самое большое значение графы Номер опроса, выводим Сами вопроса для которых Номер опроса соответсвует выбранному.

Цитата:
Сообщение от Pazan Посмотреть сообщение
мож подкинешь ссылку на ресурс?

Да их навалом, какчать и смотреть скрипты просто лень , в яше или гугле запрос: скачать скрипты или бесплатный каталог скриптов и т.д., если проблема со знанием англ. языка, то лучше качать отечественные т.к. очень часто присутствует справка по скрипту и его описание.

Цитата:
Сообщение от Pazan Посмотреть сообщение
там вместо font должен быть span

нет. у тебя есть тэги <td>, <table>, <input> и др., ты можешь в CSS указать для них размер шрифта, цвет и т.д., и не использовать <font class="xxx">. Просто если делать, и делать для того что бы научиться то делать нужно правильно, иначе потом придется переучиваться.

Цитата:
Сообщение от RichDad Посмотреть сообщение
у тебя код что ли не влез? не вижу где кнопка отправить внизу?

Он ее попытался заменить этим
Код HTML:
<td colspan="2" valign="TOP" CLASS="textTools">
<a (java события)>
<img name="vote2_r2_c2" src="img/vote-2_r2_c2.png" width="125" height="33" border="0" id="vote2_r2_c2" alt="Голосовать" />
</a>
</td>
опять же, если хочется чтобы кнопочка была необчной для Голосования,
то это решается через CSS

Код HTML:
<INPUT type="submit" class="go">

CSS
input.go 
{
background:url(../img/go.gif) no-repeat;border:none; cursor:pointer; width: 38px; height:25px;
}
Кнопка будет ввиде изображения go.gif.
Если хочется чтобы кнопка менялась при наведении мыши, то это тоже решаемо.

Последний раз редактировалось errante; 26.05.2009 в 17:43..
errante вне форума
 
Ответить с цитированием Вверх
Старый 27.05.2009, 09:29   #8
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

Цитата:
Сообщение от RichDad Посмотреть сообщение
не вижу где кнопка отправить внизу?

Код HTML:
<a onmouseout="MM_nbGroup('out');" onmouseover="MM_nbGroup('over','vote2_r2_c2','img/vote-2_r2_c2_f2.png','img/vote-2_r2_c2_f3.png',1);" onclick="MM_nbGroup('down','navbar1','vote2_r2_c2','img/vote-2_r2_c2_f3.png',1);"><img name="vote2_r2_c2" src="img/vote-2_r2_c2.png" width="125" height="33" border="0" id="vote2_r2_c2" alt="Голосовать" /></a>
Цитата:
Сообщение от RichDad Посмотреть сообщение
проверил. работает

спасибо!
сейчас буду думать, как получить результаты голосования + всего голосов.

Добавлено через 6 минут
Цитата:
Сообщение от errante Посмотреть сообщение
ет. у тебя есть тэги <td>, <table>, <input> и др., ты можешь в CSS указать для них размер шрифта,

объясняю -- этот файл с формой (vote.php) входит в другой файл (require('vote.php');), где тЭги таблиц и формы уже определены в CSS, поэтому такое извращение здесь, что приходится указывать стили непосредственно. сама форма работает отлично. проблема была в скрипте голосований

Последний раз редактировалось Pazan; 27.05.2009 в 09:36.. Причина: Добавлено сообщение
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 28.05.2009, 10:23   #9
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

RichDad,
а можно построчно прокомментировать код скрипта, а то не совсем ясен обратный вариант: выделения данных из строки номер_вопроса:данные;
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 28.05.2009, 13:26   #10
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

и вставить их сюда:

Код HTML:
echo '<table width="138" border="0" cellspacing="0" cellpadding="0">
		<tr>
			<td colspan="2" valign="TOP">
				Результаты опроса
			</td>
		</tr>
		<tr>
			<td valign="TOP">
				Визитки:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '			</td>
		</tr>
		<tr>
			<td valign="TOP">
				Интернет:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				Пресса:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				Радио:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				ТВ:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				Друзья, знакомые:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				Наружная реклама:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				Другие источники:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '		</td>
		</tr>
		<tr>
			<td valign="TOP">
				Всего голосов:
			</td>
			<td valign="TOP">';
echo			[данные];
echo '			</td>
		</tr>
	</table>';
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 30.05.2009, 00:55   #11
RichDad
Пользователь
 
Пол:Мужской
Регистрация: 12.03.2008
Сообщений: 62
Репутация: 12
По умолчанию Re: Создаю опросник шаг за шагом

это загрузили список в память:
Код:
$inp = file('rez.txt');
$f=explode(';',$inp[0]);
это берем нужное нам значение (в этом примере $i - это интегер счетчик по вариантам):
Код:
$xx = explode(':',$f[$i]);
теперь в $xx лежит комбинация из номера ответа и количества ответов. Выводим это на экран:
Код:
echo "Вопрос номер ".$xx[0]." имеет ".$xx[1]." голосов";
у меня в примере конструкция

foreach($f as $key=>$str) {
...
}

нужна для перебора всех вопросов без указания нужного нам (то есть без $i).

то есть в твоем примере применительно к этому коду будет вот так:
Код:
			<td valign="TOP">
				Визитки:
			</td>
			<td valign="TOP">';
$xx = explode(':',$f[0]);
echo			$xx[1];
echo '			</td>
		</tr>
и т.д. меняется только номер в [ ] у переменной $f
RichDad вне форума
 
Ответить с цитированием Вверх
Старый 30.05.2009, 13:16   #12
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

RichDad,
разъяснил супер, молодец!
после выходных попробую
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 02.06.2009, 09:43   #13
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

RichDad,
Всё работает. Ещё раз спасибо.
Pazan вне форума
 
Ответить с цитированием Вверх
Старый 02.06.2009, 20:54   #14
RichDad
Пользователь
 
Пол:Мужской
Регистрация: 12.03.2008
Сообщений: 62
Репутация: 12
По умолчанию Re: Создаю опросник шаг за шагом

Цитата:
Сообщение от Pazan Посмотреть сообщение
RichDad,
Всё работает. Ещё раз спасибо.

с тебя пиво при встрече
RichDad вне форума
 
Ответить с цитированием Вверх
Старый 03.06.2009, 14:23   #15
Pazan
Пользователь
 
Аватар для Pazan
 
Пол:Мужской
Регистрация: 01.09.2007
Сообщений: 67
Репутация: 3
По умолчанию Re: Создаю опросник шаг за шагом

RichDad,
за мной не заржавеет
продолжаю усложнять жизнь с опросником.
нужно 2 весчи:
1. при клике на "сабмит" занести в куки "1" с временем жизни 3600 сек. и при повторном голосовании проверять куки и сообщить, типа, вы уже голосовали бла-бла-бла...
2. как-то проверить, чтобы юзер НЕ голосовал без выбора варианта...

и, думаю, тема опросника будет исчерпана
Pazan вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создаю Хостинг Garceg Настраиваем собственный хостинг 7 13.12.2013 12:17
Cоздаю веб-шоп витрину шаг за шагом Pazan PHP 6 18.07.2009 13:38
Английский язык шаг за шагом. momok Различные ссылки 0 28.06.2005 18:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:12. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.07934 секунды с 11 запросами