Mam anketu,no ale nejde hlasovat.Tváří se to jako by nic a nepřipočítává to hlasy :o(
Tady je zdroj:
<?
if(vote=="1"):
$f1 = fopen("ano.txt",r);
$hit1 = fputs($f1, 10)+1;
rewind($f1);
Fputs($f1, $hit1);
fclose($f1);
endif;
if(vote=="2"):
$f2 = fopen("nevim.txt",r);
$hit2 = fputs($f2, 10)+1;
rewind($f2);
Fputs($f2, $hit2);
fclose($f2);
endif;
if(vote=="3"):
$f3 = fopen("ne.txt",r);
$hit3 = fputs($f3, 10)+1;
rewind($f3);
Fputs($f3, $hit3);
fclose($f3);
endif;
?>
<head>
<title>Jednoduchá anketa v PHP</title>
<link href="styl.css" rel="stylesheet">
</head>
<body>
Myslíte si že počítače <b>ničí život lidem</b>?<br><br>
<a href="anketa.php?vote=1">Ano</a> <i><font color=white>(<?include "ano.txt"?> lidí)</font></i><br>
<a href="anketa.php?vote=2">Nevím</a> <i><font color=white>(<?include "nevim.txt"?> lidí)</font></i><br>
<a href="anketa.php?vote=3">Ne</a> <i><font color=white>(<?include "ne.txt"?> lidí)</font></i><br>
</body>
tvuj problem je v tomto :
if(vote=="1"):
$f1 = fopen("ano.txt",r);
$hit1 = fputs($f1, 10)+1;//* toto bych si prelozil asi jako zapis deset a pricti jena*//
rewind($f1);//smaz zapsane
Fputs($f1, $hit1);//zapis "1"
fclose($f1);
endif;
ale nejsem php tak se mozna mylim
No ale ono to je tak:
if(vote=="1"):
$f1 = fopen("ano.txt",r); //votevři "ano.txt"
$hit1 = fputs($f1, 10)+1; //inicializace přičtení hlasu
rewind($f1); // Nastav kurzor na začátek souboru
Fputs($f1, $hit1); //přičti k tomu co je v souboru "1"
fclose($f1); //no a zavři ten soubor
endif;
if(vote=="1"):
$f1 = fopen("ano.txt",r);
$hit1 = fputs($f1, 10)+1; // tohle je úplný nesmysl
rewind($f1);
Fputs($f1, $hit1);
fclose($f1);
endif;
Má to fungovat asi takto, že?
if (vote==1):
otevři soubor "ano.php"
zapiš do proměnné $hit1 obsah souboru (počet hlasů)
vrať se na začátek souboru
zapiš do něj proměnnou $hit1
zavři soubor
endif;
Já to se soubory moc neumím a určitě to je dosti neobratné, ale teď bych to udělal takto:
if ($vote == 1):
$fp = FOpen("ano.php", r);
$hits = FGetS($fp, 10);
FClose($fp);
$fp = FOpen("ano.php", w); // w ... smaže starý soubor a vytvoří nový soubor se stejným jménem pro zápis
FPutS($fp, $hits+1);
FClose($fp);
endif;