(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>';
?>