『壹』 php mysql簡單投票系統
PHP:
<?php
header('Content-Type:text/html;charset=utf-8');
mysql_connect("localhost","root","")ordie('Thedatabaseconnectionfailed');
mysql_select_db("vote")ordie('Thedatabaseiswrongchoice');
mysql_query('SETNAMESUTF8');
if(isset($_POST['name']))
{
@mysql_query("UPDATE`list`SET`votes`=(SELECT`votes`FROM(SELECT*FROMlist)asbWHERE`id`={$_POST['name']})+1WHERE`id`={$_POST['name']}");
$result=@mysql_query("SELECT*FROM`list`");
echo"當前票數:";
while($query=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo$query['name'].":{$query['votes']}<br/>";
}
echo"<ahref='javascript:history.go(-1)'>返回上頁</a>";
}
else
{
$result=@mysql_query("SELECT*FROM`list`");
echo'<formmethod="post">';
echo"誰最聰明:";
while($query=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo"<inputtype='radio'name='name'value='{$query['id']}'>".$query['name'];
}
echo'<br/><inputtype="submit"value="投票">';
echo'</form>';
}
?>
mysql:
SETSQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATEDATABASE`vote`_general_ci;
USE`vote`;
CREATETABLE`list`(
`id`int(11)NOTNULLauto_increment,
`name`varchar(20)NOTNULL,
`votes`int(11)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=3;
INSERTINTO`list`VALUES(1,'小明',0);
INSERTINTO`list`VALUES(2,'小文',0);
我覺得也夠簡單了
『貳』 用php寫一個在線投票程序,這段代碼是用戶投票的,但是只能投一票就死掉了,我希望每副作品都能投一票
「一個用戶每天對同一個作品只能投一票,能投的作品數量不限制。」
如果要達到這樣的效果,你需要$_GET["id"] 與 Session聯系起來,就是說,需要對於每個作品設置一個session變數。大概代碼如下:
<?
session_set_cookie_params(86400);
session_start();
if (session_is_registered("tp_".$_GET['id'])) { //此處修改為tp_id
echo "<script>alert('您已經投過票了哦^_^');location='index.php';</script>";
exit;
} else {
$tp = "ok";
session_register("tp_".$_GET['id']);//此處修改為tp_id
}
require_once ("sys_conf.inc");
$link_id = mysql_connect($DBHOST, $DBUSER, $DBPWD);
mysql_select_db($DBNAME);
mysql_query("SET NAMES 'GBK'");
$sql = "update photo set p=p+1 where id=" . $_GET["id"];
mysql_query($sql);
echo "<script>alert('投票成功');location='index.php';</script>";
?>
『叄』 php投票系統源代碼!請大俠幫我修改!
你的 switch 的代碼是錯誤的,應該是這樣的:
switch($_POST['vote']){//判斷選擇投票的項目
case "toupiao":
toupiao1();
break;
default:
toupiao2();
}
你應該把PHP的錯誤報告顯示關掉了,所以沒顯示錯誤
打開php.ini 文件找到 error_reporting,把它設置成:
error_reporting = E_ALL & ~E_NOTICE