Home  >  Article  >  Backend Development  >  Use PHP arrays to implement online voting and survey functions

Use PHP arrays to implement online voting and survey functions

王林
王林Original
2023-07-19 22:57:171338browse

Use PHP arrays to implement online voting and survey functions

With the development of the Internet, online voting and surveys are becoming more and more common. Using PHP arrays, we can easily implement these functions. This article will introduce how to use PHP arrays to create a simple online voting and survey system, and provide code examples.

First, we need to create an array containing voting options. For example, if we wanted to create a poll asking users for their favorite fruit, we could use the following code:

$options = array(
    "苹果",
    "香蕉",
    "橙子",
    "草莓",
    "葡萄"
);

Next, we need to display the voting options for the user to choose from. You can use a loop to iterate through the array and display each option in the HTML form. Here is a sample code:

echo "<form method='post' action='vote.php'>";
foreach($options as $option) {
    echo "<input type='radio' name='vote' value='$option'>$option<br>";
}
echo "<input type='submit' value='投票'>";
echo "</form>";

In the above code, we have created an HTML form and used a loop to iterate through the array, displaying each option as a radio button.

Then, we need to create a PHP script that receives the voting results. We'll name it vote.php. The following is the sample code of vote.php:

if(isset($_POST['vote'])) {
    $vote = $_POST['vote'];
    // 将投票结果存储在一个文本文件中
    $file = 'votes.txt';
    // 检查文件是否存在,如果不存在则创建新文件
    if(!file_exists($file)) {
        fopen($file, "w");
    }
    // 读取当前投票结果
    $votes = file_get_contents($file);
    // 将投票结果解析为数组
    $votes = json_decode($votes, true);
    // 如果投票结果为空,则创建一个新的数组
    if(empty($votes)) {
        $votes = array();
    }
    // 将投票结果存储到数组中
    if(array_key_exists($vote, $votes)) {
        $votes[$vote]++;
    } else {
        $votes[$vote] = 1;
    }
    // 将投票结果转换为JSON字符串并保存到文件中
    file_put_contents($file, json_encode($votes));
    echo "感谢您的投票!";
}

In the above code, we first check whether the user has voted and get the voting results. We then store the voting results in a text file. A simple text file is used here to store the voting results, but in actual applications, a database can be used to store more complex data structures.

Finally, we can create a PHP script that displays the voting results. We'll name it results.php. Here is the sample code for results.php:

$file = 'votes.txt';
if(file_exists($file)) {
    $votes = file_get_contents($file);
    $votes = json_decode($votes, true);
    if(!empty($votes)) {
        foreach($votes as $option => $count) {
            echo "$option:$count 票<br>";
        }
    } else {
        echo "暂无投票结果";
    }
} else {
    echo "暂无投票结果";
}

In the above code, we read the previously saved voting results and display them to the user.

Through the above code example, we can implement a simple online voting and survey system. By using PHP arrays and files to store voting results, we can easily manage this data. Of course, real-life applications may require more complex storage and presentation methods, but this example can be used as a starting point to extend and customize.

To summarize, we can easily create a simple online voting and survey system using PHP arrays. Using a loop through an array to display the voting options and a file to store the voting results, we can implement a simple yet efficient system. Of course, this is just a simple example, and actual applications may require more complex functions and data management methods. Hope this article is helpful to you.

The above is the detailed content of Use PHP arrays to implement online voting and survey functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn