Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sonda
Forum PHP.pl > Forum > Przedszkole
skowron-line
potrzebuje rade jak zrobic sonde czy zapisac do bazy czy do pliku jak wyciagnac jak zliczyc poszczegolne glosy. pomijam oczywiscie formularz
mario
załóż google:

poll php
sonda php

podpatrz jak sie to robi, to jest bardzo proste. Ja proponuje baze.
skowron-line
dzieki za odpowiedz ale czy wrzucanie do bazy wynikow nie obciazy jej za bardzo??
babejsza
baza służy do tego, żeby wrzucać do niej wyniki smile.gif.

Nie martwiłbym się tym o ile nie zakładasz korzystania z tego miliona użytkowników dziennie smile.gif.
skowron-line
nie no w sumie to ma tylko raz zadzialac bo musze to pokazac tylko raz ale milo by bylo jak by to nie bylo na odpi** zrobione tylko mialo "rece i nogi"
popo601
Witam wszystkich smile.gif

jestem tu pierwszy raz i przyznaję że dopiero zacząłem się uczyć PHP mój problem pewnie będzie się wydawał banalny dla tych którzy PHP mają w małym palcu ale ja nie mogę sobie poradzić otóż do rzeczy.

Mam zrobioną sondę w PHP oczywiście jest blokada przez podwójnym głosowaniem, wyniki sondy wyświetlają się na tej samem stronie smile.gif jedynym moim problemem jest to że sonda jest umieszczona w pliku demo.php a owy plik jest includowany ze strony głównej tzn. index.php
oto kawałek kodu z index.php
  1. <td width="432" valign="top">
  2. <!-- Środek -->
  3. <div><img src="images/s_top.gif" alt="" /></div>
  4. <div class="srodek">

  1. <?php
  2.  
  3. if(empty($_GET['id']) or $_GET['id']=="glowna"){
  4. include("top.htm");}
  5.  
  6. if($_GET['id']=="galeria"){
  7. include("galeria.htm");}
  8.  
  9. if($_GET['id']=="demo"){
  10. include("demo.php");}
  11.  
  12. if($_GET['id']=="kontakt"){
  13. include("formularz_email.htm");}
  14.  
  15. if($_GET['id']=="wspolpraca"){
  16. include("wspolpraca.htm");}
  17. ?>
  1. </div>
  2. </td>
  3. <td width="160" valign="top">
  4. <!-- Prawe strona -->

sonda jest umieszczona w katalogu sonda a pliki od niej to:
vote.php
  1. <?
  2. //Nazwa strony (pliku), na której będzie umieszczona sonda, np. "index.php";
  3. $site_name="demo.php";
  4.  
  5. if ($voted=="1") {
  6. header("Location: ../$site_name?action=vote#sonda");
  7. die();
  8. }
  9. setcookie("voted", "1", time()+604800);
  10. $base="data/poll.dat";
  11. $data=file($base);
  12. $splitted=explode("||", $data[0]);
  13. $splitted[2]=trim($splitted[2]);
  14. $splitted[$id]++;
  15. $str="$splitted[0]||$splitted[1]||$splitted[2]n";
  16. $f=fopen("data/poll.dat", "w");
  17. flock($f, 2);
  18. fputs($f, $str);
  19. flock($f, 3);
  20. fclose($f);
  21. header("Location: ../$site_name?action=vote&ok=1#sonda");
  22. ?>

sonda.php
  1. <?
  2. if (!isset($action)) {
  3. $action="display";
  4. }
  5. $base="sonda/data/poll.dat";
  6. $data=file($base);
  7. $splitted=explode("||", $data[0]);
  8. $splitted[2]=trim($splitted[2]);
  9. $all=$splitted[1] + $splitted[2];
  10. if($all>=2) {
  11. $result1=$all / $splitted[1];
  12. $result1=100 / $result1;
  13. $result1=round($result1,0);
  14. $result2=100 - $result1;
  15. $votes=$all;
  16. }
  17. elseif($all==1) {
  18. if($splitted[1]==1) {
  19. $result1=100;
  20. $result2=0;
  21. $votes=1;
  22. }
  23. if($splitted[2]==1) {
  24. $result1=0;
  25. $result2=100;
  26. $votes=1;
  27. }
  28. }
  29. else {
  30. $result1=50;
  31. $result2=50;
  32. $votes="brak";
  33. }
  34.  
  35. $show_poll="<a name="sonda"></a><br><center>$splitted[0]<br><br>
  36. <table width=200 height=10 cellpadding=0 cellspacing=0><tr><td width=$result1*2 height=10 bgcolor=green background=sonda/img/poll_blue.gif></td>
  37. <td width=$result2*2 height=10 bgcolor=red background=sonda/img/poll_red.gif>
  38. </td></tr></table>
  39. <table width=250><tr>
  40. <td width=50%><p align=left><a href=sonda/vote.php?id=1>Tak</a> ($result1%)</p></td>
  41. <td width=50%><p align=right>($result2%) <a href=sonda/vote.php?id=2>Nie</a></p></td></tr></table>
  42. razem głosów: <b>$votes</b>";
  43.  
  44. switch ($action) {
  45. case "display":
  46.  
  47. echo $show_poll;
  48. echo "</center>";
  49. break;
  50.  
  51. case "vote":
  52.  
  53. echo $show_poll;
  54. if ($ok=="1") {
  55. echo "<br><b>Dziękuję. Twój głos został dodany.</b></center>";
  56. }
  57. else {
  58. echo "<br><b><font color=red>Nie można głosować dwa razy!</font></b></center>";
  59. }
  60. break;
  61. }
  62. ?>

I jak to zrobić żeby wyniki głosowania były pokazane w pliku index.php ale również z widoczną
wczytaną stroną demo.php czyli strona ma wyglądać dosłownie tak samo jak index.php?id=demo

Będę bardzo wdzięczny za pomoc sad.gif

Czy tu już nikt nie zagląda ? sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.