Значи намерих една анкета тук в уроците обаче искам да я направя след като вече човека е гласувал да му показва резултатите.
Сега са 2 файла. Но за целта ще трябва да е само 1.
Проблема е че записва IP-то на гласувалия (независимо дали е гласувал) и ми казва "Вие вече гласувахте !". След като вляза във файла vote.php и веднага ми записва IP-то. Аз искам да се записва само ако човека е гласувал. Дано сте ме разбрали какво искам.
Ето и кода
form.php
vote.php
Сега са 2 файла. Но за целта ще трябва да е само 1.
Проблема е че записва IP-то на гласувалия (независимо дали е гласувал) и ми казва "Вие вече гласувахте !". След като вляза във файла vote.php и веднага ми записва IP-то. Аз искам да се записва само ако човека е гласувал. Дано сте ме разбрали какво искам.
Ето и кода
form.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
Коя антивирусна е по-добра?<br><br>
<form action="vote.php" method="post">
<input type="radio" name="vote" value="a">
Kaspersky
<br>
<input type="radio" name="vote" value="b">
Norton
<br>
<input type="radio" name="vote" value="c">
Panda
<br>
<input type="submit" value="Гласувай"><br><br>
REZULTATI
</form>
</body>
</html>
vote.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
$vote= $HTTP_POST_VARS["vote"];
if (file_exists("ip.inc"))
{
$ip= file("ip.inc");
$n=count($ip);
for ($i=0; $i<$n;$i++)
{
if (eregi($ipaddress,$ip[$i]))
{
$ref = $_SERVER['HTTP_REFERER'];
echo "<center>Вие вече гласувахте !</center>";
echo "<meta http-equiv='refresh' content='1; URL=$ref'>";
exit;
}
}
}
if (file_exists("db.inc"))
{
$db= file("db.inc");
$a=$db[0];
$a=str_replace("\n","",$a);
$b=$db[1];
$b=str_replace("\n","",$b);
$c=$db[2];
$c=str_replace("\n","",$c);
}
else
{
$a=0;
$b=0;
$c=0;
}
if ($vote==a)
{$a=$a+1;}
elseif ($vote==b)
{$b=$b+1;}
elseif ($vote==c)
{$c=$c+1;}
$zapisdb=$a."\n".$b."\n".$c;
$zapisip=$ipaddress."\n";
$fp = fopen ("db.inc" ,"w");
fwrite($fp, $zapisdb );
fclose($fp);
$fp = fopen ("ip.inc" ,"a");
fwrite($fp, $zapisip );
fclose($fp);
echo 'Резултати:<br>';
echo "Kaspersky - <b>".$a."</b> гласа<br>";
echo "Norton - <b>".$b."</b> гласа<br>";
echo "Panda - <b>".$c."</b> гласа<br>";
?>
</body>
</html>