За последние 24 часа нас посетили 15857 программистов и 1543 робота. Сейчас ищут 859 программистов ...

Вывод результата опроса, альтернатива фреймам

Тема в разделе "PHP для новичков", создана пользователем pomuc, 7 фев 2011.

  1. pomuc

    pomuc Активный пользователь

    С нами с:
    7 фев 2011
    Сообщения:
    12
    Симпатии:
    0
    Привет,
    Не судите строго-я только только встал на путь создания своей страницы, поэтому некоторые вопросы могут показаться глупыми. Я просмотрел много материалов для новичков, для создания сайта html.. но по ходу визуализирования своей страницы я понял что простым вариантом я не обойдусь- без интересных PHP скриптов, как голосования, поиски, форум, случайные фото и т.д. уже другая картинка. Итак вопросы

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

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

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

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

    HTML:
    1. <form action="http://localhost/oprosnik/vote.php" method="post">
    2. <input type="hidden" name="poll" value="basepole.cgi" />
    3. <input type="radio" name="pollanswer" value="3" /> vcbcvbcv<br />
    4. <input type="radio" name="pollanswer" value="5" /> cxvcxb<br />
    5. <input type="radio" name="pollanswer" value="7" /> bcxbvcxb<br />
    6. <input type="submit" value="Vote" /></form>
    который я с легкостью поставил в таблицу сайта.. То как изменять его вид-знаю и сделал, но вот вопрос- как сделать чтобы результат голосования был в той же таблице страницы? Прилагаю vote.php с контетнтом результата голосования

    PHP:
    1. <?php
    2. }
    3.  
    4. function Error($error) {
    5. PrintHeader();
    6. 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>';
    7. PrintFooter();
    8. }
    9.  
    10. // Perform Basic Checks
    11.  
    12. if ($_POST['poll'] == "") {
    13. Error ("No poll specified.");
    14. }
    15.  
    16. if (!file_exists("db/".$_POST['poll'])) {
    17. Error ("Poll does not exist.");
    18. }
    19.  
    20. if ($_POST['pollanswer'] == "") {
    21. Error ("You did not place a vote.");
    22. }
    23.  
    24. 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") {
    25. Error ("You did not place a valid vote.");
    26. }
    27.  
    28. // Open the Poll File
    29. $filep = fopen ("db/".$_POST['poll'], "r");
    30. $contents = fread ($filep, filesize ("db/".$_POST['poll']));
    31. fclose ($filep);
    32. $contents = explode("|", $contents);
    33.  
    34. if ($contents['1'] == "0") {
    35. Error ("This poll is locked. You cannot vote on a locked poll.");
    36. }
    37.  
    38. // Add the vote..
    39. switch ($_POST['pollanswer']) {
    40. case '3':
    41. ++$contents['4'];
    42. break;
    43. case '5':
    44. ++$contents['6'];
    45. break;
    46. case '7':
    47. ++$contents['8'];
    48. break;
    49. case '9':
    50. ++$contents['10'];
    51. break;
    52. case '11':
    53. ++$contents['13'];
    54. break;
    55. case '13':
    56. ++$contents['14'];
    57. break;
    58. case '15':
    59. ++$contents['16'];
    60. break;
    61. case '17':
    62. ++$contents['18'];
    63. break;
    64. case '19':
    65. ++$contents['20'];
    66. break;
    67. case '21':
    68. ++$contents['22'];
    69. break;
    70. }
    71.  
    72. // Increase the amount of votes
    73. ++$contents['2'];
    74.  
    75. // Write
    76. $contentsw = implode ("|", $contents);
    77. $filep = fopen ("db/".$_POST['poll'], "w");
    78. fwrite ($filep, $contentsw);
    79. fclose ($filep);
    80.  
    81. // Display Message
    82. PrintHeader();
    83. 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 />';
    84.  
    85. function PrintResult($id) {
    86. global $contents;
    87. $percent = number_format((($contents[$id] / $contents['2']) * 100), 1);
    88. return '('.$contents[$id].' голосов)'.' '.$percent.'% <br/><img src="bar.gif" height="10" width="'.($percent * 3).'" />';
    89. }
    90.  
    91. // Results
    92. if ($contents['3'] != "") {echo "<p><b>".$contents['3']."</b> ".PrintResult("4")."</p>";}
    93. if ($contents['5'] != "") {echo "<p><b>".$contents['5']."</b> ".PrintResult("6")."</p>";}
    94. if ($contents['7'] != "") {echo "<p><b>".$contents['7']."</b> ".PrintResult("8")."</p>";}
    95. if ($contents['9'] != "") {echo "<p><b>".$contents['9']."</b> ".PrintResult("10")."</p>";}
    96. if ($contents['11'] != "") {echo "<p><b>".$contents['11']."</b> ".PrintResult("12")."</p>";}
    97. if ($contents['13'] != "") {echo "<p><b>".$contents['13']."</b> ".PrintResult("14")."</p>";}
    98. if ($contents['15'] != "") {echo "<p><b>".$contents['15']."</b> ".PrintResult("16")."</p>";}
    99. if ($contents['17'] != "") {echo "<p><b>".$contents['17']."</b> ".PrintResult("18")."</p>";}
    100. if ($contents['19'] != "") {echo "<p><b>".$contents['19']."</b> ".PrintResult("20")."</p>";}
    101. if ($contents['21'] != "") {echo "<p><b>".$contents['21']."</b> ".PrintResult("22")."</p>";}
    102.  
    103. echo '<a href="javascript:history.back()">Back</a> | <a href="'.$settings['siteurl'].'">Return to Site</a></td></tr></table>';
    104. PrintFooter();
    105. ?>


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

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    читать неудобно, глаза в кучку разбегаются