Heim  >  Artikel  >  PHP-Framework  >  So lösen Sie das Problem verstümmelter Zeichen bei der Thinkphp-Paginierung

So lösen Sie das Problem verstümmelter Zeichen bei der Thinkphp-Paginierung

WJ
WJnach vorne
2020-06-02 17:09:152873Durchsuche

So lösen Sie das Problem verstümmelter Zeichen bei der Thinkphp-Paginierung

Das Problem verstümmelter Zeichen ist auf Probleme beim Erstellen von URLs in der Paging-Klasse von thinkphp zurückzuführen. Nach der Übergabe der Daten an die URL wird in den Paging-URLs „/“ verwendet. Nachdem die URL verschlüsselt wurde, wird sie bei der zweiten Weitergabe verstümmelt. Wenn wir die Parameter durch „?“ und „&“ trennen, tritt dieses Problem nicht auf.
Der zu ändernde Inhalt ist also die Paging-Klassendatei von thinkphp: /ThinkPHP/Extend/Library/ORG/Util/Page.class.php-Datei.
Der spezifische geänderte Code lautet:
1. Fügen Sie am Ende der thinkphp-Paging-Klassendatei Page.class.php eine benutzerdefinierte Funktion hinzu, um das Parametertrennzeichen in der URL zu ersetzen :

private function clin_page_url($parameter){
  $url = U('');
  $url = str_replace('.html', '?', $url);  foreach ($parameter as $key => $value) {
     $url .= $key.'='.$value.'&';
  }
  $url = substr($url, 0,-1);  return $url;
}

PHP-Blog zum Selbststudium
2. Ändern Sie die endgültig generierte URL
Ersetzen Sie in Zeile 99 der Datei Page.class.php das Original

$url=U('',$parameter);

wird geändert in:

$url=$this->clin_page_url($parameter); // 生成标准的url

Nach diesen beiden Änderungsschritten kann das Problem des verstümmelten Pagings in thinkphp gelöst werden.

Verwandte Referenzen: Thinkphp-Tutorial

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Zeichen bei der Thinkphp-Paginierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen