Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Outo ongelma (jaollisuuden kanssa kai)

Jyrpykkä [14.06.2006 11:21:24]

#

Eli tein testiä, joka toimii tekstitiedostoilla ja lataa tietystä tekstitiedostosta KAIKKIEN käyttäjien KAIKKI tiedot. Laitoin kirjautumisen estoksi myös sen, että jos IP ei ole tekstitiedostossa allowedIPs.txt, ei pääse sisään (en käytä tässä php:n omaa kirjautumistoimintoa, koska tämä on vain testi) ja jos on käyttäjä on kirjautunut yli $maxlog (4) kertaa, ei pääse sisään. Ongelmana tässä kuitenkin varmaan on toi jaollisuusehtolause, koska ohjelma tulostaa mulla ainakin vain $userlistin viimeisen ysillä jaollisen rivin ja käyttää ehtolauseet ainoastaan sitä käyttäen, vaikka $i+7 löytyisikin allowedIPs-tiedostosta. Miten ongelman voisi korjata?

$userlist = file("userlist.txt");

$allowedIPs = file("allowedIPs.txt");

$maxlog = file("maxlog.txt");

for($i=9 ; $i < count($userlist) ; $i=$i+9) {
$tmp = $userlist[$i+7];
$tmp = str_replace("\n","",$tmp);

$tlg = $userlist[$i+8];
$tlg = str_replace("\n","",$tlg);

$maxlog[0] = str_replace("\n","",$maxlog[0]);

if(array_search($tmp,$allowedIPs) && $tlg < $maxlog[0]) {
echo "<center><form action='userregard.php' method='post'><input type='submit' value='".$userlist[$i+5]."' name='ent'><input type='hidden' value='".$userlist[$i]."' name='userent'></form></center><br>";
}
}

Joo sain selville, että ongelma on varmaankin tos array_search($tmp,£allowedIPs)-funktiossa, koska ilman sitä toimi, mutta ei silti sillä tavalla, kun olin ajatellut. Miten ton array_search-jutksan vois korjata? Koitin tilalle in_array:ta, mut toimi samalla tavalla.

T.M. [14.06.2006 16:15:42]

#

Luulen että se ei toimi siksi, koska $allowedIPs taulukossa joka solun viimeinen merkki on rivinvaihto.
Eli etsi merkkijonoa: $tmp."\n" (mikäli käytät rivinvaihtona \n:ää
Tai sitten poista rivi $tmp = str_replace("\n","",$tmp);

Jyrpykkä [14.06.2006 17:56:23]

#

Erhm... Poistan ton \n:n tossa rivin 9 paikkeilla :/

T.M. [14.06.2006 19:28:02]

#

Sitten se toinen vaihtoehto jonka sanoin...?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta