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

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

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

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

PHP

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

Q&A

解決済

1回答

8650閲覧

$_GET[]でURLのパラメータが取得できない

tukino-hikari

総合スコア26

GET

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

PHP

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

0グッド

0クリップ

投稿2020/03/20 06:09

別ファイルからの送信で$_GET['sky']を取得しようとしているのですが、取得できなくて困っています。

http://●●●.ne.jp/□□□/△△△/※※※.php?sak=1e318fdbeb19cc4ba47bf1aaaa6009c1

上のURLが処理を使用としているphpファイルに送信されてきたURLになります。
パラメータsakには1e31**********と値が渡っているのですが、何故が$_GET['sky']で取得しようとしても取得できません。

テストとしてソースの上段4行目で
echo $GET_['sak'];
として確かめてみたのですが、やはり空です。

送信元のファイルでは、下の様にbuttonに記入して送信しています。
<input type='button' name='sak' size='1' value='削除' onclick='return check()' >

onclick='return check()'の関数は次のように記載しています。
function check(){
if(window.confirm('削除してもよろしいですか?')){
location.href='./※※※.php?sak=<?=$time?>';
}
else{
return false;
}
}

コードは下記になります。私は還暦を迎えた初心者で、趣味でプログラムをいじっている者です。プログラムを職業としている訳ではございませんが、どなたか原因の分かる方がおりましたら、宜しくご教授お願いいたします。

<?php session_save_path('../sess'); session_start(); require '../function/main_function.php'; echo $GET_['sak'];//テスト表示 ////////////////////////トークン///////////////////////////// $token=token(); $_SESSION['token']=$token; ///////////////////個人データUPDATE//////////////////////////// if(filter_input(INPUT_POST,'no')){ $colom="NO=:NO,"; } if(filter_input(INPUT_POST,'simei')){ $colom.="SIMEI=:SIMEI,"; } if(filter_input(INPUT_POST,'id')){ $colom.="ID=:ID,"; } if(filter_input(INPUT_POST,'password')){ $colom.="PASSWORD=:PASSWORD,"; } if(filter_input(INPUT_POST,'address')){ $colom.="ADDRESS=:ADDRESS,"; } if(filter_input(INPUT_POST,'mail')){ $colom.="MAIL=:MAIL,"; } if(filter_input(INPUT_POST,'tel')){ $colom.="TEL=:TEL,"; } if(filter_input(INPUT_POST,'fu')){ $colom.="FU=:FU,"; } if(filter_input(INPUT_POST,'ky')){ $colom.="KY=:KY,"; } $colom=substr($colom,0,-1); try{ $dbh=DBconect(); $dbh->beginTransaction(); $stmt=$dbh->prepare("UPDATE SEI SET $colom WHERE TIME=:TIME"); ///////////////////////bindParam//////////////////////////////////// if(filter_input(INPUT_POST,'time')){ $stmt->bindParam(':TIME',$_POST['time'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'no')){ $stmt->bindParam(':NO',$_POST['no'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'simei')){ $stmt->bindParam(':SIMEI',$_POST['simei'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'id')){ $stmt->bindParam(':ID',$_POST['id'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'password')){ $stmt->bindParam(':PASSWORD',$_POST['password'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'address')){ $stmt->bindParam(':ADDRESS',$_POST['address'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'mail')){ $stmt->bindParam(':MAIL',$_POST['mail'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'tel')){ $stmt->bindParam(':TEL',$_POST['tel'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'fu')){ $stmt->bindParam(':FU',$_POST['fu'], PDO::PARAM_STR); } if(filter_input(INPUT_POST,'ky')){ $stmt->bindParam(':KY',$_POST['ky'], PDO::PARAM_STR); } ///////////////////////////////////////////////////////////////////////// $stmt->execute(); $dbh->commit(); $stmt = null; $dbh = null; }catch( Exception $e ){ $dbh->rollback(); } /////////////////////////削除(kozindata.phpより)///////////////////////////////////// if(filter_input(INPUT_GET,'sak')){ try{ $dbh=DBconect(); $dbh->beginTransaction(); echo $GET_['sak'];//テスト表示(表示されない) echo "あいうえお";//テスト表示(表示される) $stmt=$dbh->prepare("DELETE FROM SEITO WHERE TIME=:TIME"); $stmt->bindParam(':TIME',$_GET['sak'], PDO::PARAM_STR); $stmt->execute(); $dbh->commit(); $stmt = null; $dbh = null; }catch( Exception $e ){ $dbh->rollback(); } } header('location:./kozindata.php'); ?>

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

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

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

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

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

CHERRY

2020/03/20 06:31

? 質問に記載されている内容で、`$_GET['sky']` と `$_GET['sak']` と `$GET_['sak']` と 全部名前が異なりますが、どれが正しいのでしょうか?
tukino-hikari

2020/03/20 06:46

記載間違いがありました。$_GET['sak']が正しいです。
CHERRY

2020/03/20 06:50

プログラムコードに記載された内容も間違っています。 質問は、編集できるので、正しく修正していただけないでしょうか。 間違ったコードのままでは、判断が難しいので、質問に記載されたコードを修正していただけないでしょうか。 また、https://teratail.com/help/question-tips#questionTips3-5-1 にあるように <CODE> タグでソースコードを囲っていただけないでしょうか。
tukino-hikari

2020/03/20 12:37

色々考えたのですが、もしかして、beginTransaction(); と$dbh->commit();が二つありますが、これは1つにしてその間にsqlをまとめないといけないということでしょうか?色々調べていたらそんな気がしているのですが、正しいでしょうか?
guest

回答1

0

自己解決

済みません!スペルミスでした!$GET['sky']$GET['sak']$GET['sak']を確認したところ、テスト表示の$GET['sak']` が間違っていました。取得できていました。申し訳ございません!!

投稿2020/03/20 06:50

tukino-hikari

総合スコア26

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問