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

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

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

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

PHP

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

1回答

1649閲覧

GETで数値を取得できない

kajirita2002

総合スコア14

GET

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

PHP

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2019/12/31 13:20

下のコードを実行したのですが$idが出力されません。

php

1<?php 2$id=$_POST["id"]; 3echo $id; 4 5 6// try { 7// //Password:MAMP='root',XAMPP='' 8// $pdo = new PDO('mysql:dbname=gs_db10;charset=utf8;host=localhost','root','root'); 9// } catch (PDOException $e) { 10// exit('データベースに接続できませんでした'.$e->getMessage()); 11// } 12 13// //2.データ登録SQL作成 14// $stmt = $pdo->prepare("SELECT * FROM gs_an_table WHERE id=:id"); 15// $stmt->bindValue(':id', $id, PDO::PARAM_INT); //Integer(数値の場合 PDO::PARAM_INT) 16// $status = $stmt->execute(); 17 18// //3.データ表示 19// $view=""; 20// if($status==false) { 21// //execute(SQL実行時にエラーがある場合) 22// $error = $stmt->errorInfo(); 23// exit("SQLerrar".$error[2]); 24 25// }else{ 26// //Selectデータの数だけ自動でループしてくれる 27// //FETCH_ASSOC=http://php.net/manual/ja/pdostatement.fetch.php 28// $row=$stmt->fetch(); 29 30// } 31?> 32

以下のコードは他のコードです。

php

1<?php 2//1. DB接続します 3 4//1. POSTデータ取得 5//$name = filter_input( INPUT_GET, ","name" ); //こういうのもあるよ 6//$email = filter_input( INPUT_POST, "email" ); //こういうのもあるよ 7 8try { 9 //Password:MAMP='root',XAMPP='' 10 $pdo = new PDO('mysql:dbname=gs_db10;charset=utf8;host=localhost','root','root'); 11} catch (PDOException $e) { 12 exit('データベースに接続できませんでした'.$e->getMessage()); 13} 14 15//2.データ登録SQL作成 16$stmt = $pdo->prepare("SELECT * FROM gs_an_table"); 17$status = $stmt->execute(); 18 19//3.データ表示 20$view=""; 21if($status==false) { 22 //execute(SQL実行時にエラーがある場合) 23 $error = $stmt->errorInfo(); 24 exit("SQLerrar".$error[2]); 25 26}else{ 27 //Selectデータの数だけ自動でループしてくれる 28 //FETCH_ASSOC=http://php.net/manual/ja/pdostatement.fetch.php 29 while( $result = $stmt->fetch(PDO::FETCH_ASSOC)){ 30 // $view .= "<p>".$result["indate"]."-".$result["id"]."-".$result["name"]."</p>"; 31 $view .= "<p>"; 32 $view .= '<a href="u_view.php?id'.$result["id"].'">'; 33 $view .= $result["indate"].":".$result["name"].":".$result["id"]; 34 $view .= '</a>'; 35 $view .= "</p>"; 36 } 37 38} 39?> 40 41 42<!DOCTYPE html> 43<html lang="ja"> 44<head> 45<meta charset="utf-8"> 46<meta http-equiv="X-UA-Compatible" content="IE=edge"> 47<meta name="viewport" content="width=device-width, initial-scale=1"> 48<title>フリーアンケート表示</title> 49<link rel="stylesheet" href="css/range.css"> 50<link href="css/bootstrap.min.css" rel="stylesheet"> 51<style>div{padding: 10px;font-size:16px;}</style> 52</head> 53<body id="main"> 54<!-- Head[Start] --> 55<header> 56 <nav class="navbar navbar-default"> 57 <div class="container-fluid"> 58 <div class="navbar-header"> 59 <a class="navbar-brand" href="u_view.php">データ登録</a> 60 </div> 61 </div> 62 </nav> 63</header> 64<!-- Head[End] --> 65 66<!-- Main[Start] --> 67<div> 68 <div class="container jumbotron"><?=$view?></div> 69</div> 70<!-- Main[End] --> 71 72</body> 73</html>

php

1<?php 2if ( 3 !isset($_POST["name"]) || $_POST["name"]=="" || 4 !isset($_POST["email"]) || $_POST["email"]=="" || 5 !isset($_POST["address"]) || $_POST["address"]=="" || 6 !isset($_POST["naiyou"]) || $_POST["naiyou"]=="" 7){ 8 exit('Param#Error'); 9} 10//1. POSTデータ取得 11//$name = filter_input( INPUT_GET, ","name" ); //こういうのもあるよ 12//$email = filter_input( INPUT_POST, "email" ); //こういうのもあるよ 13$name= $_POST["name"]; 14$email= $_POST["email"]; 15$address=$_POST["address"]; 16$naiyou=$_POST["naiyou"]; 17 18 19 20 21 22//2. DB接続します 23try { 24 //Password:MAMP='root',XAMPP='' 25 $pdo = new PDO('mysql:dbname=gs_db10;charset=utf8;host=localhost','root','root');//データベース接続を変数に入れる 26} catch (PDOException $e) { 27 exit('DbConnectError:'.$e->getMessage()); 28} 29$sql="INSERT INTO gs_an_table(id,name,email,address,naiyo,indate)VALUE(NULL,:a1,:a2,:a3,:a4,sysdate())"; 30 31 32//3.データ登録SQL作成 33$stmt = $pdo->prepare($sql); 34$stmt->bindValue(':a1', $name, PDO::PARAM_STR); //Integer(数値の場合 PDO::PARAM_INT) 35$stmt->bindValue(':a2', $email, PDO::PARAM_STR); //Integer(数値の場合 PDO::PARAM_INT) 36$stmt->bindValue(':a3', $address, PDO::PARAM_STR); //Integer(数値の場合 PDO::PARAM_INT) 37$stmt->bindValue(':a4', $naiyou, PDO::PARAM_STR); //Integer(数値の場合 PDO::PARAM_INT) 38$status = $stmt->execute(); 39 40//4.データ登録処理後 41if($status==false){ 42 //SQL実行時にエラーがある場合(エラーオブジェクト取得して表示) 43 $error = $stmt->errorInfo(); 44 exit("QueryError:".$error[2]); 45}else{ 46 //5.index.phpへリダイレクト 47 header("Location: index.php"); 48 exit; 49} 50?> 51

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

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

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

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

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

guest

回答1

0

タイトルが「GETで」となっていますが、コードはPOSTを参照しに行っています。
もし下記のことであれば、GETでid渡すようになっていません。

$view .= '<a href="u_view.php?id'.$result["id"].'">';

key=value の形にする必要があります。

php

1$view .= '<a href="u_view.php?id='.$result["id"].'">';

投稿2019/12/31 13:23

m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問