我不明白这个错误,而且我从来没有使用过“INPUT_GET,'wk',FILTER_SANITIZE_STRING”之前有人可以解释一下或帮助解决这个问题。
错误 注意:使用未定义的常量“wk” - 在第172行的/Applications/MAMP/htdocs/Calendar/test1.php中假设为“'wk”
代码
if(!filter_input(INPUT_GET, ‘wk’, FILTER_SANITIZE_STRING))
{
$week = $weekOfToday;
}
else
{
$week = filter_input(INPUT_GET, ‘wk’, FILTER_SANITIZE_STRING);
}
答案 0 :(得分:2)
我使用此代码:
if(filter_has_var(INPUT_GET, 'wk'))
$week=filter_input(INPUT_GET, 'wk', FILTER_SANITIZE_STRING);
if(empty($week)) $week=$weekOfToday;
看起来您的代码问题实际上只是wk
周围的引号。使用常规单引号。
其他一些对我来说很奇怪的是$周被过滤为一个字符串。周数通常作为数字处理。如同从一年开始的周数。如果是这种情况,那么这是更好的代码:
if(filter_has_var(INPUT_GET, 'wk'))
$week=filter_input(INPUT_GET, 'wk', FILTER_SANITIZE_NUMBER_INT);
if(empty($week)||$week<1||$week>53) $week=$weekOfToday;
或类似的东西。处理周数的问题在于,有一些不同的系统可用于确定一年中的第一周。有时它是第一个太阳的一周,有时是第一个星期一,但是usually it is the week with the first Thur。您将需要确定您正在使用的系统。因为很难向客户解释这个问题,所以我建议你以一种方式制作你的程序,当他们改变主意思考他们想要使用哪一个时,这是一个简单的解决方法。