Re: Failed to write to a text file (text file is RW) [message #171425 is a reply to message #171418] |
Sun, 02 January 2011 23:56 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 1/2/2011 5:00 PM, Denis McMahon wrote:
> On 02/01/11 20:19, justaguy wrote:
>
>> I dig up the following script. Added a simple HTML file with a form
>> field named "vote" and have it send to the following php script.
>> However, it failed to write to the poll_result.txt file. Why?
>
> The following seems to work for me.
>
> <?php
> $filename = "poll_result.txt";
> if (isset($_POST['vote'])) {
> $vote = intval($_POST['vote']); // get this vote
> $content = file($filename); // read result file
> $array = explode("||", $content[0]);
> $yes = intval($array[0]); // get stored results
> $no = intval($array[1]);
> if ($vote == 1) $yes++; // increment one
> if ($vote == 0) $no++;
> $insertvote = $yes."||".$no; // new result string
> }
> else {
> $insertvote = "0||0\n"; // reset result string
> $yes = 0;
> $no = 0;
> }
> $fp = fopen($filename,"w"); // store results
> fputs($fp,$insertvote);
> fclose($fp);
> echo<<<EOT
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
> "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Yes-No Poll</title>
> </head>
> <body style="padding:1em 3em">
> <form method="post" action="quickpoll.php" name="f1" id="f1">
> <p>Yes:<input type="radio" name="vote" id="v1_1" value="1"><br>
> No:<input type="radio" name="vote" id="v1_0" value="0"><br>
> <input type="submit" value="Vote Now" name="s1" id="s1"></p>
> </form>
> <p>The results so far:<br>
> Yes: $yes votes<br>
> No: $no votes</p>
> </body>
> </html>
> EOT;
> ?>
>
> Rgds
>
> Denis McMahon
Like the original op's, your code is totally unsafe in a multitasking
environment.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|