• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Umfrage IP Sperre!

Status
Für weitere Antworten geschlossen.
funktioniert das?:

Code:
<?php
$DateinameIP    = "ip.txt";
$Zeitsperre     = 86400; // Sekunden 86400 entsprechen 1 Stunde; 86400 *4 = 4 H
#######################################
$Gefunden = FALSE;
$IPListe = file($DateinameIP);
if(count($IPListe) > 0)
{
foreach($IPListe as $Zeile)
{
$GesplitteteZeile = explode("|", $Zeile);
if(($GesplitteteZeile[0]+$Zeitsperre) > time())
{
$NeueIPListe[] = trim($Zeile)."\n";
}
}
if(count($NeueIPListe) > 0)
{
foreach($NeueIPListe as $Zeile)
{
$GesplitteteZeile = explode("|", $Zeile);
if(trim($GesplitteteZeile[1]) == $_SERVER['REMOTE_ADDR'])
{
$Gefunden = TRUE;
}
}
}
}
$FilePointerIP = fopen($DateinameIP, "w");
if(count($IPListe) > 0 && count($NeueIPListe) > 0)
{
foreach($NeueIPListe as $Zeile)
{
fwrite($FilePointerIP, trim($Zeile)."\n");
}
}
if(!$Gefunden)
{
fwrite($FilePointerIP, time()."|".$_SERVER['REMOTE_ADDR']."\n");
}
fclose($FilePointerIP);
?>

einfach ausprobieren; dann einfach mit einem if Befehl mit !$Gefunden den Vote einläuten und mit else eine Fehlermeldung ausgeben
 
Ich denke, da kannst du einfach einen Cookie setzen, der nach 4 Stunden abläuft.

Im Skript überprüfst du dann einfach, ob der Cookie vorhanden ist. Wenn ja, hat derjenige innerhalb der letzten 4 Stunden abgestimmt, wenn nein, dann eben nicht.

» setcookie() bei php.net
 
Hallo danke für die schnellen antworten ich probiere die sperre gleich mal aus :)

EDIT1:
aber wie meinst du das mit if..

Code:
if($Gefunden ) {
{

meinst du das so?

EDIT2:
ich habe das mal unter den code von dir gemacht:
Code:
<?php 
if($Gefunden) { echo "[b]Fehler:[/b] Du hast schon Abgestimmt!";}; 
?>

EDIT3:
und das geht..

EDIT4:
das funtzt super danke euch habe das jetzt so gemacht und den timer zum test auf 30 sec gestellt jetzt geht es alles.....

EDIT5:
habe aber jetzt noch ein prob wenn ich jetzt den Code:
Code:
<?php
if($Gefunden) { echo "[b]Fehler:[/b] Du hast schon Abgestimmt!";};
echo "Danke für das Abstimmen!";
?>

ein programmiere und ich dann aktualliesiere steht da Fehler: Du hast schon Abgestimmt!Danke für das Abstimmen

Wie kann man das ändern?

Mod-Edit: Code-Tags verwenden! Doppelposts wurden entfernt (Prophet)
 
Schreibs mal so:

Code:
<?php
if($Gefunden) { die("[b]Fehler:[/b] Du hast schon Abgestimmt!");};
elseif(!$gefunden) {
echo "Danke für das Abstimmen!";
 ...
}
?>
 
FleyerShaver schrieb:
un außerdem nervt es alle
Was mich noch mehr nervt, sind die ewigen "Du-hast-gegen-die-Forenregeln-verstossen-und-bist-drum-ein-böser-Junge"-Beiträge...

@dementia: PHP ist Case-Sensitive.

Versuchs so:
Code:
<?php
if(isset($Gefunden)) 
{
die("[b]Fehler:[/b] Du hast schon Abgestimmt!");
}
elseif(!isset($Gefunden)) 
{
echo "Danke für das Abstimmen!";
...
}
?>
 
Bitte unterlas das und jetzt Back To Topic!

Mod-Edit: Alle Spam beiträge wurden entfernt.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben