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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

Q&A

解決済

4回答

2755閲覧

アプリ制作で行き詰まってます

a-_.

総合スコア133

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

0グッド

0クリップ

投稿2016/06/28 01:26

編集2016/09/06 02:05

DBを使用した掲示板アプリを作成したいです
具体的には入力欄にタイトルと本文を入力し、「投稿」ボタンを押下することで入力した内容を表示する、といったような掲示板アプリです

アプリ内に必要な条件はテキストボックス、テキストエリア、ボタン(クリックで同じ画面に遷移し、名前・内容に入力された内容とその時の日付時刻をDBに格納する)、前3つの項目の下に投稿内容を表示する(画面表示時、DBから投稿を取得して表示して投稿がなければなにも表示せず、表示順は投稿日付時刻の降順)

言語はPHPとHTMLを使ってJavaScriptは使用しないで作成したいんですが、初心者のためどのようなコードを打てば良いのか全く分かりません

どなたか教えていただけませんか

HTML

1<html> 2<head> 3<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 4</head> 5<body> 6<form method="post" action="XXX.php"> 7名前:<input type="text" name="name"><br> 8内容:<input type="text" name="contents"> 9<input type="submit" value="投稿"> 10</form> 11</body> 12</html>

PHP

1<?php header('content-type: text/html; charset=UTF-8'); ?> 2<html> 3<body> 4<?php 5 $f1 = $_POST['XXX']; 6 $f1 = htmlspecialchars( $f1, ENT_QUOTES, 'UTF-8'); 7?> 8</body> 9</html>

私が知っているのはこのHTMLコードのファイルとPHPコードのファイルを別に作成する方法しか分かりません
コードもこの書き方しか分かりません
ここで知りたいのはHTML・PHPファイルを別々に作るのではなく、一つのファイルでアプリを作成する方法です
またHTMLコードの「内容」と書いた箇所は上記でも説明しましたが、テキストエリアとして入力したいのです

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

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

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

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

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

tanat

2016/06/28 03:07

「私が知っているのはこのHTMLコードのファイルと一緒にPHPコードのファイルを別に作成するという方法しか分かりません」 というのは、別々に作るのであれば自力で作成できるという事でしょうか?その場合は既にあるコードを追記していただくと良いかと思います。
kei344

2016/06/28 07:28

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
a-_.

2016/07/01 01:51 編集

見にくい質問文ですいません 改善いたしました
guest

回答4

0

すぐにプログラムを書こうとするのではなくて、
まずは質問で書いているようなことを自分なりに整理しましょう。

PHPのことはまだ考えず、画面をHTMLだけで作ってどのような遷移をするのかを決める。
HTMLがスラスラと作れないなら紙に書いてもいいです。

必要な項目は洗い出せてると思うので、それをDBにどのような型で格納するのかを決める。

PHPでは、どのように値が渡されるのか簡単な画面を作って確認する。

自分でわかること、わからないことを認識してひとつずつクリアしていってください。

いきなり一軒家は、作れません。犬小屋からはじめましょう^^

投稿2016/06/28 01:43

Mr_Roboto

総合スコア2208

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

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

a-_.

2016/06/28 07:15

ご回答ありがとうございます 今回のコードに関して質問文で挙げているコード内容それぞれが何を意味しているのかは何となく見てて理解はできています >どのような遷移をするのかを決める >DBにどのような型で格納するのかを決める >どのように値が渡されるのか簡単な画面を作って確認 それぞれどのようなことを指定しているのかもう少し詳しく教えていただけますか 文中の遷移とは<form method="post" action="XXX.php">の箇所を意味しているのでしょうか
Mr_Roboto

2016/06/28 07:30

質問追記したんですね^^ 最初の質問があまりに漠然だったので。 まとめると時間がかかるので、ががーっと書きます。 >どのような遷移をするのかを決める 掲示板を作るとして、最初にまずスレッドが表示されると思いますが、 そこにいきなり入力フォームがあるのか、内容がすべて表示されるのかタイトルだけなのか古いデータはどのように表示されるのかとか、 画面のイメージが無いとどのように遷移するのか自分でまず頭のなかにできないとですよね? >DBにどのような型で格納するのかを決める 予定している名前と内容は、どの型にいれますか? 例えば、varchar型なら何文字にするとか、内容の制限は必要がないのか場合によっては、varcharではダメな場合もあります。 あとは、ユーザー入力が無くても登録日時等も必要ですよね? これがないと表示順が決められません。 削除は、どのように実装するのかされたらどのような扱いにするのか 数は少なくてもいろいろと考えることがあります。 >どのように値が渡されるのか簡単な画面を作って確認 とりあえず、名前と内容だけとして、HTMLで入力フォームを作ってみましょう。 それをPHPに遷移するようにして、取得して表示できますか? 見てくれはどうでもいいです。 まずは、一番シンプルな画面で、やりたいことがどうすれば出来るのか理解しましょう。 本のサンプルがあるなら、同じようなテキストボックスをもう一つ増やしてみるとか 簡単なことからはじめます。 他の方への返事によく何となくわかると書いているようですが、確実に分かるを ひとつずつ増やしていきましょう。 諦めず慌てず取り組むことです。頑張ってください ^^
Mr_Roboto

2016/06/28 07:32

書き忘れました > 文中の遷移とは<form method="post" action="XXX.php">の箇所を意味しているのでしょうか そうです、それ以外にAタグのリンクもありえますね。それもどうするか考えないといけません 普段あまり使わない言葉ですが、システムを開発するときは画面遷移図というのをよく作ります。
guest

0

ベストアンサー

基本はBJCRobotさんのおっしゃる通り、整理した方が良いと思います。
質問の内容が1つのPHPファイルでとのことでしたので
下記のようにPHPソースとHTMLソースを記載しています。

php

1<?php 2$message=''; 3// ボタンが押されたら 4if(filter_input(INPUT_POST,'btn')==='register'): 5// ①入力チェック 6・・・ 7// ②DB接続&登録処理 8・・・ 9// ③メッセージ 10$message='登録完了しました。'; 11endif; 12 13// 一覧データ取得を取得して$list_dataに格納(整形済みとする) 14$list_data=dbAccess(); 15 16// 一覧を取得する関数 17function dbAccess(){ 18// ①DB接続&一覧取得して、<table>とかで加工する 19 ・・・・ 20 return $data; 21} 22?> 23<html> 24<head> 25<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 26</head> 27<body> 28<p style="color:#f00;"><?=$message?></p> 29<form method="post" action=""> 30名前:<input type="text" name="name"><br> 31内容:<input type="text" name="contents"> 32<button type="submit" name="btn" value="register">投稿</button> 33</form> 34<!-- 一覧表示 --> 35<?=$list_data?> 36</body> 37</html>

投稿2016/06/28 02:56

roast_chicken

総合スコア254

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

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

a-_.

2016/06/30 06:43 編集

ご回答ありがとうございます コードの「内容」についてですが、質問文にも書きましたが、テキストボックスにしたいんです そこで調べて <textarea name="comment" rows="4" cols="40"></textarea> と入力してみたんですが、枠が上に伸びてしまったので、伸びる方向を下に修正する方法ってありますか
roast_chicken

2016/06/28 07:34

すみません。ちょっと質問の意図がわからず、想像になりますが、    |テキストエリア| 内容:|       | ではなくて 内容:|テキストエリア|    |       | としたいという意味ですか? であれば floatなどスタイル設定すれば良いのでは? CSSとかご存知であればイケると思います。
a-_.

2016/06/30 04:56

ご丁寧にありがとうございます 教えていただいたコードのDB接続についてですが、PHPmyadminしか使ったことがなく、今回の内容をPHPmy~にどう書き込めばいいのかわかりません 答え方が投げやりになってしまいましたが、ご了承ください 私自身でも本やネットでめちゃくちゃ時間かけて調べてるんですが答えが得られませんです
roast_chicken

2016/06/30 06:41 編集

a-_.さん phpMyadminはデータベースではなく、データベースを参照するためのツールですよ。 おそらくMySQLになるのでしょうが、PHP側でDB接続させるのであれば、 「PDO」で検索してみてください。 このクラスを使ってDB接続、データ検索や挿入とかできるようになります。 あ、あと以前の質問に対するご回答がいただけなかったので、せめて解決したのか記載していただけると幸いです。^^);
a-_.

2016/06/30 07:51 編集

回答の返信の件ですが、floatもcssも同時進行で調べてますがさっぱりです^^); とりあえず<table>でなんとかなることは分かりました DB関係についても解決できてなくて今調べているですがいろんな情報がありすぎて何が今の私にとって必要な情報か判断しづらい状況です
roast_chicken

2016/06/30 07:32

同時進行だと結構大変ですよね。。。 焦らずに、一つ一つできること、やりたいことを整理してください。 要件: a.フォーム情報をDBに登録する。 b.DBに登録した情報を表示する。 処理: 1.SQL テーブル定義ずみですか? 登録・検索のSQLはありますか? 2.PHP ①登録したいデータを確認してみる。 formからPOSTされた情報をダンプしてみてください。 【var_dump($_POST);】 POSTされた連想配列の情報を表示されるので、入力チェックしましょう。 filter_input(INPUT_POST,'nameの値') で内容がわかります。 ②DB接続・処理 PDOを用いて、1.SQLで作成したSQLをセットするだけです。 「PDO」で検索したサイトにサンプルソースがあると思うので、確認してみてください。 3.最後に見た目 プログラムとは直接関係ありませんので、優先順位はプログラムができてからで大丈夫だと思います。(HTML/CSS)
a-_.

2016/06/30 08:17

処理1:とりあえずPHPmy~に今回必要な情報である「名前」「内容」のテーブルは入力しました(データベースから項目名と内容のvarchar数値を入力しただけ) ですが、登録・検索のSQLはないと思います(そもそもよくわかっていない。。) 処理2:①どこに入れたらいいのか分からない・・・     ②PDOソースは入門用の書籍に書いてあります try{$dbh = new PDO($dsn, $user $password);} catch (PDOException $e){ die('connect error: ' , $r->getcode()); } $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 処理3:まぁ確かに(笑)cssとかまた新しいことは最低限必要な作業が終わって余裕があったら覚えたいです 以上がそれぞれの把握できている・進行状況、って感じです
roast_chicken

2016/06/30 08:38

最初に提示したソースってお試しになりましたか? var_dumpはあくまでデバッグ用でプログラムの動きをご自身で確認できればと思い、ご提案しました。 今回の要件で必須ではありません。 「・・・」の部分にphpのコードを入れればできると思いますよ。 if(filter_input(INPUT_POST,'btn')==='register'): // ここに入れると投稿ボタンが押されたら出力されます。 endif; function dbAccess(){ //ここにPDOソースを入れます。 //ご提示のソースは接続のみですので、実行する「execute」とか使います。 }
a-_.

2016/07/01 02:48

roast_chickenさんに教えていただいたコードをベースに今調べてるんですが、書き方について教えていただきたいです var_dumpって「var_dump($_POST)」←この書き方で合ってるでしょうか あとコードの①入力チェックについてもう少し詳しく教えていただけますか
roast_chicken

2016/07/01 03:49

a-_.さんは回答者さんからのコメントに対するフィードバック(どこまでやった、できた、できない、どこまで調べた)が不足しているように感じます。 var_dump、$_POST 何をどう調べたのでしょうか? 最初から100点満点はムリですよw まだお勉強されてから時が経っていないようなので、 トライアンドエラーで経験積んでいくしかないと思いますよ。 ◆実行してみた ⇒エラーになった ⇒どんなエラーだったのか調べてみる ⇒調べてみたけどキーワードがわからない ⇒どうやら書き方が悪いようだ、参考書にも載っていない。 ⇒(最後に)今までの経緯を端的に記載して質問してみる。 このルーティンをやっていかないと回答者も質問者のわからないところがわからないです。^^);
a-_.

2016/07/01 04:19

すいません 書き方参考にさせていただきます(>m<;) 現段階でまだコードが完成していないのでエラーも何も出てはいません ネットで調べたりここで教えていただいたことを調べて、フォームで入力した値をコメント欄に表示する際の確認のためのコードとしてvar_dump($_POST)が一番合っていると考えて入力しました ただ上記でも書いた通りすべてのコードが打てているわけではないので「フォームで入力した~」のコードがこの書き方で合っているのかをお聞きしたかったのです
roast_chicken

2016/07/01 04:51

普通にgoogleとかで「var_dump($_POST)」で調べて出てきませんか?? var_dump($_POST)の書き方があっているかあっていないかは入力フォームをコーディングして実行すれば一目瞭然です。 ★プログラムしていて想定通りに動いたことが確認できた時って楽しいと思うので、回答は控えますw あと、前回のご質問で入力チェックについてですが、それを決めるのは貴方ですよ。 例えば 未入力は登録させない 名前はカタカナのみ など、登録したくないデータを除外するためのチェックのことです。 var_dumpしてみれば送信したデータと結果がわかるのでそこから導けばよいと思います。 すべてのコード ①入力フォーム ②DB登録 ③リスト表示 機能を分ければ①だけで今回の質問は解決します。 ①で出力したデータを②で登録、登録したデータを③で出力。 ひとつひとつ理解して頑張ってください。 ^^)b
a-_.

2016/07/04 05:37 編集

度々ありがとうございます 調べていて思ったのでいくつかまたお聞きします ①入力フォームについてですが、HTMLで作成したのとは別にPHPで別のコードを入力するのか、HTMLのコードをそのままPHP側へコピペすればいいってことなのでしょうか ②教えていただいた2つの「DB接続」は同じコードってことなのでしょうか ③先日私が書き込んだ「try{$dbh~」って教えていただいたコードの中で言うと、DB接続・登録処理・一覧取得のどれかに当たるのでしょうか
roast_chicken

2016/07/05 06:36

返信が遅くなり申し訳ありません。 すでに同内容をほかの質問で投稿しているようなので、この質問はクローズしてもらってもよいですか?
guest

0

追記ありがとうございます。

追記された質問内容を拝見する限り、
PHPを使用したアプリケーション構築について基本的な部分が整理されていないように見受けられます。
(基礎的な部分は理解されているという事ならごめんなさい。
その場合の回答は、「htmlのformのactionを自分自身に指定して、その中で処理を行う」となります)

基礎的な部分からの説明をすると本一冊分には収まらないので、ここで回答をするのは難しいです。

そのため、直接の回答では無くて申し訳ないのですが、
入門用の書籍を一冊購入されて、最初から順に学習されることをお勧めします。
*webサイトでもいいのですが、体系的に記述されているサイトは少ないので、私としては書籍による学習をお勧めします。
一冊終わるころには今の質問についてご自身で解決できるようになると思います。

投稿2016/06/28 04:49

tanat

総合スコア18713

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

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

a-_.

2016/06/28 05:15

ご回答ありがとうございます 質問文に書いたコードは入門用の書籍で実際に記述されているものです
tanat

2016/06/28 05:24

なるほど。 ではすでに書籍で学習中ということですね。 であれば、その書籍に記載されているコードの1行1行が何を意味しているのか理解出来るように復習されるのがいいかと思います。 ここで直接的に必要なのは、 HTMLのform <form method="post" action="XXX.php"> における action="XXX.php" が何を意味しているかという部分と XXX.php の中でデータベース登録処理及び表示の処理を行っている部分を抽出している部分 です。 ソースコードの内容を正確に把握していれば、 これらを取り出して組みなおすことが可能ですが、そうでない場合はかなり困難です。 まずは理解を深めるという意味で、 書籍通りの構成でアプリケーションを1から構築出来るように(最終的に書籍を参照しなくても作れるようになる必要があります)なるというのを目標にされるのが近道かと思います。その状態になれば、1ページにまとめるのも出来るようになっていると思います。
a-_.

2016/06/28 06:55

action=は"XXX.php"にフォームデータを送信するという事は何となく見てて理解はできています 質問文で挙げているコード内容もそれぞれが何を意味しているのかも何となく見てて理解はできています 本は一通り読んでみたのですが、現在ほぼ独学状態で理解に苦しんでます 今回の掲示板アプリも質問文で挙げている内容の延長であるのも頭では分かっていますが、HTMLとPHPを一つにする作業とかも、ネットで調べても本に載っていないことばかりで何が今必要な情報なのかも理解できず全く作業が進みません ネット上ではあるけれど人に直接何かを教えてもらえる機会がこのサイトしかないのです お手数おかけしますがお付き合いいただければ幸いです
guest

0

プログラム限らず何かを作る時はそうだと思いますが、いきなりコードを書き始めることは、関数の動作を確認するときなどのテストコードとか、よほど簡単なプログラムでないかぎりやりません。
どんな言語で作るかはまずは脇においておいて、実現したいことをイラストでも文章でもいいので紙に書いてイメージを具体化していくことが大切です。
掲示板であれば、それに必要な機能を列挙するとか、その機能を実現するためには何が必要かとか、ユーザーにどのような操作をさせるとか、少しずつ分解しながら具体化していきます。
そうやって具体化していった中から、部分的にコードを起こしてみてテストしてみるとか、画面イメージだけを作ってみて操作を模擬的に行ってみるとかしていく内にだんだんと具体的になっていくはずです。

簡単にできる部分からやり始めて、少しずつ肉付けをしていくという方法もあります。
プロでもいきなり100%完璧なプログラムを作ることは天才でもない限り無理です。

投稿2016/06/30 08:51

PineMatsu

総合スコア3579

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問