[英]Page goes up after pressing button PHP
我使用了使用PHP的互聯網日歷。 它具有“下一個”和“上一個”之類的按鈕,當我按下其中一個按鈕時,它將帶我到頁面頂部。 我該如何解決?
這是我創建日歷的代碼:
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
我認為問題不在於您更新的代碼,而在於將$_SERVER['PHP_SELF']
分配給構造函數中的naviHref
。
public function __construct() {
$this->naviHref = htmlentities($_SERVER['PHP_SELF']);
}
在創建Calendar
實例的腳本中讀取$_SERVER['PHP_SELF']
值,並將該值作為參數傳遞給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
類的對象中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.