Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sonda - gdzie wkleić kod
Forum PHP.pl > Forum > Przedszkole
neneth
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.  
erix
Wiesz, po co się robi wcięcia w kodzie?
everth
@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
erix
Ok, sformatuje, ale skoro daje ten kod innym do analizy, to sam sobie tylko rzuca kłody pod nogi.
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.