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

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

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

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

HTML

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

Q&A

1回答

363閲覧

PHP 別ファイルに変数の受け渡し

daiku0919

総合スコア4

PHP

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

HTML

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

0グッド

0クリップ

投稿2023/01/14 02:17

PHPで簡易的なサイトを作っています。
別のPHPファイルに変数の受け渡しができません。

実現したいこと

index.phpファイル上で名前を入力してもらい、question.phpファイルで入力データを取得し
answer.phpファイルでも入力データを取得し表示させたいです。

発生している問題・エラーメッセージ

エラーこそ出ていないもののincludeなど試してみましたが、ファイルの受け渡しが全文受け渡され
変数データだけの受け渡しができません。

該当のソースコード

index.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="header"> <h1>2章チェックテスト</h1> </div> <div class="main"> <form action="question.php" method="post" class="form_tag"> <input type="text" placeholder="名前を入力してください" name="my_name"> <input type="submit" value="テスト開始" name="submit" class="submit"> </form> </div> </body> </html> question.php <?php $name = $_POST["my_name"]; ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <link rel="stylesheet" href="question.css"> </head> <body> <div class="main"> <p>お疲れ様です<?php echo $name; ?>さん</p> <form action="answer.php" method="post"> <h2>①ネットワークのポート番号は何番?</h2> <?php $number = [80,22,20,21]; foreach ($number as $value) { ?> <input type="radio" name="port_number"> <?php echo $value; } ?> <h2>②Webページを作成するための言語は?</h2> <?php $langage = [PHP,Python,JAVA,HTML]; foreach ($langage as $value) { ?> <input type="radio" name="langages"> <?php echo $value; } ?> <h2>③MySQLで情報を取得するためのコマンドは?</h2> <?php $comand = [join,select,insert,update]; foreach ($comand as $value) { ?> <input type="radio" name="comand_type"> <?php echo $value; } ?> <br> <input type="submit" value="回答する"> </form> </div> </body> </html> answer.php <?php $name = $_POST["my_name"]; echo $name; ?>

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

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

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

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

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

m.ts10806

2023/01/14 04:38

そもそもincludeなどはプログラムを読み込むだけで何も渡してません。PHPマニュアル確認してください。 「受け渡す」ではなく「リクエスト」「レスポンス」としたうえで、Webサーバで起きてる流れを理解してからのほうが良いかと。
guest

回答1

0

別のPHPファイルに遷移する際に現在の$_POSTの内容は失われるので、遷移の度にパラメータを渡す必要があります。
question.php のform部分に下記のようにinputを追加してみてください。

php

1<form action="answer.php" method="post"> 2 <input type="hidden" name="my_name" value="<?php echo $name; ?>" />

投稿2023/01/14 02:25

編集2023/01/14 02:26
devneko64bit

総合スコア164

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問