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

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

詳細はこちら
PHP

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

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

HTML

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

Q&A

解決済

1回答

1343閲覧

私が書いたソースコード(php)のレビューをしていただきたい。

sq_kida

総合スコア11

PHP

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

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

HTML

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

0グッド

2クリップ

投稿2019/10/13 17:52

私が書いたソースコードのレビューをしていただきたい。

以下のようなwebページを作りました。使用言語は「php」です。入門書を読みながら、なんとか目的は達成していますが、うまく設計できていないと考えています。オープン系の言語は触れる機会がないため、考え方・設計のヒントやアドバイスを有識者の方から頂きたくこのような投稿をさせていただきました(私は金融系の業務SEで主にCOBOLを使用しメインフレーム開発に従事しています)。

###<今回作成したwebページ>
#####①テキストボックス内に図鑑番号を入力し「検索」をクリック
イメージ説明
#####②図鑑番号をキーにデータベースから内容を取得し表示
イメージ説明

###<私が書いたソースコード>
#####①index.php
######(初回表示されるページ)

index.php

1<?php require '../header.php'; ?> 2<?php require 'poke_search.php'; ?> 3<?php require '../footer.php'; ?>

「header.php」はhtmlヘッダーを記述
「footer.php」はhtmlフッターを記述

######①-1「poke_search.php」のソースコード
#######(初回表示されるページ)

poke_search.php

1図鑑番号 2<form action="poke_search_result.php" method="post"> 3<input type="text" name="Poke_No"> 4<input type="submit" value="検索"> 5</form>

######②「poke_search_result.php」のソースコード
#######(「検索」クリック後に表示されるページ)

poke_search_result.php

1<?php require '../header.php'; ?> 2<?php require 'poke_search.php'; ?> 3<table> 4<tr> 5 <th>図鑑番号</th> 6 <th>ポケモン名</th> 7 ... 8 <th>合計</th> 9</tr> 10<?php 11$pdo=new PDO('mysql:host=localhost;dbname=pokemon;charset=utf8','abc','XXXXXXXXX'); 12$sql=$pdo->prepare('select * from pokedex where Poke_No=?'); 13$sql->execute([$_REQUEST['Poke_No']]); 14foreach ($sql as $row) { 15 echo '<tr>'; 16 echo '<td>', $row['Poke_No'], '</td>'; 17 ... 18 echo '<td>', $row['Total'], '</td>'; 19 echo '</tr>'; 20 echo "\n"; 21} 22?> 23<?php require '../footer.php'; ?>

###聞いてみたい点
「poke_search.php」を「index.php」,「poke_search_result.php」にて上述のような形で使用しましたが、一般的でしょうか?このwebページでは、毎度「poke_search.php」がサーバから返される形になっています。上手く検索結果欄だけ更新するようにはどのようにすればよいでしょうか。

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

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

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

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

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

m.ts10806

2019/10/13 20:48

設計はコード書く前にするものでは。
takasima20

2019/10/13 23:42

この規模のやつならこんなもんじゃないの? しいていうなら、Poke_No の入力内容は残した方がいいかも。
guest

回答1

0

ベストアンサー

質問がゆるいので何が聞きたいのかよく分かってませんが、入門レベルのコードで「一般的か?」と聞かれると、何もかもが一般的ではないです。

php において、複数ページに渡る処理を行う場合はロジックとビューの分離を行います。また、DB 処理が発生するものは、(小さなシステムでも)なんらかのフレームワークを使用することがよくあります。

大方針としてそういった分離のできる設計(データの持ち方)をすると良いです。

で、以下の部分を適当に解釈して回答します。

このwebページでは、毎度「poke_search.php」がサーバから返される形になっています。上手く検索結果欄だけ更新するようにはどのようにすればよいでしょうか。

サーバから返さないようにするのであれば、初回データ取得の段階で、全データをクライアントに渡し、JavaScript で検索処理を実現することになります。
適当なデータ構造をブラウザ側に渡し、それを JavaScript で加工し、表示するイメージですね。

検索処理をサーバサイドで実現するのであれば、JavaScript の ajax という機能を使用します。こちらは都度必要なデータをサーバに確認に行き、とってきたデータを JavaScript で表示するという機能です。

投稿2019/10/13 22:01

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sq_kida

2019/10/14 14:17

不明瞭な質問に対し丁寧なご説明ありがとうございます。精進します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問