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

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

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

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

Q&A

解決済

1回答

173閲覧

登録フォームの投稿内容をデータベースに格納して、格納した内容をPHP側に表示したいです

amaturePy

総合スコア131

PHP

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

0グッド

0クリップ

投稿2019/04/29 22:29

登録フォームの入力内容をデータベースからPHPに出力表示したいです。入力内容をデータベースまで登録するのはできてるのですが、その値をとってこれずにいます。
ご教授頂ければ幸いです。
<テーブル名:loginUser>
<カラム名:id(主) firstname lastname

PHP

<?php session_start(); $dsn ='mysql:host=localhost;dbname=ex.sql;Charset=utf8'; $user ='root'; $password ='root'; //$firstname ='firstname'; //$lastname ='lastname'; if(isset($_POST['firstname']) && isset($_POST['lastname'])) try { $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $db = new PDO($dsn,$user,$password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $db->prepare("INSERT INTO loginUser(firstname,lastname)VALUES(:firstname,:lastname)"); $sth = $db->prepare('SELECT firstname,lastname FROM loginUser'); $stmt->bindParam(':firstname',$firstname,PDO::PARAM_STR); $stmt->bindParam(':lastname',$lastname,PDO::PARAM_STR); $stmt->execute(); } catch(PDOException $e){ die ('error:'.$e->getMessage()); } ?> <html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body>
<h2>Registration Form</h2> <form action="ex3-5-13.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form>
</body> </html>

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

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

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

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

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

m.ts10806

2019/04/30 00:06

コードはマークダウンのcode機能を利用してご提示ください。
m.ts10806

2019/04/30 00:09

SELECT文がprepare()でセットされるだけで実行されてないというのは認識されていますか? また実行するだけではなく取得した情報を出力する処理が書かれていないというのは認識されていますか? (これほぼ回答ですが、どこまで自身のコードを把握できているか確認のため)
退会済みユーザー

退会済みユーザー

2019/04/30 00:48

bindParam()ケーサツがくるぞ
amaturePy

2019/04/30 01:00

クエリの実行に関しての記載が全く書かれていないですね。 再度作成し直します。 また、マークダウンに関してコード機能を間違って捉えておりました。 大変失礼いたしました。
amaturePy

2019/04/30 01:04

bindParam()ケーサツ ! 恐ろしい。。。
amaturePy

2019/04/30 01:18

私のSELECT分は実行されていないのですね。承知いたしました。 fetchメソッドを使用してみます。
m.ts10806

2019/04/30 01:28

selectのprepare結果の変数、どこにも何もされてないですよね、という話です。 質問は編集できますので適宜調整いただければと。
guest

回答1

0

自己解決

error_reporting(E_ALL); ini_set('display_errors', '1'); session_start(); $dsn ='mysql:host=localhost;dbname=ex.sql;Charset=utf8'; $user ='root'; $password ='root'; //$firstname ='firstname'; //$lastname ='lastname'; if(isset($_POST['firstname']) && isset($_POST['lastname'])) { try { $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $db = new PDO($dsn,$user,$password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $db->prepare("INSERT INTO loginUser(firstname,lastname)VALUES(:firstname,:lastname)"); $stmt->bindParam(':firstname',$firstname,PDO::PARAM_STR); $stmt->bindParam(':lastname',$lastname,PDO::PARAM_STR); $stmt->execute(); $sql = "SELECT * FROM loginUser WHERE 1"; $stmh = $db->prepare($sql); $stmh -> execute(); var_export($stmh->fetchAll()); } catch(PDOException $e){ die ('error:'.$e->getMessage()); } } ?> <html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h2>Registration Form</h2> <form action="ex3-5-13.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> </body> </html> コード

投稿2019/04/30 06:37

amaturePy

総合スコア131

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問