Autor Zpráva
Werewolf
Profil
Ahoj, dělám si anktení systém bez DB. Zobrazení mám, dokáže to načíst počet hlasů, výšku, šířku, procenta, ale pořád mi nejde hlasovat. Musím soubory přepisovat ručně. Kód:

$hlasovaci_soubor = "./".$root."n".$vote.".dat";,
$hlasuj = fopen($hlasovaci_soubor, "w+");
$hlasu = fgc($hlasovaci_soubor);
$zvednuty_hlas = $hlasu + 1;
if(!is_numeric($hlasuj)) { echo("<h1>Chyba!</h1><p>Kontaktujte admina</p>"); }
$hlasuju = fwrite($hlasuj, $zvednuty_hlas);
fclose($hlasuj);
Header("Location: index.php?id=".$id);


A vždycky, ať už je počet jakýkoli, se mi "zvětší" na jedna, přitom se má zvětšit o jedna. Je to proto, že proměnná $hlasu nevrací nic. Ano, proč se na to ptám, když 0 + 1 je přece 1. Ale mohl by mi někdo říct, proč ta proměnná nic nevrací?

Díky, Werewolf

P.S. Funkci fgc() mám definovanou, jde jen o zkratku file_get_contents().

Edit: $hlasovaci_soubor je správná cesta, nechal jsem si to vypsat.
XMireczech
Profil *
<?
$hlasovaci_soubor = "./test.dat";
$hlasu = file_get_contents($hlasovaci_soubor);
$hlasuj = fopen($hlasovaci_soubor, "w+");
$zvednuty_hlas = $hlasu + 1;
if(!is_numeric($hlasu)) { echo("<h1>Chyba!</h1><p>Kontaktujte admina</p>"); }
$hlasuju = fwrite($hlasuj, $zvednuty_hlas);
echo $zvednuty_hlas;
fclose($hlasuj);
?>

Problem jsi mel v podmince kde jsi testoval is_numeric a dale bylo treba prehodit nacteni hodnoty z souboru pred otevreni souboru.

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: