1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-23 22:52:11 +01:00

Improve $_POST/$_GET definition

f56de7ebe7
This commit is contained in:
Yoshinari Takaoka
2025-10-04 06:59:45 +09:00
parent 0165632752
commit 612be8c236
3 changed files with 46 additions and 9 deletions

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: cdaea0421544885f02ff3d36bd203dc01b78299e Maintainer: satoruyoshida Status: ready -->
<!-- EN-Revision: f56de7ebe7a1a85ce9e44a2bf6b77b07adfe3ae4 Maintainer: satoruyoshida Status: ready -->
<!-- CREDITS: mumumu -->
<refentry role="variable" xml:id="reserved.variables.get" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>$_GET</refname>
<refpurpose>HTTP GET 変数</refpurpose>
<refpurpose>クエリストリング変数</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>
URL パラメータ (a.k.a クエリストリング) で現在のスクリプトに渡された変数の連想配列です。
この配列の値は、GETリクエストだけでなく、クエリストリングが含まれた全てのリクエストで収集されることに注意して下さい。
この配列の値は、HTTP リクエストメソッドに関係なく、クエリストリングが含まれた全てのリクエストで収集されることに注意して下さい。
</para>
</refsect1>
@@ -31,7 +31,7 @@ echo 'Hello ' . htmlspecialchars($_GET["name"]) . '!';
]]>
</programlisting>
<simpara>
ユーザーが http://example.com/?name=Hannes と入力したとします。
ユーザーが <literal>http://example.com/?name=Hannes</literal> と入力したとします。
</simpara>
&example.outputs.similar;
<screen>
@@ -48,7 +48,7 @@ Hello Hannes!
&note.is-superglobal;
<note>
<para>
GET 変数<function>urldecode</function> 関数を介して渡されます。
<varname>$_GET</varname> の値<function>urldecode</function> 関数を介して自動的に渡されます。
</para>
</note>
</refsect1>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: cdaea0421544885f02ff3d36bd203dc01b78299e Maintainer: takagi Status: ready -->
<!-- EN-Revision: f56de7ebe7a1a85ce9e44a2bf6b77b07adfe3ae4 Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<refentry role="variable" xml:id="reserved.variables.post" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>$_POST</refname>
<refpurpose>HTTP POST 変数</refpurpose>
<refpurpose>HTTP POST リクエストから得られるフォームデータ</refpurpose>
</refnamediv>
<refsect1 role="description">
@@ -32,7 +32,8 @@ echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
]]>
</programlisting>
<simpara>
ユーザーが name=Hannes と POST したとします。
ユーザーがリクエストボディに <literal>name=Hannes</literal>
を付けて POST リクエストを送信したとします。
</simpara>
&example.outputs.similar;
<screen>
@@ -47,6 +48,20 @@ Hello Hannes!
<refsect1 role="notes">
&reftitle.notes;
&note.is-superglobal;
<note>
<simpara>
その他の content type
(例: <literal>application/json</literal>
<literal>application/xml</literal>)
を指定して送信された POST データを読み取るには、
<link linkend="wrappers.php.input"><filename>php://input</filename></link>
を使わなければいけません。
<literal>application/x-www-form-urlencoded</literal>
<literal>multipart/form-data</literal> を指定した場合にだけ動作する
<varname>$_POST</varname> とは異なり、
<filename>php://input</filename> はリクエストボディの生データに直接アクセスします。
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0592e6316d3869b49637df29c471097e7bf78592 Maintainer: takagi Status: ready -->
<!-- EN-Revision: f56de7ebe7a1a85ce9e44a2bf6b77b07adfe3ae4 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,mumumu -->
<refentry xml:id="wrappers.php" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="verify_info:false" role="stream_wrapper">
@@ -363,6 +363,28 @@ file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello
<?php
file_put_contents('php://memory', 'PHP');
echo file_get_contents('php://memory'); // 何も表示されません
]]>
</programlisting>
</example>
<example>
<title>リクエストボディから、JSON データを読み取るために php://input を使う</title>
<para>
この例は、<filename>php://input</filename> を使って POST, PUT,
PATCH リクエスト経由で生の JSON データを読み取る方法を示します。
</para>
<programlisting role="php">
<![CDATA[
<?php
$input = file_get_contents("php://input");
$json_array = json_decode(
json: $input,
associative: true,
flags: JSON_THROW_ON_ERROR
);
echo "Received JSON data: ";
print_r($json_array);
?>
]]>
</programlisting>
</example>