Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sonda typu "Tak-Nie" odporna na przeladowania...
Forum PHP.pl > Forum > Gotowe rozwiązania
kpjeziorak
Mam taka sonde:

[php:1:1dc7fde306]<?php
<?php
require("sonda/tak_nie3.php");
if ($glos2 == "tak") {
$tak += 1;
} else {}
if ($glos2 == "nie") {
$nie += 1;
} else {}

$sonda = fopen( "sonda/tak_nie3.php", "w" );
fputs( $sonda, "<?phpn$tak="$tak";n$nie="$nie";n?>n" );
fclose( $sonda );

?>
<div align="left">
<form method="post" action="wynik.php">
<font font-size="14px" color="#FFFFFF" face="verdana"><b>&nbsp;Czy w sezonie 03/04 Jeziorak awansuje do III ligi?<br><br>
</DIV>
<DIV align="center">
<input type="radio" name="glos2" value="tak" checked>Tak&nbsp;&nbsp;&nbsp;
<input type="radio" name="glos2" value="nie">Nie<br><br>
<input type="submit" value="Zagłosuj" class="sonda">
</form>
</b></font>
<CENTER><FONT color="#FFFFFF">Wynik:</FONT></CENTER>
<table width="100" cellspacing="0" cellpadding="0" border="0">
<tr><td bgcolor="#0000FE" align="center" valign="bottom"><IMG SRC="gfx/tak.gif" WIDTH="10" HEIGHT=<? echo $tak; ?> BORDER="0">&nbsp;&nbsp;&nbsp;<IMG SRC="gfx/nie.gif" WIDTH="10" HEIGHT=<? echo $nie; ?> BORDER="0"></tr>
</TABLE>
<table width="100" cellspacing="0" cellpadding="0" border="0">
<tr><td bgcolor="#0000FE" align="center" valign="center"><font font-size="15px" color="#FFFFFF" face="verdana"><b>Tak</FONT><font font-size="15px" color="#FFFFFF" face="verdana"><b> <? echo $tak; ?></font>&nbsp;&nbsp;&nbsp;&nbsp;<font font-size="15px" color="#FFFFFF" face="verdana"><b>Nie</b><font font-size="15px" color="#FFFFFF" face="verdana"><b> <? echo $nie; ?></B></font></TD></tr>
</TABLE>
</div>
?>[/php:1:1dc7fde306]

Czy moze mi ktos pomoc we wstawieniu odpowiedniego kodu do tej sondy, by byla ona odporna na przeladowania?
wassago
musisz oprzec sonde na $_SERVER['REMOTE_ADDR'] i sesjach (ew. ciachach)
kpjeziorak
aha... dzieki za pomoc biggrin.gif ... nic nie rozumiem :cry: - POMOCY
wassago
musisz zapisac dane IP oddajacego glos w sesji lub w ciachu (przyklady w manualu "sessions" i "cookies") wtedy nie bedzie mogl oddac nastepnego glosu, przez czas jaki ty okreslisz
kpjeziorak
No tak... ale co mam zrobic jezeli jestem zielony w php? biggrin.gif Please sad.gif
wassago
to trzeba bylo tak od razu, przyklad oparty na ciachach:
[php:1:ba1e07113e]<?php
require( "sonda/tak_nie3.php" );
if( $_COOKIE["ip"] == $SERVER['REMOTE_ADDR'] ) {
print( "juz oddales glos" );
} else {
if( $glos2 == "tak" ) {
$tak += 1;
setcookie( "ip", $SERVER['REMOTE_ADDR'], time()+128000);
} else { }
if( $glos2 == "nie" ) {
$nie += 1;
setcookie( "ip", $SERVER['REMOTE_ADDR'], time()+128000);
} else { }
}
$sonda = fopen( "sonda/tak_nie3.php", "w" );
fputs( $sonda, "<?phpn$tak="$tak";n$nie="$nie";n?>n" );
fclose( $sonda );
?>[/php:1:ba1e07113e]
kpjeziorak
Dzieki za pomoc "wassago"... 3maj sie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.