


Welche Möglichkeiten gibt es, externe Parameter in PHP zu empfangen?
In diesem Artikel erfahren Sie, wie Sie externe Parameter in PHP empfangen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Für eine Websprache wie PHP ist der Empfang von Parametern eine sehr wichtige Fähigkeit. Schließlich müssen die vom Front-End-Formular oder der asynchronen Anforderung übergebenen Daten für die normale interaktive Anzeige abgerufen werden. Dies ist natürlich auch eine wesentliche Fähigkeit für alle Sprachen, die zur Webentwicklung geeignet sind. Heute werfen wir einen Blick auf die verschiedenen Parameterzugriffsformen in PHP.
Zuerst müssen wir eine statische Seite wie die folgende vorbereiten, die ein Formular und einen GET-Parameter in der URL bereitstellt:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="?show=1" method="post"> 姓名:<input type="text" name="name"/><br /> 电话:<input type="text" name="tel"/><br/> 地址(省):<input type="text" name="address.prov"/><br/> 地址(市):<input type="text" name="address city"/><br/> 兴趣1:<input type="text" name="interest[]"/><br/> 兴趣2:<input type="text" name="interest[]"/><br/> 兴趣3:<input type="text" name="interest[]"/><br/> 学历1:<input type="text" name="edu[one]"/><br/> 学历2:<input type="text" name="edu[two]"/><br/> <input type="submit" value="提交" > </form> </body> </html>
Normale $_GET- und $_POST-Methoden
// 正常的GET、POST echo $_GET['show'], '<br/>'; // 1 echo $_POST['name'], '<br/>'; // 提交的内容
Dies ist das einfachste und direkte Art und Weise, Parameter zu erhalten, werden über $_GET abgerufen, und POST-Parameter werden über $_POST abgerufen. Sie stören sich nicht.
Die normale $_REQUEST-Methode
// 使用REQUEST echo $_REQUEST['show'], '<br/>'; // 1 echo $_REQUEST['tel'], '<br/>'; // 提交的内容
$_REQUEST besteht darin, alle Parameter in der Anfrage abzurufen, mit Ausnahme der hochgeladenen Dateien. Mit anderen Worten: Es enthält alle Inhalte der drei Parametervariablen $_GET, $_POST und $_COOKIE (Konfiguration erforderlich, nicht standardmäßig enthalten). Hierbei ist zu beachten, dass nach PHP5.3 der von $_REQUEST akzeptierte Parametervariableninhalt durch request_order in der php.ini-Datei angegeben wird. Standardmäßig ist der Wert dieses Konfigurationsparameters GP, also GET und POST. und es gibt kein COOKIE. Ich denke, wenn Sie COOKIE möchten, müssen Sie es ändern und ein C hinzufügen.
Was passiert, wenn in $_GET und $_POST Inhalte mit demselben Namen vorhanden sind? Die Reihenfolge, in der $_REQUEST angezeigt wird, basiert auch auf der Reihenfolge der Konfigurationsparameter, von links nach rechts, wobei letztere die vorherigen abdecken. Wenn Sie beispielsweise GP konfigurieren, ist die Reihenfolge der Parameterabdeckung: POST > GET, und die endgültige Anzeige erfolgt im POST-Inhalt.
register_globals-Problem
// register_globals 如果打开 echo $name, '<br/>'; // 提交的内容 echo $tel, '<br/>'; // 提交的内容
Dies ist eine unsichere Konfiguration und wird auch in der Datei php.ini konfiguriert. Seine Funktion besteht darin, die angeforderten Parameter direkt in Variablen umzuwandeln. Es besteht das Problem der globalen Variablenkontamination. Öffnen Sie sie daher nicht! ! ! Die aktuelle php.ini-Datei ist grundsätzlich standardmäßig deaktiviert.
import_request_variables
// import_request_variables 抱歉,5.4之后已经取消了 import_request_variables('pg', 'pg_'); echo $pg_show, '<br/>'; echo $pg_name, '<br/>';
Diese Funktion registriert den Inhalt der angegebenen Parametervariablen auch nach 5.4. Lassen Sie uns verstehen, was zuvor passiert ist Tun.
extract
extract($_POST, EXTR_PREFIX_ALL, 'ex'); echo $ex_name, '<br/>'; // 提交的内容 echo $ex_tel, '<br/>'; // 提交的内容
extract wird derzeit als Methode unterstützt, die die beiden oben genannten Parametertransformationen ersetzen kann. Es liegt an uns, das Überschreiben vorhandener Variablen zu kontrollieren. Dies ist der zweite Parameter. Dadurch kann das Problem der Kontamination globaler Variablen in einer kontrollierbaren Umgebung erheblich vermieden werden. Voraussetzung ist natürlich, dass wir sie selbst verwenden. Insbesondere können Sie die Dokumentreferenz selbst finden!
. und Leerzeichen in Parameternamen
// 参数名中的.和空格 echo $_REQUEST['address_prov'], '<br/>'; // 提交的内容 echo $_REQUEST['address_city'], '<br/>'; // 提交的内容
Wenn der Name der vom Formular übermittelten Eingabe oder Leerzeichen enthält, wird er direkt in Unterstriche umgewandelt. Wir raten jedoch von der Verwendung von . oder Leerzeichen bei der Benennung des Frontends ab. Verwenden Sie bei Bedarf einfach Unterstriche.
Das [] im Parameternamen
// 参数名中的[] print_r($_REQUEST['interest']); // Array (v,....) echo '<br />'; print_r($_REQUEST['edu']); // Array (k/v,....)
Wenn der Name der vom Formular übermittelten Eingabe in Form eines Arrays vorliegt, also in der Form „interest[]“ oder „edu[one] ", die Parameter, die wir standardmäßig erhalten, werden zu einem Array von Inhalten.
Die erweiterte php://-Eingabe
// php://input $content = file_get_contents('php://input'); print_r($content); //name=xxx&.....
Schließlich wird die php://-Eingabeform des Parameters häufig in der Schnittstellenentwicklung verwendet. Wenn viele Sicherheits- oder Parameterfelder vorhanden sind, überträgt das Frontend im Allgemeinen direkt einen ganzen Abschnitt des Body-Inhalts in Form von Body Raw. Derzeit kann es nur in dieser Form abgerufen werden. Der ursprüngliche Inhalt dieses Body Raw besteht normalerweise aus einem ganzen Textabschnitt oder es kann sich um einen verschlüsselten Inhalt handeln. Das Format kann von Ihnen selbst definiert werden. Bei einem normalen Formular erhalten wir den ursprünglichen Formularinhalt, genau wie der Name=xxx&tel=xxx&.... oben.
Es ist zu beachten, dass bei Verwendung von enctype="multipart/form-data" der Inhalt nicht abgerufen werden kann. Gleichzeitig ersetzt diese Methode auch die globale Variable $HTTP_RAW_POST_DATA. Verwenden Sie nicht mehr die neue Version von PHP, um die neuen Syntaxfunktionen zu nutzen.
Zusammenfassung
Nachdem ich es geklärt hatte, stellte ich fest, dass eine einfache Parameterverbindung so viele Formen und Dinge hat, die Aufmerksamkeit erfordern, was wirklich aufschlussreich ist. Es ist immer noch das gleiche Sprichwort: Das Lernen hat kein Ende. Wenn Sie weiter gründlich lernen, werden Sie früher oder später ein Meister!
Testcode:
https://github.com/zhangyue0503/dev-blog/blob/master/php/202002/source/%E5%8F%98%E7%9D%80%E8%8A%B1%E6%A0%B7%E6%9D%A5%E6%8E%A5%E5%8F%82%EF%BC%8CPHP%E4%B8%AD%E6%8E%A5%E6%94%B6%E5%A4%96%E9%83%A8%E5%8F%82%E6%95%B0%E7%9A%84%E6%96%B9%E5%BC%8F.php
Empfohlenes Lernen: php-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, externe Parameter in PHP zu empfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
