2013-03-31 21 views
0

我对PHP仍然很陌生,试图创建一个交互式投票系统。我使用了2个数组,名称保存在一个字符串中。我用我的基于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时添加到该特定名称。当“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()); 
} 
?> 

我真的不知道该从哪里出发。但是这个设置并没有把任何东西放入数据库(我改变了这篇文章的一些名字),即使所有的名字都是正确的。一些示例代码会非常好!但是,如果它太麻烦,请通过我可以采取的一些步骤来谈谈我。

+1

转储任何使用'mysql'的教程,因为它已被弃用且不安全。你应该使用'mysqli'或更好的'PDO'。 – elclanrs

+0

感谢生病开始 – vince

回答

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> 
+0

谢谢你生病尝试 – vince

+0

现在一切正常,除了数组中的名称不会将数据保存到数据库中。任何关于如何解决这个问题的想法? – vince