![]() |
Problem z kodem - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster) +--- Wątek: Problem z kodem (/thread-problem-z-kodem--4539) Strony:
1
2
|
RE: Problem z kodem - skarabe.pl - 30-07-2010 (30-07-2010, 17:40)neneth napisał(a): Dziękuję za te poprawki, ale mnie jeszcze chodziło o to, czy cały kod umieścić w pliku index.php czy w osobny pliku i w jaki sposób to includować. Proszę o jakieś konkretne rozwiązanie. Z góry dziękuję.Zapisz ten kod w pliku, np. 'elementy/ankieta.php', a potem w index.php, w odpowiednim miejscu: include('elementy/ankieta.php'); RE: Problem z kodem - neneth - 30-07-2010 (30-07-2010, 17:43)skarabe.pl napisał(a):(30-07-2010, 17:40)neneth napisał(a): Dziękuję za te poprawki, ale mnie jeszcze chodziło o to, czy cały kod umieścić w pliku index.php czy w osobny pliku i w jaki sposób to includować. Proszę o jakieś konkretne rozwiązanie. Z góry dziękuję.Zapisz ten kod w pliku, np. 'elementy/ankieta.php', a potem w index.php, w odpowiednim miejscu: include('elementy/ankieta.php'); Zrobiłam tak, jak mi podałeś, ale niestety teraz to strona nawet nie chce się przeładować, więc wleję jeszcze raz kod dla sprawdzenia. Bardzo proszę o pomoc i wyrozumiałość, bo jestem początkującym webmasterem. <?php session_start(); //zaczynamy sessje if (!($sql=mysql_connect ('smuklasylwetka','sylwik180', '5maja1982') && mysql_select_db('smuklasylwetka') )) echo'błąd'; // łączymy się z serwerem i wybieramy daną baze. if($_GET['strona']!='panel'){ $wynik=mysql_query("SELECT * FROM `ankieta` ORDER BY `id` DESC LIMIT 0,1 "); //pobieramy z bazy najnowsza ankiete $dane=mysql_fetch_array($wynik); // Pobrane informacje wpisujemy do zmiennej $odpowiedzi=explode("|",$dane['odpowiedzi']); // Nasze odpowiedzi w ankiecie są w postaci odpowiedz1|odpowiedz2| itd... rozdzielamy je i wpisujemy od nowej zmiennej w postaci tabeli $ilosc=explode("|", $dane['glosy']); // analogicznie tylko że głosy sumaGłosów1|sumaGłosów2| itd. foreach($ilosc as $wartosc) // lecimy po kolejnych rekordach po tabeli $glosy=$glosy+$wartosc; // sumujemy ilość wszystkich oddanych głosów if($glosy==0) //zeby nie miec dzielenia przez zero $glosy=1; if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!==FALSE ) // sprawdzamy czy dany adres IP już odpowiedział $odpowiedzial=true; else $odpowiedzial=false; if(isset($_POST['ankieta']) && !$odpowiedzial){ // jeśli nie odpowiedział i wysłał głos, to ten glos jest dodawany do bazy $ilosc[$_POST['ankieta']]++; // Powiększamy dany rekord o nowo dodany głos. $ilosc2=implode('|', $ilosc); // łączymy z powrotem w jedną zmienną całą naszą tabele i oddzielamy | if(!mysql_query("UPDATE `ankieta` SET `glosy` = '$ilosc2', `ip` = '".$dane['ip']."|".$_SERVER['REMOTE_ADDR']."' WHERE `id` ='".$dane['id']."';")) // Formalnie dodajemy głos do bazy echo"Twój głos nie został zliczony. Spróbuj ponownie"; else echo'dziekujemy za oddanie glosu'; } if($odpowiedzial || isset($_POST['ankieta'])){ //jesli odpowiedział na ankiete wypisujemy wyniki foreach($odpowiedzi as $key=>$wartosc) echo $odpowiedzi[$key].':'.(100*$ilosc[$key])/$glosy.'%<br>'; //wyniki w procentach }else{ echo $dane['pytanie'].'<form action="" method="post">'; foreach($odpowiedzi as $key=>$wartosc) echo'<input type="radio" name="ankieta" value="'.$key.'">'.$wartosc; //inaczej formularz do zagłosowania echo'<input type="submit"/></form>'; } }else{ if($_POST['haslo']=='tajnehaslo' || $_SESSION['haslo']=='tajnehaslo'){ //sprawdzamy czy podalismy dobre haslo i czy jestesmy zalogowani. W tym rpzypadku naszym haslem jest tajnehaslo 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. if(isset($_POST['pytanie']) && isset($_POST['odpowiedzi']['1']) && isset($_POST['odpowiedzi']['2'])){ //sprawdzamy czy dobrze admin wypiełnił pola $odpowiedzi=implode('|', $_POST['odpowiedzi']); //łączymy odpowiedzi w jedną zmienną foreach($_POST['odpowiedzi']as $wartosc) $glosy.='0|'; //zerujemy glosy $glosy = rtrim($glosy, '|'); if(mysql_query("INSERT INTO `ankieta` (`id` ,`pytanie` ,`odpowiedzi` ,`glosy`)VALUES (NULL , '".$_POST['pytanie']."', '$odpowiedzi', '$glosy');")) // zapisujemy pytanie i odpowiedzi do bazy echo'Dodano nowe pytanie'; else echo'Nie dodano nowego pytania'; }else{ 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 } }else{ echo'<form action="" method="post"><input type="password" name="haslo"><input type="submit"/></form>'; //miejsce do wpisania hasla jesli nie jestesmy zalogowani } } echo'<a href="# "> </a>'; ?> RE: Problem z kodem - skarabe.pl - 30-07-2010 Przenieś session_start() z tego pliku na samą górę pliku index.php RE: Problem z kodem - neneth - 30-07-2010 (30-07-2010, 18:38)skarabe.pl napisał(a): Przenieś session_start() z tego pliku na samą górę pliku index.php Jaki zakres kodu mam tak wkleić? Tylko samo session_start(); czy coś jeszcze? RE: Problem z kodem - skarabe.pl - 30-07-2010 Tylko session_start(). Ale pamiętaj że ma być on tylko w index.php - z ankieta.php ma zniknąć. RE: Problem z kodem - neneth - 30-07-2010 (30-07-2010, 18:52)skarabe.pl napisał(a): Tylko session_start(). Ale pamiętaj że ma być on tylko w index.php - z ankieta.php ma zniknąć. Zrobiłam wszystko jak trzeba, ale pojawiły się następujące błędy: Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'smuklasylwetka' (11004) in C:\xampp\htdocs\Odchudzanie\index.php on line 462 błąd Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\Odchudzanie\index.php on line 464 Warning: mysql_query() [function.mysql-query] RE: Problem z kodem - skarabe.pl - 30-07-2010 Masz źle skonfigurowaną bazę danych na komputerze. RE: Problem z kodem - neneth - 30-07-2010 (30-07-2010, 19:09)skarabe.pl napisał(a): Masz źle skonfigurowaną bazę danych na komputerze. A mogłbyś mnie poprowadzić, jak to zrobić, bo ja robię to wg przykładu i już sama nie wiem, gdzie robię błąd. Bardzo proszę, daj mi jakieś wskazówki. RE: Problem z kodem - Pedro84 - 31-07-2010 To samo co w innym, co to za host "smuklasylwetka"? Używaj BBcode! |