Dlaczego nie działa mi sonda

Konfiguracja pozostałych skryptów.
Daniel888
Posty: 8
Rejestracja: 24 lut 2009, 18:56:36
Strona na CBA.pl: test888128.cba.pl
Płeć: Niewybrana
User Agent: Firefox Windows 1280x960

Dlaczego nie działa mi sonda

Post autor: Daniel888 »

Witam zainstalowałem sondę zgodnie z instrukcją, a mianowicie całości zamieściłem w katalogu "sonda" ustawiłem chmod 777 na katalog "sonda/data" a na plik "poll.dat" znajdujący się w katalogu "data" ustawiłem chmod 666 zmodyfikowałem plik "vote.php" wstawiając tam adres stronki np.:(index.php) zgodnie z instrukcją. Moduł do głosowania umieściłem na stronie wstawiając następujący kod: <? include "sonda/sonda.php"; ?> Mimo wszystko skrypt nie działa, to znaczy wyświetla się na stronie ale jeśli oddam głos to nie zapisuje tych zmian :(
Kod pliku sonda.php

Kod: Zaznacz cały

<?
if (!isset($action)) {
$action="display";
}
$base="sonda/data/poll.dat";
$data=file($base);
$splitted=explode("||", $data[0]);
$splitted[2]=trim($splitted[2]);
$all=$splitted[1] + $splitted[2];
if($all>=2) {
$result1=$all / $splitted[1];
$result1=100 / $result1;
$result1=round($result1,0);
$result2=100 - $result1;
$votes=$all;
}
elseif($all==1) {
if($splitted[1]==1) {
$result1=100;
$result2=0;
$votes=1;
}
if($splitted[2]==1) {
$result1=0;
$result2=100;
$votes=1;
}
}
else {
$result1=50;
$result2=50;
$votes="brak";
}

$show_poll="<a name=\"sonda\"></a><br><center>$splitted[0]<br><br>
<table width=200 height=10 cellpadding=0 cellspacing=0><tr><td width=$result1*2 height=10 bgcolor=green background=sonda/img/poll_blue.gif></td>
<td width=$result2*2 height=10 bgcolor=red background=sonda/img/poll_red.gif>
</td></tr></table>
<table width=250><tr>
<td width=50%><p align=left><a href=sonda/vote.php?id=1>Tak</a> ($result1%)</p></td>
<td width=50%><p align=right>($result2%) <a href=sonda/vote.php?id=2>Nie</a></p></td></tr></table>
razem głosów: <b>$votes</b>";

switch ($action) {
case "display":

echo $show_poll;
echo "</center>";
break;

case "vote":

echo $show_poll;
if ($ok=="1") {
echo "<br><b>Dziękuję. Twój głos został dodany.</b></center>";
}
else {
echo "<br><b><font color=red>Nie można głosować dwa razy!</font></b></center>";
}
break;
}
?>
Kod pliku vote.php

Kod: Zaznacz cały

<?
//Nazwa strony (pliku), na której będzie umieszczona sonda, np. "index.php";
$site_name="index.php";

if ($voted=="1") {
header("Location: ../$site_name?action=vote#sonda");
die();
}
setcookie("voted", "1", time()+604800);
$base="data/poll.dat";
$data=file($base);
$splitted=explode("||", $data[0]);
$splitted[2]=trim($splitted[2]);
$splitted[$id]++;
$str="$splitted[0]||$splitted[1]||$splitted[2]\n";
$f=fopen("data/poll.dat", "w");
flock($f, 2);
fputs($f, $str);
flock($f, 3);
fclose($f);
header("Location: ../$site_name?action=vote&ok=1#sonda");
?>
Kod stronki html

Kod: Zaznacz cały

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16">
<META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny">
<META NAME="Description" CONTENT="opis dokumentu">
<META NAME="Author" CONTENT="autor dokumentu">
<META NAME="Generator" CONTENT="Zajączek 3.0">
<TITLE></TITLE>
</HEAD>
<BODY>


<? include "sonda/sonda.php"; ?>


</BODY>
</HTML>
monk
Posty: 556
Rejestracja: 11 sty 2009, 12:14:57
Płeć: Niewybrana
User Agent: Firefox Windows 1280x800

Re: Dlaczego nie działa mi sonda

Post autor: monk »

No to wszystko jasne. Ten skrypt popełnia szkolny błąd. Używa register_globals które zostały wycofane z powodu niebezpieczeństwa chyba z 2 lata temu. Użyj czegoś mądrzejszego po prostu z w/w powodu.
Daniel888
Posty: 8
Rejestracja: 24 lut 2009, 18:56:36
Strona na CBA.pl: test888128.cba.pl
Płeć: Niewybrana
User Agent: Firefox Windows 1280x960

Re: Dlaczego nie działa mi sonda

Post autor: Daniel888 »

hmm... a nie dałoby się tego jakoś zmodyfikować tak żeby działało ?

Ps.Wielkie dzięki za diagnozę to mi dużo ułatwiło sprawę :D
monk
Posty: 556
Rejestracja: 11 sty 2009, 12:14:57
Płeć: Niewybrana
User Agent: Firefox Windows 1280x800

Re: Dlaczego nie działa mi sonda

Post autor: monk »

Mogę to poprawić, ale skrypt będzie niebezpieczny i może umożliwić nawet rozwalenie twojej strony (w najgorszym przypadku). Jest na prawdę tysiąc innych skryptów sond...
Daniel888
Posty: 8
Rejestracja: 24 lut 2009, 18:56:36
Strona na CBA.pl: test888128.cba.pl
Płeć: Niewybrana
User Agent: Firefox Windows 1280x960

Re: Dlaczego nie działa mi sonda

Post autor: Daniel888 »

Sporo szukałem ale chodzi mi przede wszystkim o prostą sondę gdzie są dwie możliwości wyboru i wyniki są umieszczane zaraz na tej samej stronie, a nie jakieś rozbudowane sondy z panelem admina i wieloma innymi funkcjami, które są mi zbędne. Jeśli znasz link do takiej strony gdzie można pobrać taką sondę to byłbym wdzięczny ? :)
ODPOWIEDZ