Tein tässä alkeellisen laskurin joka käyttää keksejä katsoakseen että laskirin lukema ei nouse päivittämällä sivua mutta tässä ilmenee ongelma "kelluvien osoitteiden" kanssa sillä kun kelluva osoite ei ole käytössä se toimii ja kun on se ei toimi (ei luo keksiä oikein) eli olisiko helppoa tapaa ratkaista?
<?php $tunnus = $_GET["tunnus"]; $k = $_COOKIE[$tunnus]; $tiedosto = $tunnus . ".txt"; if (file_exists($tiedosto)) { if ($k == 1) { } else{ $tierosto = file("$tiedosto"); $visit = $tierosto[0]; $visit++; $write = fopen("$tiedosto", w); fwrite($write, $visit); fclose($write); setcookie($tunnus, "1", time() + 60 * 60 * 1); } $tierosto = file("$tiedosto"); $visit = $tierosto[0]; $im = imagecreate(70, 20); // white background and blue text $bg = imagecolorallocate($im, 255, 255, 255); $textcolor = imagecolorallocate($im, 0, 0, 0); $textcolor2 = imagecolorallocate($im, 255, 0, 0); // write the string at the top left if ($visit < 10) { imagestring($im, 5, 60, 0, $visit, $textcolor); } elseif ($visit == 10 or $visit > 10 and $visit < 100){ imagestring($im, 5, 50, 0, $visit, $textcolor); } elseif ($visit == 100 or $visit > 100 and $visit < 1000){ imagestring($im, 5, 40, 0, $visit, $textcolor); } elseif ($visit == 1000 or $visit > 1000 and $visit < 10000) { imagestring($im, 5, 30, 0, $visit, $textcolor); } elseif ($visit == 10000 or $visit > 10000 and $visit < 100000) { imagestring($im, 5, 20, 0, $visit, $textcolor); } elseif ($visit == 100000 or $visit > 100000 and $visit < 1000000) { imagestring($im, 5, 10, 0, $visit, $textcolor); } else { imagestring($im, 5, 10, 0, "Error", $textcolor2); } // output the image header("Content-type: image/png"); imagejpeg($im); } else { $im = imagecreate(70, 20); // white background and blue text $bg = imagecolorallocate($im, 255, 255, 255); $textcolor2 = imagecolorallocate($im, 255, 0, 0); imagestring($im, 5, 10, 0, "Error", $textcolor2); header("Content-type: image/png"); imagejpeg($im); } ?>
(tein tämän äkkiä joten parempia tapoja kaikkien noiden tekemiseen olisi varmaankin ollut mutta nyt näin jos joku saisi noita keksejä vaivaavan ongelman selville olisin kiitollinen)
setcookie($tunnus, "1", time()+60*60, "/");
Vois kaiketi toimia, eli lisäsin kauttaviivan seuraavaksi parametriksi. Pitäisi tämän avulla tunnistaa keksi millä tahansa polulla siinä osoitteessa.
kokeilen tuota
Aihe on jo aika vanha, joten et voi enää vastata siihen.