PHP中的简单投票系统

时间:2015-03-12 15:52:43

标签: php

我试图为我们的网站制作简单的投票功能。其中的东西不起作用。

if(isset($_POST['vote']))
{
    if($_POST['rate'] == "rate_1")
    {
        $rate = 'rate_1';
        $rate_opload = ++$rest['rate_1'];
    }

    if else($_POST['rate'] == "rate_2")
    {
        $rate = 'rate_2';
        $rate_opload = ++$rest['rate_2'];
    }

    if else($_POST['rate'] == "rate_3")
    {
        $rate = 'rate_3';
        $rate_opload = ++$rest['rate_3'];
    }

    if else($_POST['rate'] == "rate_4")
    {
        $rate = 'rate_4';
        $rate_opload = ++$rest['rate_4'];
    }

    if else($_POST['rate'] == "rate_5")
    {
        $rate = 'rate_5';
        $rate_opload = ++$rest['rate_5'];
    }

    $sql = "INSERT INTO kaffe ('{$rate}') VALUES ('{$rate_opload}')";
    mysql_query($sql);
}

您可以看到有五个不同的列,因为我们需要其他部分的平均值。 我不知道是否有必要,但这里是选项表格

<form method=\"post\" id=\"vote\">
  <select name=\"rate\">
    <option value=\"rate_1\" >&#x2605;</option>
    <option value=\"rate_2\" >&#x2605;&#x2605</option>
    <option value=\"rate_3\" >&#x2605;&#x2605;&#x2605;</option>
    <option value=\"rate_4\">&#x2605;&#x2605;&#x2605;&#x2605;</option>
    <option value=\"rate_5\">&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;</option>  
  </select>
  <button type=\"submit\" form=\"vote\" value=\"vote\" class=\"fsSubmitButton\">Rösta</button>

2 个答案:

答案 0 :(得分:1)

首先你忘了把名字=&#34;投票&#34;进入你的HTML格式

<form method=\"post\" id=\"vote\">
<select name=\"rate\">
<option value=\"rate_1\" >&#x2605;</option>
<option value=\"rate_2\" >&#x2605;&#x2605</option>
<option value=\"rate_3\" >&#x2605;&#x2605;&#x2605;</option>
<option value=\"rate_4\">&#x2605;&#x2605;&#x2605;&#x2605;</option>
<option value=\"rate_5\">&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;</option>  
</select>
<button type=\"submit\" name="vote" form=\"vote\" value=\"vote\" class=\"fsSubmitButton\">Rösta</button>

其次是else if而不是if else,你的代码可以更紧凑,现在mysql函数deprecated使用mysqli

$link = mysqli_connect("localhost", "my_user", "my_password", "world");// Connect to database using mysqli function since mysql function are deprecated
if(isset($_POST['vote']))
{
    if($_POST['rate'] == 'rate_1' | $_POST['rate'] == 'rate_2' | $_POST['rate'] == 'rate_3' | $_POST['rate'] == 'rate_4' |$_POST['rate'] == 'rate_5'){
        $rate = $_POST['rate'];
        $rate_opload = ++$rest[$rate];

        $sql = mysqli_prepare($link, "INSERT INTO kaffe ('{$rate}') VALUES (?)");
        mysqli_stmt_bind_param($sql , $rate_opload);
        mysqli_stmt_execute($sql);
     }
}

答案 1 :(得分:0)

 if(isset($_POST['vote'])) 
未到达

,您必须在提交按钮

中添加name =“vote”