setcookie并询问投票系统的cookie值

maidi

我想设置一个Cookie,以使用户仅在4类(悲伤,愤怒,有趣,酷)中投票一次。我是一个初学者,所以我知道我的代码很不方便,但这是我的第一次尝试,因此对我来说或多或少地行并不重要。出于某种原因,浏览器将不会加载钢笔投票.php文件(当用户单击一个投票选项时会调用该文件)。我只是找不到错误...也许有人立即看到了吗?[在我插入cookie之前,代码文件已完美加载,因此调用无关紧要。

<?php
require_once('connect.php');
$newsid = $_POST['id'];

if (isset($_POST['submit'])) {
    if(isset($_COOKIE['votecookie']) && $_COOKIE['votecookie'] !== 'sad') {
        if($_COOKIE['votecookie'] == 'cool') {  
            $query = mysql_query('UPDATE `index` SET cool=cool-1 WHERE id = {$newsid}');
        }
        if($_COOKIE['votecookie'] == 'funny') { 
            $query = mysql_query('UPDATE `index` SET funny=funny-1 WHERE id = {$newsid}');
        }
        if($_COOKIE['votecookie'] == 'sad') {   
            $query = mysql_query('UPDATE `index` SET enraging=enraging-1 WHERE id = {$newsid}');
        }
        setcookie('votecookie', 'sad');
        $query = mysql_query('UPDATE `index` SET sad=sad+1 WHERE id = '{$newsid}'');
        $hosts = $_SERVER['HTTP_HOST'];
        $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
        $extras = 'news.php?id={$newsid}&sad=1';
        header('Location: http://$hosts$uris/$extras');
        exit;
    }
    if(!isset($_COOKIE['votecookie']) {
            setcookie('votecookie', 'sad');
            $query = mysql_query('UPDATE `index` SET sad=sad+1 WHERE id = '{$newsid}'');
            $hosts = $_SERVER['HTTP_HOST'];
            $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
            $extras = 'news.php?id={$newsid}&sad=1';
            header('Location: http://$hosts$uris/$extras');
            exit;
        }

        if(isset($_COOKIE['votecookie']) && $_COOKIE['votecookie'] == 'sad') {
            $hosts= $_SERVER['HTTP_HOST'];
            $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
            $extras = 'news.php?id={$newsid}&sad=0';
            header('Location: http://$hosts$uris/$extras');
            exit;
        }
        }
    else {
        $hosts= $_SERVER['HTTP_HOST'];
        $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
        $extras = 'news.php?id={$newsid}&sad=0';
        header('Location: http://$hosts$uris/$extras');
        exit;
        ?>
maidi

如果有人对答案感兴趣:这就是我现在的做法(我的代码中有更多错误,并且推理上也有错误)。

<?php
require_once('connect.php');
$newsid = $_POST['id'];
if (isset($_POST['submit'])) {
    if(isset($_COOKIE[$newsid]) && $_COOKIE[$newsid] != 'sad') {
        if($_COOKIE[$newsid] == 'cool') {   
        $query = mysql_query("UPDATE `index` SET cool=cool-1 WHERE id = '{$newsid}'");
        }
        if($_COOKIE[$newsid] == 'funny') {  
        $query = mysql_query("UPDATE `index` SET funny=funny-1 WHERE id = '{$newsid}'");
        }
        if($_COOKIE[$newsid] == 'enraging') {   
        $query = mysql_query("UPDATE `index` SET enraging=enraging-1 WHERE id = '{$newsid}'");
        }
    $query = mysql_query("UPDATE `index` SET sad=sad+1 WHERE id = '{$newsid}'");
    setcookie($newsid, "sad", time() + (10 * 365 * 24 * 60 * 60));
    $hosts = $_SERVER['HTTP_HOST'];
    $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
    $extras = "news.php?id={$newsid}&sad=1";
    header("Location: http://$hosts$uris/$extras");
        exit;
    }
    if(!isset($_COOKIE[$newsid])) {
        $query = mysql_query("UPDATE `index` SET sad=sad+1 WHERE id = '{$newsid}'");
        setcookie($newsid, "sad", time() + (10 * 365 * 24 * 60 * 60));
        $hosts = $_SERVER['HTTP_HOST'];
        $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
        $extras = "news.php?id={$newsid}&sad=1";
        header("Location: http://$hosts$uris/$extras");
            exit;
    }   
    if(isset($_COOKIE[$newsid]) && $_COOKIE[$newsid] == 'sad') {
        $hosts= $_SERVER['HTTP_HOST'];
        $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
        $extras = "news.php?id={$newsid}&sad=0";
        header("Location: http://$hosts$uris/$extras");
            exit;
    }
}
else {
    $hosts= $_SERVER['HTTP_HOST'];
    $uris = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
    $extras = "news.php?id={$newsid}&sad=0";
    header("Location: http://$hosts$uris/$extras");
    exit;
}
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

js-cookie 的编码值与 php setcookie 不同

来自分类Dev

ActiveRecord信誉系统-如何检查current_user投票的值

来自分类Dev

从Cookie投票5次

来自分类Dev

Laravel投票系统

来自分类Dev

HTML递增投票系统

来自分类Dev

HTML递增投票系统

来自分类Dev

投票系统Java

来自分类Dev

投票系统增票

来自分类Dev

双击投票系统

来自分类Dev

Setcookie没有创建cookie

来自分类Dev

禁用cookie的php setcookie行为

来自分类Dev

PHP投票系统检查选票

来自分类Dev

从头开始投票系统

来自分类Dev

投票系统候选人

来自分类Dev

php中的在线投票系统

来自分类Dev

setcookie和$ _COOKIE在php中的区别

来自分类Dev

系统不断询问cryptswap密码

来自分类Dev

如何选择用户尚未投票的所有项目(投票系统)

来自分类Dev

Reddit式投票系统,如何避免重复投票?

来自分类Dev

使用 setcookie() 使 cookie 变量过期与使用 $_COOKIE = array();

来自分类Dev

带有IP的每日投票系统

来自分类Dev

如何使用MongoDB建模“喜欢”投票系统

来自分类Dev

使用MySQL投票/赞系统发布帖子

来自分类Dev

Codeigniter-在Codeigniter中创建投票系统

来自分类Dev

分布式系统中的投票协议

来自分类Dev

如何创建asp.net投票系统?

来自分类Dev

Codeigniter-在Codeigniter中创建投票系统

来自分类Dev

带有IP的每日投票系统

来自分类Dev

AngularJS的上下投票系统出现问题