私はウェブサイトのために非常に単純なphp投票システムを書こうとしています。基本的に、投票は3行のテキストファイルに集計されます。各行は単なる数字です。投票のない投票ファイルは次のようになります。
0
0
0
これが私が使用しているphpです:
$file = "votes.txt";
$votes = file($file);
$votes[0] = intval($votes[0]) + 1;
$voteWrite = strval($votes[0]) . "\n" . strval($votes[1]) . "\n" . strval($votes[2]);
file_put_contents($file, $voteWrite);
したがって、配列はテキストファイルの各行を保持します。これが最初のオプションに投票するためのコードである場合、その行の値は1ずつ増加し、配列全体が1つの文字列に連結された後にファイルに書き戻されます。 、配列の行を保持します。理想的には、テキストファイルは次のようになります。
1
0
0
しかし、代わりにそれは読みます:
10
0
誰かがこれがなぜであるか教えてもらえますか?phpは本当に私と一緒に働きたくない...ありがとう。
編集:
私はこのfile()のものを本当に理解していません...これが私が設定したテストです:
$file = "votes.txt";
$votes = file($file);
$option1 = $votes[0];
$option2 = $votes[1];
$option3 = $votes[2];
続いて、JavaScriptで:
alert(<?php echo $option1; ?>);
alert(<?php echo $option2; ?>);
alert(<?php echo $option3; ?>);
テキストファイルは、3行で28、3、および49を読み取ります。アラートは、「28」、「450」、および「未定義」を返します。なんてこったい?