Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sonda - gdzie wkleić kod
neneth
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.06.2010

Ostrzeżenie: (10%)
X----


Witam wszystkich, dziękuję za dotychczasową pomoc. Tym razem mam mały problem z kodem. Mam następujący kod sondy i chciałabym, żeby ktoś był uprzejmy wskazać mi miejsce wklejenia kodu, bo już próbowałam na wiele sposobów i nie wyszło, więc postanowiłam się poradzić.

  1. <?php
  2. session_start(); //zaczynamy sessje
  3. if (!($sql=mysql_connect ('localhost','login', 'haslo') && mysql_select_db('baza') )) echo'błąd'; // łączymy się z serwerem i wybieramy daną baze.
  4. if($_GET['strona']!='panel'){
  5. $wynik=mysql_query("SELECT * FROM `ankieta` ORDER BY `id` DESC LIMIT 0,1 "); //pobieramy z bazy najnowsza ankiete
  6. $dane=mysql_fetch_array($wynik); // Pobrane informacje wpisujemy do zmiennej
  7. $odpowiedzi=explode("|",$dane['odpowiedzi']); // Nasze odpowiedzi w ankiecie są w postaci odpowiedz1|odpowiedz2| itd... rozdzielamy je i wpisujemy od nowej zmiennej w postaci tabeli
  8. $ilosc=explode("|", $dane['glosy']); // analogicznie tylko że głosy sumaGłosów1|sumaGłosów2| itd.
  9. foreach($ilosc as $wartosc) // lecimy po kolejnych rekordach po tabeli
  10. $glosy=$glosy+$wartosc; // sumujemy ilość wszystkich oddanych głosów
  11. if($glosy==0) //zeby nie miec dzielenia przez zero
  12. $glosy=1;
  13. if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!=FALSE ) // sprawdzamy czy dany adres IP już odpowiedział
  14. $odpowiedzial=true;
  15. else
  16. $odpowiedzial=false;
  17. if(isset($_POST['ankieta']) && !$odpowiedzial){ // jeśli nie odpowiedział i wysłał głos, to ten glos jest dodawany do bazy
  18. $ilosc[$_POST['ankieta']]++; // Powiększamy dany rekord o nowo dodany głos.
  19. $ilosc2=implode('|', $ilosc); // łączymy z powrotem w jedną zmienną całą naszą tabele i oddzielamy |
  20. if(!mysql_query("UPDATE `ankieta` SET `glosy` = '$ilosc2', `ip` = '".$dane['ip']."|".$_SERVER['REMOTE_ADDR']."' WHERE `id` ='".$dane['id']."';")) // Formalnie dodajemy głos do bazy
  21. echo"Twój głos nie został zliczony. Spróbuj ponownie";
  22. else
  23. echo'dziekujemy za oddanie glosu';
  24. }
  25. if($odpowiedzial || isset($_POST['ankieta'])){ //jesli odpowiedział na ankiete wypisujemy wyniki
  26. foreach($odpowiedzi as $key=>$wartosc)
  27. echo $odpowiedzi[$key].':'.(100*$ilosc[$key])/$glosy.'%<br>'; //wyniki w procentach
  28. }else{
  29. echo $dane['pytanie'].'<form action="" method="post">';
  30. foreach($odpowiedzi as $key=>$wartosc)
  31. echo'<input type="radio" name="ankieta" value="'.$key.'">'.$wartosc; //inaczej formularz do zagłosowania
  32. echo'<input type="submit"/></form>';
  33. }
  34. }else{
  35. if($_POST['haslo']=='tajnehaslo' || $_SESSION['haslo']=='tajnehaslo'){ //sprawdzamy czy podalismy dobre haslo i czy jestesmy zalogowani. W tym rpzypadku naszym haslem jest tajnehaslo
  36. if(empty($_SESSION['haslo'])) $_SESSION['haslo']=$_POST['haslo']; //przypisujemy haslo do sessji to opisze kiedys indziej. ale w skrocie sessja to taka zmienna ktora jest przechowywana u nas w przegladarce.
  37. if(isset($_POST['pytanie']) && isset($_POST['odpowiedzi']['1']) && isset($_POST['odpowiedzi']['2'])){ //sprawdzamy czy dobrze admin wypiełnił pola
  38. $odpowiedzi=implode('|', $_POST['odpowiedzi']); //łączymy odpowiedzi w jedną zmienną
  39. foreach($_POST['odpowiedzi']as $wartosc)
  40. $glosy.='0|'; //zerujemy glosy
  41. if(mysql_query("INSERT INTO `ankieta` (`id` ,`pytanie` ,`odpowiedzi` ,`glosy`)VALUES (NULL , '".$_POST['pytanie']."', '$odpowiedzi', '$glosy');")) // zapisujemy pytanie i odpowiedzi do bazy
  42. echo'Dodano nowe pytanie';
  43. else
  44. echo'Nie dodano nowego pytania';
  45. }else{
  46. echo'<form action="" method="post">Pytanie:<input type="text" name="pytanie"><br>odpowiedzi:<input type="text" name="odpowiedzi[1]"><input type="text" name="odpowiedzi[2]"><input type="text" name="odpowiedzi[3]"><input type="submit"/></form>'; //Formularz jak chcemy mieć więcej odpowiedzi to tworzymy nastepne pola analogicznie
  47. }
  48. }else{
  49. echo'<form action="" method="post"><input type="password" name="haslo"><input type="submit"/></form>'; //miejsce do wpisania hasla jesli nie jestesmy zalogowani
  50. }
  51. }
  52. echo'<a href=" "> </a>';
  53. ?>
  54.  
  55.  
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wiesz, po co się robi wcięcia w kodzie?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
everth
post
Post #3





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


@erix, nie bądź tak restrykcyjny, pierwsze lepsze IDE to sformatuje smile.gif

@nenex - daj to komuś do przepisania kto choć trochę rozumie php i sql. Jak naprawdę chcesz się nauczyć (a nie szukasz gotowca):


@DOWN:
Analiza tego kodu to ból. Dałem sobie spokój

Ten post edytował everth 30.07.2010, 15:27:41


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ok, sformatuje, ale skoro daje ten kod innym do analizy, to sam sobie tylko rzuca kłody pod nogi.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 03:43