http://oshiete1.goo.ne.jp/kotaeru.php3?q=1437399
で$_REQUEST の理解を深めたく質問中ですが
$_REQUEST の[ ]の中の変数は結局、
?item=500&xt=100の部分を作るためのものなんでしょうか
とくにDBとの関連で必要でしょうか
たとえば
stage.phpのコードで
<?php
…$name=$_REQUEST['name']…
if($name='a'){echo'<html>a</html>'}
if($name='b'){echo'<html>b</html>'}
stage.php?name=a
stage.php?name=b
というページができるという理解でしょうか?
(すいません、質問に個所でしてしまって)
No.1ベストアンサー
- 回答日時:
質問を読む限り、大きな勘違いをしているように思います。
$_REQUEST変数は、スクリプトの外部から値を得るための変数です。例えばstage.php?a=1 というリクエストがあったら、stage.php内の$_REQUEST["a"]に1が入っています。ただそれだけの変数です。
外部から値を得る変数は他にも$_POST,$_GET,$_COOKIEなどあります。これは例えばPOSTメソッド送られたパラメータ、COOKIEの値など、外部の値の種類によって変数が違います。$_REQUEST変数はこれらが全部含まれているんです。仮に$_POST["a"]に1、$_COOKIE["b"]に2という値が入っていたとすると、#_REQUEST["a"]=1,$_REQUEST["b"]=2という値が同時に現れます。
個人的にはほとんど使わない変数ですね。なぜならその値がどこから来たのかはわからないので、下手をするとセキュリティホールになり得るからです。$_REQUEST変数を研究する前に、$_POST,$_GET,$_COOKIEあたりを先に理解した方がいいと思いますし、スクリプト上の実装もこれらを使った方が良いと思います。
どこまで噛み砕いて書けばいいのかわからないのですが、これでもわからなければ初心者向けの入門本で基本的なところを学んだ方が良いかも知れません。
非常にありがとうです
こういうことだんたんだ という実感が持てました
実際に使えました
ということはファイル名の?name=aの部分については
$_FILESを使おうと思います
一つよく分らないのは、これはスクリプト内部でも変数を読ませることができると思います
この場合の変数を読ませる順番は外部が先で内部が後と理解しておけばいいんでしょうか
No.2
- 回答日時:
実際のコードで実験してみたほうが分かりやすいと思います。
変数を読む順番はPHPで記述された上から順番に処理されるので、外部とか内部とかの優劣はありません。
まぁ、外部から読み込めばPHPを開いた時点で変数に入るので内部で記述するよりは早いと言うことかもしれませんが、そこはあまり気にするところではないですね。
要はどのように処理するか。ですから。
ちなみに$_FILESはなんか間違っているような・・・
(一旦$_FILESは忘れてください)
一般的に最初は $_POST か $_GET しか使いません。
<form action="x.php" method="POST">
<input type="text" name="a" value="1">
<input type="submit">
</form>
とすれば $_POST['a']に「1」が入ります。
x.php?a=1
とすれば $_GET['a']に「1」が入ります。
POST か GET か分からない場合は
$_REQUEST
を使えばどちらとも対応しますよ、と言うことです。
これをPHP内部で
$_GET['a'] = 2;
とすれば
$_GET['a'] は「2」になります。
つまり、最後に指定した物が有効になるのです。
最初が大切ではなく、最後が大切なんですね。
No.3
- 回答日時:
No1です。
>ということはファイル名の?name=aの部分については
$_FILESを使おうと思います
おっと、$_FILESは違いますよ。これはフォームでファイルをアップロードした場合に、そのファイル名などが入る変数です。普通にURLの後ろに?name=aを付けたとしたら$_GETです。
>一つよく分らないのは、これはスクリプト内部でも変数を読ませることができると思います
>この場合の変数を読ませる順番は外部が先で内部が後と理解しておけばいいんでしょうか
$_REQUEST変数において、という事ですよね?いい質問ですね。variables_orderという設定項目で順番を設定する事ができます。
とここまで書いて、こういう事を聞いているのではない感じがしてきました・・・。「変数を読ませる順番」って表現がちょっと変ですね。「変数とは何ぞや」って部分で勘違いしているという事はないですか?
ありがとうございます
$_FILESはアップロード関係だったんですね.
$_GETで理解します
>「変数を読ませる順番」って表現がちょっと変ですね。
はい、仰せのとおりでございます
私の気持ちが切羽詰っていて取り乱し放題です
変数はデータを格納するようなものなので
$_REQUEST変数に入るデータの順番 という言い方が正確だと思います
>とここまで書いて、こういう事を聞いているのではない感じがしてきました
そんなことありません、こういうことが理解できたので
スッキリ理解することができました
ですが、variables_orderという設定はまだ使う予定がありません
いずれ使えるようになりたいと思います.そのころには忘れず思い出して使えるようにしておきたいと思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルアップローダーで送信...
-
Flaskでサーバー立ち上げに関して
-
sqlite文字列を格納、出力
-
POSTの項目に追加
-
Fortranでのファイル名操作につ...
-
サブフォルダ内の全てのテキス...
-
クッキー認証>クッキー削除が...
-
phpでショッピングカート機能を...
-
VBA で、スペースを含むファイ...
-
PHPで画像の渡しが上手く行きま...
-
phpのカウンタのリセット方法
-
HTMLで前の画面に戻る時、入力...
-
phpでチェックボックスでの値の...
-
テキストボックスに初期値を入れる
-
laravelを利用してコントロール...
-
phpでの複数選択チェックボック...
-
プルダウンとCSVの連動
-
PHPの初心者です。現在チェック...
-
<input type="hidden" >で配列...
-
formの外にあるチェックボック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複を防ぐ記述について教えて...
-
VBA で、スペースを含むファイ...
-
PHPで入力フォームでデータを確...
-
Flaskでサーバー立ち上げに関して
-
phpで変数を使ってcopyできない
-
ファイル名を変更してアップロ...
-
PHPからHTMLへの変数の受け...
-
$_SESSIONに渡した後はそのまま...
-
テキストボックスの値を取得したい
-
openCVのトラックバーについて
-
scanfでの読み込み文字数制限
-
アップロードファイル名の文字化け
-
PHP MySql 画像を取得
-
Fortranでのファイル名操作につ...
-
ポインタ配列をfscanfで読み込...
-
UPDATEできない
-
WordのIDataObject::GetData呼...
-
C# 同じ処理をまとめたい
-
POSTの項目に追加
-
イタリア人がCatherineと聞いた...
おすすめ情報