質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

8137閲覧

【HTML】phpへ値を受け渡したい

og24715

総合スコア832

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/11/18 03:21

page-a.phpからresult.phpへジャンプしたら「A」と出力し、
page-b.phpからresult.phpへジャンプしたら「B」と出力するには

page-a.php

html

1<form action="reslut.php" method="POST"> 2 <input type="hidden" name="hoge" value="A"> 3 <input type="submit" value="submit"> 4</form>

page-b.php

html

1<form action="reslut.php" method="POST"> 2 <input type="hidden" name="hoge" value="B"> 3 <input type="submit" value="submit"> 4</form>

result.php

php

1echo filter_input(INPUT_POST, 'hoge');

と、すればできるのはわかりますが、hiddenにかいてしまうとソースを見たら何が書いてあるか見えてしまい、なんだかよくない気がします。(今回は見られても困らないですが)
せっかくPHPを使うのでなにかいい感じの値の受け渡し方は無いでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

$_SERVER['REQUEST_URI']を使う方法は既に記載されているので、他の方法を。

  1. hiddenを使う

hiddenで見えてなんとなく嫌だという感覚はわかるのですが、見えても問題無いケースでは使っても問題ありません。
重要なのは「見えてはいけないものと見えて問題無いもの」が適切に区別出来ることですね。
$_SERVER['REQUEST_URI']も結局はリファラーを見ているだけなので、根本的にはhiddenを使っているのと変わりません。

  1. Sessionを使う

Sessionを使うとリファラーやhiddenと違って値は完全にクライアントから隠蔽出来ます。

例えば
page-a.php
page-b.php
にそれぞれ

PHP

1session_start(); 2$_SESSION['input_form_id'] = $_SERVER['SCRIPT_NAME']; 3

という感じでセッションに保存し
result.php

PHP

1session_start(); 2if($_SESSION['input_form_id'] == "page-a.php"){ 3 echo "A"; 4}else if 5//以下、Bも同様に判定 6() 7

という感じでしょうか。

投稿2015/11/18 06:45

tanat

総合スコア18709

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

og24715

2015/11/18 06:57

詳しくありがとうございます! セッションを使う方法は考えましたがこのようにサーバー変数を使うことができるのですね 大変参考になりました
guest

0

遷移元のURIを利用して出力する値を振り分けるのはどうでしょうか?

php

1if($_SERVER['REQUEST_URI'] == "/page-b.php" ) { 2 $hoge = 'B'; 3} elseif($_SERVER['REQUEST_URI'] == "/page-a.php") { 4 $hoge = 'A'; 5} 6echo $hoge;

投稿2015/11/18 06:00

arly_times

総合スコア100

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

og24715

2015/11/18 06:59

回答ありがとうございます! サーバー変数について理解を深めたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問