Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

eZHTTPTool: Requests, Sitzungen und Weiterleitungen

POST- und GET-Variablen lesen, Werte in der Sitzung halten und mit eZHTTPTool weiterleiten - postVariable() mit Ersatzwert, sessionVariable(), redirect() - und die Modulweiterleitungen, die Views bevorzugen.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-8-reference/ezhttptool.md

On this page

This page is a translation. Read the English original

eZHTTPTool: Requests, Sitzungen und Weiterleitungen

Teil 8, Referenz 10. Mit eZHTTPTool (lib/ezutils/classes/ezhttptool.php) lesen Kernel-Code und Erweiterungen den Request und die Sitzung. Verwenden Sie es statt $_POST, $_GET und $_SESSION: Es kümmert sich um den Start der Sitzung, protokolliert fehlende Variablen und hält Ihren Code testbar.

<?php
$http = eZHTTPTool::instance();

Request-Variablen

MethodeGibt zurück
hasPostVariable( $var ), hasGetVariable( $var ), hasVariable( $var )ob sie gesendet wurde (hasVariable prüft POST, dann GET)
postVariable( $var, $fallbackValue = null )den POST-Wert oder den Ersatzwert
getVariable( $var, $fallbackValue = null )den GET-Wert oder den Ersatzwert
variable( $var, $fallbackValue = null )POST, sonst GET, sonst den Ersatzwert

Fehlt die Variable und ist der Ersatzwert null, schreiben diese Methoden „Undefined post variable“ in die Debug-Ausgabe. Übergeben Sie für optionale Variablen einen Ersatzwert:

<?php
$http = eZHTTPTool::instance();
$name = trim( (string)$http->postVariable( 'Name', '' ) );
$page = max( 1, (int)$http->getVariable( 'page', 1 ) );
$ids = array_map( 'intval', (array)$http->postVariable( 'SelectedIDArray', array() ) );
if ( $http->hasPostVariable( 'StoreButton' ) )
{
    // the form's Store button was pressed
}

Jeder Wert aus dem Request ist nicht vertrauenswürdig: Wandeln Sie Zahlen um, prüfen Sie Zeichenketten und maskieren Sie bei der Ausgabe (Sicherheit in Erweiterungen). In Modul-Views prüft der Kernel bei POST außerdem das Formular-Token (ezformtoken und CSRF).

Sitzung

MethodeVerwendung
setSessionVariable( $name, $value )einen Wert für die Sitzung dieses Benutzers speichern
sessionVariable( $name, $fallbackValue = null )ihn lesen
hasSessionVariable( $name, $forceStart = true )ob er existiert
removeSessionVariable( $name )ihn entfernen

Versehen Sie die Namen mit dem Namen Ihrer Erweiterung als Präfix (MyExtLastFilter). Halten Sie Sitzungen klein: Sie werden bei jedem Request dieses Benutzers gelesen.

Weiterleitungen

Leiten Sie in einer Modul-View über das Modul weiter; der Kernel führt die Weiterleitung dann zum richtigen Zeitpunkt aus:

return $Module->redirectTo( '/myext/list' );

eZModule hat außerdem redirectToView( $viewName, $parameters ) und redirect( $moduleName, $viewName, $parameters ) (eZModule und Modulergebnisse).

Außerhalb eines Moduls (in einem Skript, einem Handler) sendet eZHTTPTool::redirect( $path, $parameters = array(), $status = false, ... ) die Weiterleitung sofort. Leiten Sie nie auf eine Adresse aus dem Request weiter, ohne zu prüfen, dass sie auf Ihrer eigenen Website liegt; der Kernel beschränkt die Hosts für Weiterleitungen (eZModule::allowedRedirectHosts()).

Andere Websites abrufen

eZHTTPTool::getDataByURL( $url, $justCheckURL = false, $userAgent = false, $forceGetRequest = false ) ruft eine URL ab. Für alles, was über ein einfaches GET hinausgeht, verwenden Sie cURL direkt, mit Timeouts.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x