🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

2回答

768閲覧

PHP・$_GETの値所得出来ない

chaichai

総合スコア4

GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2019/12/29 13:39

前提・実現したいこと

PHPで$_GETの値が受け取れません。
変数は送信元のファイルで書いています。

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

Notice: Undefined index: user_name in C:\xampp\htdocs\project\LSCmain.php

エラーメッセージ

該当のソースコード

<?php $use_name=$_GET['user_name']; echo $use_name.; ?>
<?php

PHP
ソースコード

### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

提示がないので、以下のようにHTMLが組まれていることを前提に回答します。

html

1<!doctype html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6</head> 7<body> 8 <form action="LSCmain.php" method="get"> 9 <input type="text" name="user_name"> 10 <button type="submit">送信</button> 11 </form> 12</body> 13</html>

提示されたソースのように、LSCmain.php を以下のように書いたとき、

php

1<?php 2/** 3 * LSCmain.php 4 */ 5$user_name = $_GET['user_name'];

アクセスしたURLが、http://www.example.com/LSCmain.php に直接アクセスすると、パラメータが設定されていないため、質問のようなエラーになります。

http://www.example.com/LSCmain.php?user_name=xxxx とならないからです。

そこで直接アクセスした場合でも、エラーが出ないようにするには、

php

1<?php 2/** 3 * LSCmain.php 4 */ 5$user_name = filter_input(INPUT_GET, 'user_name');

このように書くことが、定番です。

<?php /** * LSCmain.php */ $user_name = $_GET['user_name'] ?? null;

PHP7からはこの方法で書く場合もあります。

投稿2019/12/29 15:16

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

html

1<!DOCTYPE html> 2<html lang = 'ja'> 3<head> 4<meta charset = 'UFT-8'> 5<title>フォームからデータを受け取る</title> 6</head> 7<body> 8<h1>フォームデータの送信</h1> 9<form action='' method='get'> 10 <p><input type='text' name='user_name'></p> 11 <p><input type='submit' value='送信'></p> 12</form> 13</body> 14</html>

HTML側でこんなふうにuser_nameを渡してますか?

あと、$use_nameにuser_nameを渡してますが、ごっちゃになってませんか(rの有無)

追記:変だったコードを修正しました。

投稿2019/12/29 13:51

編集2019/12/29 15:08
mike2mike4

総合スコア935

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

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

退会済みユーザー

退会済みユーザー

2019/12/29 13:58 編集

指摘するなら、↓だと思うから低評価しました。 <input type='text' name='user_name'>
mike2mike4

2019/12/29 14:00

ご指摘ありがとうございます。95年からHTML書いてますがさっぱり覚えませんw
kyoya0819

2019/12/29 14:04

クォーテーションの類型が違うので低評価。
chaichai

2019/12/29 14:26

ありがとうございます。 はじめたばかりでわからないのですが、methodは”get”or"post"ではないのですか?
mike2mike4

2019/12/29 14:34

訂正します。明らかに私がおかしいですね。やっと気づきました。 methodはgetかpostで、nameの方が違ってませんかという話です。あと、useとuserの部分。 ご指摘頂いた、Kosuke_Shibuyaさんありがとうございます。クォーテーションはhttps://techacademy.jp/magazine/4955のままです。
退会済みユーザー

退会済みユーザー

2019/12/29 14:39

@mike2mike4 さん 回答する前に一度、動作確認をしてはいかがでしょうか?
mike2mike4

2019/12/29 14:54

そうですね……。とりあえず、引用元がコピペして動かしてみたらおかしかったので直して回答を修正しました。これじゃ、初心者さんが混乱するわ。ちょっと反省。
退会済みユーザー

退会済みユーザー

2019/12/29 14:54

まだおかしいですよ
kyoya0819

2019/12/29 14:57

23:04のコメントと同様なので低評価を継続
kyoya0819

2019/12/29 15:01

まだ直っていません。
mike2mike4

2019/12/29 15:09

ほな、こんな感じで。風呂は行ってきます。
kyoya0819

2019/12/29 15:09

修正されたため低評価を取り消し高評価に変更しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問