if (!$p) {
$p = index;
}
include("incs/top.inc");
include("pages/$p/lala.inc");
include("incs/bottom.inc");
Hejsan!
Jag har ett litet problem med ett poll script..
Det är så, att pollscriptet skriver till en fil som heter votes.dat
Nu är det som så, att den skriver i detta formatet (Eller SKA skriva så iaf)
1|1|192.0.0.1
Den fösta siffran står för svaret "Ja"
Andra står för "Nej" och ni förstår nog säkert att det andra är en IP adress.. ;)
Det är så, att min VÄGRAR att skriva in "Nej siffran" och jag hajjar fan inte varför.. Mycket irriterade.. x(
Så här ser koden ut:
<?php
/*
/////////////////////////////////////////////////////////////////////////
Installation:
1. Copy this file in the directory of your choice (must be accessible to reading and writing.
2. Create a blank file called votes.dat
3. Create a file called data.dat which contains the choices of your poll (1 line per choice)
4. Choose an image for the graphical display of the results
5. Insert the poll wherever you want in a PHP page with the line
<? require("poll.php"); ?>
/////////////////////////////////////////////////////////////////////// */
/* Path to data.dat */
$data="data.dat";
/* Path to votes.dat */
$votes="votes.dat";
/* Path to the image file */
$path_img="blue.jpg";
/* Name of your poll */
$poll_name="Skulle du vilja höra på Sagan om ringen om jag sände den på radio över internet?";
///////////////////////////////
// NOTHING TO CHANGE BELOW //
///////////////////////////////
$dataf=file("data.dat");
if ($go !=1) {
echo "<center><i>$poll_name</i></center><br>\n";
echo "<form method=post>";
for ($i=0; $i<=count($dataf)-1; $i++) {
echo "<center><input type=radio name=\"rösta\" value=\"$i\"> $dataf[$i]<br></center>\n";
}
echo "<input type=hidden name=go value=1>";
echo "<p><center><input type=submit value=Vote>";
echo "</form>";
echo "<a href='poll.php?result=1&go=1' target='new'>Resultat</a></center>";
}
else {
$file_votes=fopen($votes, "r");
$line_votes=fgets($file_votes, 255);
$single_vote=explode("|", $line_votes);
fclose($file_votes);
if ($result!=1) {
$file_votes=file($votes, "r");
if ($REMOTE_ADDR == $file_votes[1]) {
echo "<center><font color=red>Du har redan röstat!</font></center>";
exit;
}
$ficdest=fopen($votes, "w");
for ($i=0; $i<=count($dataf)-1; $i++) {
if ($i == $vote) {
$single_vote[$i]+=1;
}
fputs($ficdest, "$single_vote[$i]|");
}
fclose($ficdest);
$ficdest=fopen($votes, "a");
fputs($ficdest, "\n$REMOTE_ADDR");
fclose($ficdest);
$result=1;
}
if ($result==1) {
echo "<table cellpadding=10>";
echo "<tr><td align=center><font face=Verdana size=2>";
echo "<i>Choice</i></font>";
echo "</td><td align=center><font face=Verdana size=2>";
echo "<i>%</i></font></td>";
echo "<td align=center><font face=Verdana size=2>";
echo "<i>Votes</i></font></td></tr>";
for ($i=0; $i<=count($dataf)-1; $i++) {
$tot_votes+=$single_vote[$i];
}
for ($i=0; $i<=count($dataf)-1; $i++) {
$stat[$i]=$single_vote[$i]/$tot_votes*100;
echo "<tr><td><li><font face=Verdana size=2>";
echo "$dataf[$i]</font></td><td align=left><font face=Verdana size=2>";
echo "<img src=\"$path_img\" height=10 width=$stat[$i] align=middle> ";
printf("%.1f", "$stat[$i]");
echo "%</font></td><td align=center><font face=Verdana size=2>";
echo "$single_vote[$i]</font>";
echo "</td></tr>";
}
echo "</table><p>";
echo "<center>Total: $tot_votes votes</center>";
}
}
?>
Kan någon kanske ändra i koden åt mig så att den skriver in den andra siffran åxå?
Visst är det väll kul att alla svar blir possitiva, men ändå...
Dessutom, så sparar den bara senaste IP numret som röstade...
Om jag röstar, å sen någon annan efter mig, så kan jag rösta om sedan igen...
Går det att göra som så att den skriver IP numrena till en egen fil och kollar av dom där så att man inte kan fuska?
Skulle någon kunna lägga in det i koden åxå? Eller åtmisntonne berätta VART i koden man skall lägga in det så kan jag ju givetvis slänga in det själv...
Jag vet inte hur pass det går med både kakor och IP check.. Saken är ju den, att jag byter ju inte fråga med jämna mellanrum..
Så det kan ju hända att kakan har tex. 5 dagar kvar innan den slutar att gälla... så personen kan tackvare det inte rösta... Eller går det att komma runt på någet sätt??
Mycket tacksam för hjälp!
//noratx
