我非常沮丧,我无法使其工作。我已经尝试了几种不同的方法来解决这个问题,并且从所有的例子和代码中我已经读到了这个应该可以工作,但事实并非如此。获取导致错误的Cookie 00
2012-10-19 19:24:04.533 192.168.1.62 "-" "WEBMATRIX" "-" 192.168.1.62 POST /Actions/NewTicket.php - 500 0 6149 688 45 -11640 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4" "QCUserID=1" "http://192.168.1.62:53896/NewTicketPage.html" "-" "192.168.1.62:53896" 0
WebMatrix中/动作/ login.php中< - 这工作。我可以在Chrome浏览器中看到它。它看起来像是在日志错误。
<?php
//set vars
require_once(__DIR__ . "/GlobalCookies.php");
GC_ClearCookie("QCUserID");
$user = $_POST['username'];
$pass = $_POST['password'];
require_once(__DIR__ . "/db.php");
$query = sprintf("SELECT * FROM users WHERE UserInitials='%s' AND UserPassword='%s'", mysql_real_escape_string($user),mysql_real_escape_string($pass));
$result = mysql_query($query);
$rows = mysql_num_rows($result);
if($rows!=0)
{
$row = mysql_fetch_row($result);
GC_SetCookie("QCUserID", $row[0]);
header("refresh:0;url=../DashboardPage.php");
}
else
{
echo("User Not Found, redirecting to login page in 3 seconds");
header("refresh:3;url=../index.php");
}
?>
WebMatrix中/动作/ GlobalCookies.php < - 奇怪的是,它没有得到>在文件的结尾。我也没抬一下如何做一个功能的文件,我只是复制其中一些来自Mantisbt。但是,如果我有它,并尝试在login.php中使用它,它抛出一个错误500
<?php
function GC_GetCookie($p_var_name, $p_default = null)
{
if(isset($_COOKIE[$p_var_name]))
{
$t_result = gpc_strip_slashes($_COOKIE[$p_var_name]);
}
else if(func_num_args() > 1)
{
//check for a default passed in (allowing null)
$t_result = $p_default;
}
else
{
error_parameters($p_var_name);
trigger_error(ERROR_GPC_VAR_NOT_FOUND, ERROR);
}
return $t_result;
}
function GC_SetCookie($p_name, $p_value, $p_httponly = true)
{
return setcookie($p_name, $p_value, 36000, "/");
}
function GC_ClearCookie($p_name)
{
return setcookie($p_name, '', -1, "/");
}
WebMatrix中/动作/ NewTicket.php < - 失败
<?php
error_reporting(-1);
require_once(__DIR__ . "/db.php");
require_once(__DIR__ . "/GlobalCookies.php");
$serial = $_POST['serialNumber'];
$model = $_POST['modelNumber'];
$company = $_POST['companyName'];
$special = $_POST['specialNote'];
$userID = GC_GetCookie("QCUserID",1); //Error 500 here
echo($userID."<br>");
?>
这似乎是这样一个简单事情,但我一直在努力几天..我在Google上的搜索没有任何结果。谢谢你的时间....对于咯咯的笑声,我试图在IE浏览器上的另一台计算机上,它的工作原理....奇怪。
你可以从与50对应的错误日志中发布条目吗? –
'gpc_strip_slashes()'不是一个本地PHP函数,它来自Mantis,你没有定义它。这可能是错误的原因。 –
你有在任何地方定义的函数'gpc_strip_slashes'吗?添加'error_reporting(E_ALL); ini_set('display_errors',1);'在PHP文件开始测试期间,它会告诉你错误消息,而不是通用的500页。您也可以检查服务器error_log文件中是否存在PHP错误的原因。 – drew010