[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод результата опроса, альтернатива фреймам
pomuc
Привет,
Не судите строго-я только только встал на путь создания своей страницы, поэтому некоторые вопросы могут показаться глупыми. Я просмотрел много материалов для новичков, для создания сайта html.. но по ходу визуализирования своей страницы я понял что простым вариантом я не обойдусь- без интересных PHP скриптов, как голосования, поиски, форум, случайные фото и т.д. уже другая картинка. Итак вопросы

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

-Отсюда второй вопрос: насколько я понял фреймы уже никто не использует. Какие есть варианты? прилагаю картинку для наглядного примера что я хочу

http://s1.ipicture.ru/uploads/20110207/c7w79Y2p.jpg

-хочу интергрировать голосовалку.. скачал скрипт, установил, он мне сгенерировал HTML код,

<form action="http://localhost/oprosnik/vote.php" method="post">
<input
type="hidden" name="poll" value="basepole.cgi" />
<input
type="radio" name="pollanswer" value="3" /> vcbcvbcv<br />
<input
type="radio" name="pollanswer" value="5" /> cxvcxb<br />
<input
type="radio" name="pollanswer" value="7" /> bcxbvcxb<br />
<input
type="submit" value="Vote" /></form>

который я с легкостью поставил в таблицу сайта.. То как изменять его вид-знаю и сделал, но вот вопрос- как сделать чтобы результат голосования был в той же таблице страницы? Прилагаю vote.php с контетнтом результата голосования

Свернутый текст

<?php
}

function Error($error) {
PrintHeader();
echo '<table border="0" cellpadding="5" width="100%" cellspacing="0"><tr><th style="background-color: #A72305; color: #FFFFFF; text-align: left;">Poll Error</th></tr><tr><td>'.$error.'<br /><br />If you have any queries, please contact the webmaster.<br /><br /><a href="javascript:history.back()">Back</a> | <a href="'.$settings['siteurl'].'">Return to Site</a></td></tr></table>';
PrintFooter();
exit;
}

// Perform Basic Checks

if ($_POST['poll'] == "") {
Error ("No poll specified.");
}

if (!file_exists("db/".$_POST['poll'])) {
Error ("Poll does not exist.");
}

if ($_POST['pollanswer'] == "") {
Error ("You did not place a vote.");
}

if ($_POST['pollanswer'] != "3" AND $_POST['pollanswer'] != "5" AND $_POST['pollanswer'] != "7" AND $_POST['pollanswer'] != "9" AND $_POST['pollanswer'] != "11" AND $_POST['pollanswer'] != "13" AND $_POST['pollanswer'] != "15" AND $_POST['pollanswer'] != "17" AND $_POST['pollanswer'] != "19" AND $_POST['pollanswer'] != "21") {
Error ("You did not place a valid vote.");
}

// Open the Poll File
$filep = fopen ("db/".$_POST['poll'], "r");
$contents = fread ($filep, filesize ("db/".$_POST['poll']));
fclose ($filep);
$contents = explode("|", $contents);

if ($contents['1'] == "0") {
Error ("This poll is locked. You cannot vote on a locked poll.");
}

// Add the vote..
switch ($_POST['pollanswer']) {
case '3':
++
$contents['4'];
break;
case '5':
++
$contents['6'];
break;
case '7':
++
$contents['8'];
break;
case '9':
++
$contents['10'];
break;
case '11':
++
$contents['13'];
break;
case '13':
++
$contents['14'];
break;
case '15':
++
$contents['16'];
break;
case '17':
++
$contents['18'];
break;
case '19':
++
$contents['20'];
break;
case '21':
++
$contents['22'];
break;
}

// Increase the amount of votes
++$contents['2'];

// Write
$contentsw = implode ("|", $contents);
$filep = fopen ("db/".$_POST['poll'], "w");
fwrite ($filep, $contentsw);
fclose ($filep);

// Display Message
PrintHeader();
echo '<table border="0" cellpadding="5" width="100%" cellspacing="0"><tr><th style="background-color: #A72305; color: #FFFFFF; text-align: left;">Thanks for your vote!</th></tr><tr><td><b>'.$contents['0'].'</b><br />Total Votes: '.$contents['2'].'<br />';

function PrintResult($id) {
global $contents;
$percent = number_format((($contents[$id] / $contents['2']) * 100), 1);
return '('.$contents[$id].' голосов)'.' '.$percent.'% <br/><img src="bar.gif" height="10" width="'.($percent * 3).'" />';
}

// Results
if ($contents['3'] != "") {echo "<p><b>".$contents['3']."</b> ".PrintResult("4")."</p>";}
if ($contents['5'] != "") {echo "<p><b>".$contents['5']."</b> ".PrintResult("6")."</p>";}
if ($contents['7'] != "") {echo "<p><b>".$contents['7']."</b> ".PrintResult("8")."</p>";}
if ($contents['9'] != "") {echo "<p><b>".$contents['9']."</b> ".PrintResult("10")."</p>";}
if ($contents['11'] != "") {echo "<p><b>".$contents['11']."</b> ".PrintResult("12")."</p>";}
if ($contents['13'] != "") {echo "<p><b>".$contents['13']."</b> ".PrintResult("14")."</p>";}
if ($contents['15'] != "") {echo "<p><b>".$contents['15']."</b> ".PrintResult("16")."</p>";}
if ($contents['17'] != "") {echo "<p><b>".$contents['17']."</b> ".PrintResult("18")."</p>";}
if ($contents['19'] != "") {echo "<p><b>".$contents['19']."</b> ".PrintResult("20")."</p>";}
if ($contents['21'] != "") {echo "<p><b>".$contents['21']."</b> ".PrintResult("22")."</p>";}

echo '<a href="javascript:history.back()">Back</a> | <a href="'.$settings['siteurl'].'">Return to Site</a></td></tr></table>';
PrintFooter();
?>



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



Спустя 21 минута, 37 секунд (7.02.2011 - 16:30) Evilsoul написал(а):
Цитата
Не судите строго-я только только встал на путь

А я буду строго.

Для нормального отображения кода на форуме есть кнопки подсветки PHP, HTML, CSS, JS.
Подсвети код.

Цитата
http://www.2shared.com/file/rvX9f8nb/vote.html

Зачем размещать файл на скачивание, размести код здесь и подсвети его нужными тегами. Если код достаточной большой возьми его в теги [more][/more]

Сделаешь, посмотрю.

Спустя 13 минут, 58 секунд (7.02.2011 - 16:44) inpost написал(а):

 ! 

М
Давайте вменяемые названия вашим темам.
За названия тем Помагите 3 сутки не сплю!! и им подобные буду раздавать баны, а сами темы закрывать. Поменять тему можно через редактирование первого сообщения! Если не исправишь в ближайшее время - тему вообще снесу а тебя по правилам: "в баню". С любовью =)
inpost

Спустя 1 час, 2 минуты, 9 секунд (7.02.2011 - 17:46) pomuc написал(а):
подправил и название, и вид. Так действительно удобнее

Спустя 1 час, 23 минуты, 21 секунда (7.02.2011 - 19:09) Evilsoul написал(а):
Отлично.
Тебе сюда, здесь все ответы.

Спустя 4 часа, 33 минуты, 27 секунд (7.02.2011 - 23:42) pomuc написал(а):
материала там куча.. спс конечно но вопрос с голосовалкой зависнет надолго.. я уже несколько часов пытаюсь понять цепочку действий
подскажи- с чего именно (каких строк) генерируется этот html код для вставки
ход мыслей у меня таков- для того чтобы ошибка при попытке голоса без указанного варианта появлялась в той же выделенной под голосовалку таблице, надо также сгенерировать этот html код, и так же сделать при показе статистики голосующих а потом уже по направлению кнопки "Vote" наводить на эти сгенерированые коды в html.. Правильно я думаю или есть какой то другой ход?

Спустя 12 часов, 13 минут, 31 секунда (8.02.2011 - 11:56) Evilsoul написал(а):
pomuc
Есть PHP который работает на стороне сервера и выполняет поставленные ему задачи, другими словами подаешь запрос с браузера, ПШП обрабатывает и выводит результат.

HTML - это набор определенных тегов для генерации веб - страницы, другими словами браузер получает ШТМЛ код (для него это разметка, что и куда поставить) и строит страницу.

Извини конечно, хоть я сам не профи программер, но твой код просто бредятина какая-то, где ты его взял не знаю, но он отнють не верный.

Всё можно сделать намного проще с помощью ПШП.
Вот например здесь,
if ($_POST['pollanswer'] != "3" AND $_POST['pollanswer'] != "5" AND $_POST['pollanswer'] != "7" AND $_POST['pollanswer'] != "9" AND $_POST['pollanswer'] != "11" AND $_POST['pollanswer'] != "13" AND $_POST['pollanswer'] != "15" AND $_POST['pollanswer'] != "17" AND $_POST['pollanswer'] != "19" AND $_POST['pollanswer'] != "21")

Это можно сделать так:
$even_odd = $_POST['pollanswer']%2;
if($even_odd === 0)


ЗЫ тебе срочно нужно туда куда я тебе написал.

Спустя 5 часов, 55 минут, 7 секунд (8.02.2011 - 17:51) pomuc написал(а):
уже там- спасибо wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.