我使用了互联网上使用PHP的日历。它有“next”和“prev”等按钮,当我按下其中一个按钮时,它会将我带到页面顶部。我该如何解决这个问题?
这是我创建日历的代码:
return
'<div class="header">'.
'<a class="prev" href="'.$this->naviHref.'?
month='.sprintf('%02d',$preMonth).'&year='.$preYear.'">Prev</a>'.
'<span class="title">'.date('Y M',strtotime($this->currentYear.'-'.$this->currentMonth.'-1')).'</span>'.
'<a class="next" href="'.$this->naviHref.'?month='.sprintf("%02d", $nextMonth).'&year='.$nextYear.'">Next</a>'.
'</div>';
}
这里是calendar.php
答案 0 :(得分:0)
我认为问题不在于您的更新代码,而在于在构造函数中将$_SERVER['PHP_SELF']
分配给naviHref
。
public function __construct() {
$this->naviHref = htmlentities($_SERVER['PHP_SELF']);
}
读取创建$_SERVER['PHP_SELF']
实例的脚本中的Calendar
值,并将该值作为参数传递给Calendar
构造函数。其中将分配给naviHref
。
此外,show()
中的前两行是提醒通知
$year == null;
$month == null;
将其更改为
$year = null;
$month = null;
修改强>:
为了使用您的日历组件,您必须创建一个它的实例,Calendar
类型的对象,如下所示:
$calendar = new Calendar();
这发生在一个php文件中。
但在执行此步骤之前,请将$_SERVER['PHP_SELF']
的值分配给变量。像这样:
$naviHref = htmlentities($_SERVER['PHP_SELF']);
然后创建类型为Calendar
的对象,并将变量作为参数传递给它。像这样:
$calendar = new Calendar($naviHref);
因此,最后您将在php页面中拥有以下代码:
$naviHref = htmlentities($_SERVER['PHP_SELF']);
$calendar = new Calendar($naviHref);
echo $calendar->show();
在此之后,转到Calendar
构造函数并将其更改为:
public function __construct($naviHref) {
$this->naviHref = $naviHref;
}
这样您就可以将变量$ naviHref注入到类Calendar
的对象中。