0

我还是 PHP 新手,正在尝试创建一个交互式投票系统。我使用了 2 个将名称保存在字符串中的数组。我用了

<?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 时都会添加到该特定名称。并且当单击“haventseen”按钮时,在 haventseen 行上方的按钮中对该名称 +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());
}
?>

我真的不知道从这里去哪里。但是即使所有名称都正确,此设置也不会将任何内容放入数据库(我为这篇文章更改了一些名称)。一些示例代码会非常好!但是,如果它太麻烦,请告诉我一些我可以采取的步骤。

4

1 回答 1

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>

尝试使用“提交”而不是“按钮”。

<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>
于 2013-04-01T00:38:39.750 回答