簡體   English   中英

按下按鈕PHP后頁面上升

[英]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

https://ideone.com/SkECOp

我認為問題不在於您更新的代碼,而在於將$_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM