请大家帮忙看一个逻辑问题

an9ryfr09 2006-04-28 05:46:12
我在写一个日历程序,用的纯php,没有使用js.不连数据库.我现在在初始化变量方面上面遇到了个小问题,可能是代码写多了脑子晕了.


<< 2006 >> << 01 >>
星期日 星期一 星期二 星期三 星期四 星期五 星期六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

外观是这个样子,要求点击那些"<<,>>"可以翻页.关于这个"<<,>>"我用的是查询字符串的方式,<a href="calendar.php?Year=<?=$Year-1?>&Month=<?=$Month?>" onClick="javascript:document.linked.submit();" name="Year"><<</a>


我想页面刚读取后,获取系统当前日期,但是当点击"<<,>>"后,就让年份和月份自增和自减,但是初始值这里到底怎么设置呢?如果我只这样赋值:
$Year = $_GET["Year"];
$Month = $_GET["Month"];

那么页面刚刚读取的时候,年份和月份都是null,就是没有显示.可是如果这样赋值:
$Year = date("Y");
$Month = date("m");
$Year = $_GET["Year"];
$Month = $_GET["Month"];
它还是null,因为一开始赋上的值又被后面的$_GET["Year"]替代了,此时$_GET["Year"]还是null.

我想做个逻辑判断:
if(isset($Year) == null and isset($Month) == null)
{
$Year = date("Y");
$Month = date("m");
}
else
{
$Year = $_GET["Year"];
$Month = $_GET["Month"];
}

这样初始值系统当前时间是能用了,但是翻页却无效了.实在想不明白,当重新刷新页面之后,$Year和$Month应该已经不是null了啊.

怎样做才能达到我的目的呢?请高手指点一下.谢谢了
...全文
114 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
an9ryfr09 2006-04-28
  • 打赏
  • 举报
回复
谢谢老大,原来isset()并不能判断变量是否存在值,必须用empty()这个函数.
null != ""?
xuzuning 2006-04-28
  • 打赏
  • 举报
回复
if(empty($_GET['Year']) and empty($_GET['Month'])){
$Year = date("Y");
$Month = date("m");
}
else
{
$Year = $_GET["Year"];
$Month = $_GET["Month"];
}

一般写成这要要好一点
$Year = empty($_GET['Year']) ? date("Y"): $_GET["Year"];
$Month = empty($_GET['Month'])) ? date("m"): $_GET["Month"];

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧