我想设置一个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;
?>
如果有人对答案感兴趣:这就是我现在的做法(我的代码中有更多错误,并且推理上也有错误)。
<?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] 删除。
我来说两句