我的基于PHP的交互式投票系统无法正常工作

时间:2013-03-31 23:21:58

标签: php

我还是PHP新手并尝试创建交互式投票系统。我使用了两个在字符串中包含名称的数组。我用了

<?php
$array(...,...);
$array2(...,...);
$random = $array; 
$random2 = $array2; 
shuffle($random); 
shuffle($random2);
?>

随机输出名称。

然后我用

创建了一个表单
<form action="action.php" method="post">
<input type="button" onclick="window.location.reload()" value="<?php echo array_pop($random);?>" name="name" />
</form>

<form action="action.php" method="post">
<input type="button" onclick="window.location.reload()" value="<?php echo array_pop($random2);?>" name="haventseen" />
</form>

此时,所有名称都会随机出现在一个按钮中以便点击,点击后会显示2个新名称。我遇到的问题是将信息存储在数据库中。由于它是一个投票系统,我想将它们存储在数据库中,每次用户点击按钮时,+1都会添加到该特定名称。当点击“hasntseen”按钮时,在上面的按钮中点击该名称的+1。这就是我的表格设置方式:

这是一个MySQL 5.0数据库。

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY (id)
name VARCHAR(80)
vote INT(11)
haventseen INT(11)

到目前为止,这是我的代码。

<?php
 $dbname = "db_name";

    $con=mysql_connect
("local","root","pass");
    if(!$con)
    {
    die ('Could not connect: '.mysql_error());  
    }
    echo ('Connected');

mysql_select_db($dbname, $con);

$sql="INSERT INTO `table_name` (`name`)  VALUES ('{$_POST['name']}')";
$sql="INSERT INTO `table_name` (`name`)  VALUES ('{$_POST['haventseen']}')";

if (!mysql_query($sql, $con))
{
    die('Error: ' . mysql_error());
}
?>

我不确定从哪里开始。但是这个设置并没有把任何东西放到数据库中(我为这篇文章改了一些名字),即使所有的名字都是正确的。一些示例代码非常好!但如果它太麻烦,请告诉我我可以采取的一些步骤。

1 个答案:

答案 0 :(得分:0)

您必须提交表单才能使用$ _GET,$ _POST,$ _REQUEST获取值。

以下部分刷新页面而不是提交表单。我相信这就是问题所在。

<form action="action.php" method="post">
<input type="button" onclick="window.location.reload()" value="<?php echo array_pop($random);?>" name="name" />
</form>

<form action="action.php" method="post">
<input type="button" onclick="window.location.reload()" value="<?php echo array_pop($random2);?>" name="haventseen" />
</form>

尝试使用&#34;提交&#34;而不是&#34;按钮&#34;。

<form action="action.php" method="post">
<input type="submit" value="<?php echo array_pop($random);?>" name="name" />
</form>

<form action="action.php" method="post">
<input type="submit" value="<?php echo array_pop($random2);?>" name="haventseen" />
</form>

此外,如果您想同时获取它们,则必须将它们放在同一个表单中。在这种情况下,您的方法应该是;

<form action="action.php" method="post">
<input type="button" onclick="/*SUBMIT THE FORM*/" value="<?php echo array_pop($random);?>" name="name" />
</form>

<form action="action.php" method="post">
<input type="button" onclick="/*SUBMIT THE FORM*/" value="<?php echo array_pop($random2);?>" name="haventseen" />
</form>