Autor Zpráva
drvaca
Profil
Dobré odpoledne,
snažím se nějak udělat jednu takovou věc do chatu. . .
Správci mohou uživatelům udělit trestné body, a jakmile bude mít uživatel tři trestné body, tak chci, aby jej to vykoplo z chatu. Splácal jsem jeden takový kód. Byl jsem rád, že mi nevypisuje žádnou chybu. Ovšem kdo ví proč, ani mi nefunguje.
V souboru pocet2/username.txt je nějaké číslo - od jedné do nekonečna. Tedy ten soubor existuje pouze tehdy, pokud uživatel již nějaký trestný bod má.
Kód mám udělaný tak, aby když má někdo 3 trestné body jej to přesměrovalo jinam.
<?php
$id = $_COOKIE["name"];
$trestnaky = "pocet2/".$id.".txt";
if (file_exists($trestnaky)) {
if ($trestnaky=="3")
echo "<script>
parent.location.href='sorry.php';
</script>";
}
?>

Chtěl bych vás požádat, dokázal by mi to někdo tady opravit?
A rovnou, nedalo by se udělat že namísto if ($trestnaky=="3") by tam bylo if ($trestnaky=="3"a více) ?
Předem děkuji.
Beavis
Profil
drvaca:
if(file_get_contents($trestnaky > 2)){
drvaca
Profil
Neseděl mi počet kulatých závorek, takže jsem tam dal
if (file_get_contents($trestnaky > 2))

Nefunguje pořád, a chybu pořád nepíše.
Kdepak se tedy vyskytla chyba?

EDIT:
Nyní tedy mám:
<?php
$id = $_COOKIE["name"];
$trestnaky = "pocet2/".$id.".txt";
if (file_exists($trestnaky)) {
if (file_get_contents($trestnaky > 2))
echo "<script>
parent.location.href='sorry.php';
</script>";
}
?>
Alphard
Profil
Ty závorky mají být takhle:
if (file_get_contents($trestnaky) > 2)
Pár poznámek:
1. Když si uživatel v cookies změní id, stane se třeba i moderátorem?
2. Při vypnutém javascriptu půjde vaše banování do kytek :-)
3. Zdá se mi zbytečné mít pro každé jedno číslo samostatný soubor, dal bych to do jednoho.
Beavis
Profil
drvaca:
Pardon, dneska jsem nějak mimo :-)).
Přesměrovávat se dá i jinak než přes JS (php header(), html meta).
Nahradil bych ještě COOKIE za SESSION, jak už řekl Alphard - SESSIONS jsou přecijenom bezpečnější :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0