The PHP online investigation system is a simple voting program. it is a good entry-level program for PHP and friends. I would like to introduce you here, hoping to help you. This system is composed of the following four files: survey.htmwith html, survey.php with real-time investigation functions, data.txt with survey item objectives, and PHP online investigation system with survey results
This is a simple voting program. it is a good entry-level program for PHP and friends. I would like to introduce you here, hoping to help you.
The system consists of the following four files: NOTEPAD we can create them with NOTEPAD and upload them to the program directory. The file data.txt is stored in the project to be investigated. each project should be in the same line, and survey.txt can be an empty file without any content.
The Survey.htm code can be as follows:
Survey
The survey items in the survey file data.txt must be consistent with the number and order of the above survey items. otherwise, errors may occur or the survey results may be inaccurate. At the same time, in order to display the survey results in a bar chart, we should prepare several Bar images of different colors. For example, 0.gif,1.gif,2.gif,3.gif,4.gif.
The following is the survey. php code that implements the investigation function:
$ Data = "data.txt ";
$ Votes = "survey.txt ";
$ Dataf = file ($ data);/* read the project in the survey project file */
$ File_votes = fopen ($ votes, "r ");
$ Line_votes = fgets ($ file_votes, 255);/* read the recorded Survey Results */
Fclose ($ file_votes );
$ Single_vote = explode ("|", $ line_votes);/* cut the data according to the specified string, and then pass the string back to the array variable */
If ($ result! = 1)/* if you have already received the investigation */
{
$ File_votes = file ($ votes, "r ");
If ($ REMOTE_ADDR = $ file_votes [1])/* check whether the same person is the same */
{
Echo" You have already voted. thank you for your participation! ";
Exit;
}
/* If the IP address is not repeated, execute the following program */
$ Ficdest = fopen ($ votes, "w ");
For ($ I = 0; $ I <= count ($ dataf)-1; $ I)
{
If ($ I = $ vote)
{/* Determine the selected project */
$ Single_vote [$ I] = 1;
}
Fputs ($ ficdest, "$ single_vote [$ I] |");/* write data back to a file */
}
Fputs ($ ficdest, "\ n $ REMOTE_ADDR");/* // IP address of the writer */
Fclose ($ ficdest );
$ Result = 1;/* vote successful */
}
/* Write the voting result and display the voting result */
If ($ result = 1)
{
Echo"
";For ($ I = 0; $ I <= count ($ dataf)-1; $ I){/* Obtain the total number of votes */$ Tot_votes = $ single_vote [$ I];}For ($ I = 0; $ I <= count ($ dataf)-1; $ I){$ Imag = strval ($ I). ". gif";/* determine which bar image is used to display the statistical result */$ Stat [$ I] = $ single_vote [$ I]/$ tot_votes * 100;/* calculate the percentage */$ Scla = $ stat [$ I] * 5;/* bar chart and magnification, which are displayed by a pixel width of 5 times of the security percentage */Echo"
"; Echo "$ dataf [$ I] |
"; Echo "";/* output bar code */ Printf ("%. 1f", "$ stat [$ I]"); Echo "% |
"; /* Output the number of votes in this topic */ Echo "$ single_vote [$ I]"; Echo" |
";}Echo"
";
Echo "Total votes: $ tot_votes ";
}
?>
Note:
Here, to prevent one-man multi-vote from being implemented by recording the IP address of the most recent voter, the most recent voting IP address is stored in the environment variable REMOTE_ADDR when the WEB client sends a request to the server.
I am also a beginner. There may be many mistakes and mistakes in this article. You are welcome to give your valuable comments and suggestions. Thank you!
Personal Homepage: http://bamboo.oso.com.cn
Email: wangyy@363.net