Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
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!