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!