今度ホームページを作りたいと考えているのですが、HTMLとPHPの大きな違いがわかりません。
調べてみた所同じ悩みを持った方がいるようなので調べてみたのですが一点気になる点がございまして、HTMLとPHPでそれぞれできることと出来ないことなどあるのでしょうか?
HTMLでもJavascript使えば結構こちらのわがままを聞いてくれるのでPHP学習しなくてもいいのかなって思いました。
皆様の体験談でも構いませんのでご意見よろしくおねがいします。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
以下ベストアンサー後
今回様々な方にご返答いただきました。
今後同じ疑問を持ち検索してこのページに来た方向けにどういった点がわかりやすかったのかをコメントしておきましたので宜しければ参考にしてください。
また、質問に答えて頂いた皆様お時間いただき誠にありがとうございました。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ベストアンサー
ホームページ(以降ウェブサイト・ウェブページと表現します)を作成する時に、予備知識としてウェブサイトを公開(みんなが見れるように)する場所(サーバー※)の事を知る事が今回のHTMLとPHPの違いの理解に役立つと思います。
HTMLはいわずもがな、ウェブページを作成する言語で、HTMLタグなどを使い作成(構築)していきます。
ウェブページを公開するためには、サーバという24時間稼働しているコンピュータが必要で、そのコンピュータ上にウェブページを保存することで(ドメインの設定とかゴニョゴニョありますが・・・)PCなり、スマホなりで見ることができるようになります。
24時間稼働しているコンピュータはサーバと総称されており、サイトを訪問した人にHTML(テキストデータまたは文字列のまとまり)を受け渡す役割をします。
さて、ここで例えをつかいHTML・サーバの説明をします。
「24時間稼働するコンピュータ(サーバ)」はリアルでいう24時間営業のお店です。
「ウェブページ=HTML」はリアルでいうところの商品(例:雑誌 あくまでイメージです)です。
(条件)訪問客があったら、サーバは雑誌を訪問者に受け渡すこと、とする。
この例えと条件のもと文章を組み立ててみると
お店に、訪問客がきたので、お店は、雑誌を訪問客へ受け渡しました。
[読み替え]サーバに、訪問客が来たので、サーバは、HTMLを訪問客へ受け渡しました。
という風に読み替えられます。
ここから少しくわしく説明します。
例えば、http://takato.jp/というサーバがあったとします。
あなたは、info.htmlというウェブページを作成し、takato.jpサーバにデータをアップロードしました。
あなたは、Twitterでhttp://takato.jp/info.htmlというウェブページをツイートしました。
ツイートを見たあなたのフォロワーさんはhttp://takato.jp/info.htmlを訪問します。
こういった一連の行為をサーバはしています。
ここで、注目したいのが、info.htmlというウェブページです。
http://takato.jp/info.htmlというURLは「ウェブページtakato.jpにあるinfoという名前のHTMLを見せて下さい」という意味になります。infoという名前のHTMLというのがココではミソで、ファイル名を特定できるというのがHTMLということです。
つまり何が言いたいかというと、特定のページ(雑誌)をくださいとお店側に伝えると、お店はあなたに要求された通りの商品を受け渡してくれます。
HTMLとはそういうものです。これをウェブの世界では「静的なXXX」という表現をします。
方や、PHPというものは「サーバサイドの処理」という風に、私が喩えに出した「お店」を例に「サーバサイドの処理」は「お店側の処理」という表現に置き換えることができます。
これ以降はHTML:info.htmlを作成したのと同様にPHP:info.phpを作成したものとします。
では、お店側の処理とは何なのでしょうか。
リアルなお店を想像してみると、必ずお店には店員さんがいますよね。
お店側の処理という表現は、お店の店員さんが何かをしてくれること、と言い換えることができます。
となると、
PHPとは、お店の店員さんに何かを尋いたりして、店員さんが作業をした結果を受け取るという行為だといえます。
ちょっとPHPの説明を足早にしてしまったのですが、頭を整理すると↓
「http://takato.jp/info.html」は「infoというHTMLを下さい」と言っていた事に対して
「http://takato.jp/info.php?search=●●」は「●●というものを探しているんですが、店員さん(info.php)探してくれませんか」
ということになります。
説明も終盤になってきて少し専門的な話しをすると
PHPというものはサーバサイド(お店側)の(店員さん1人1人に対しての)処理方法を1つずつ指示するもの。MySQL(データベース)というものをお店の倉庫とかに見立てると、「訪問者の欲しいものがお店の倉庫にある場合は、倉庫から商品を取り出して、お客様へ提供する」などの手順をPHPという言語を使用してファイルを作成しておきます。
そうすることで、info.php(infoという名前の店員さん)はお客様のニーズに応じて、
http://takato.jp/info.php?search=peacematayoshinohibana
→ ピース又吉の火花を探して下さい とお客様に尋ねられたら、「火花」を探して提供する
だったり
http://takato.jp/info.php?search=dazaiosamu
→ 太宰治を探してください とお客様に尋ねられたら、「太宰治」を提供する
という風に、なにかしら商品をお客さまに尋ねられても柔軟に対応できるということです。
これを動的なウェブページと呼び、静的なウェブページ(HTML)と異なる点になります。
ウェブサーバでは、お客様が訪問してくれることをリクエストと呼び
HTMLとPHPをこのリクエストという表現をもって分類すると
HTMLはリクエストが来たら、予め作成しておいたHTMLファイルを閲覧者に返すもの。
PHPはリクエストが来たら、そのリクエストに応じたHTMLファイルをその場で作成し、閲覧者へ返すもの。
という分類(違い)になります。
※サーバーという表記は、「サーバ」というふうに伸ばし棒を付けずに表現することもあります。
投稿2015/11/05 07:13
編集2015/11/05 07:33総合スコア23
0
PHPは基本的にサーバーに処理をさせる言語です。
HTMLはブラウザ(Chrome,FireFox等)に処理をさせる言語です。
ご自身のPCのデスクトップにindex.htmlとindex.phpという2つのファイルがあるとします。
index.htmlをブラウザで開くと、ブラウザはこれをHTMLファイルとして処理します。
index.phpをブラウザで開くと、ブラウザはこれを「サーバーで色々と処理が行われた後の HTMLファイルのようなもの」として処理を行います。
takatoさんは、PHPの「処理結果をHTMLとして出力できる」という一面だけをご覧になって、
HTMLとPHPの違いがわからなくなってるんだと思います。
PHPはもっと複雑で、もっと便利で、使い方を間違えると大変なことも起っちゃう。そういう言語です。
PHPを扱うにはある程度HTMLの知識が必要になってくるので、
とりあえずHTMLから始めて見ることをおすすめします。
ちなみに、PHPは色々な処理を行う事ができるため、HTMLに比べサーバーへの負担が大きくなります。
ヤフージオシティーズをはじめ、無料でレンタルできるウェブサーバーでは、基本的にPHPを扱うことはできません。
ファイルをアップロードすることはできるかもしれませんが、それを閲覧することはできないと思います。
投稿2015/11/05 07:14
編集2015/11/05 07:30総合スコア187
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
PHPはサーバ側で処理が実行されます。
そのため、あらかじめサーバに用意しておいたデータをサーバから出したり、ユーザからのデータをサーバに保存したり、サーバ側でしかできない処理が実行できます。
HTML+javascriptはブラウザ上でしか動かないので、サーバ側にデータを保存することは出来ません。
(javascriptがサーバのPHPにアクセスして保存するということは可能です)
例えば、ECサイトで商品を購入したい場合はサーバ側に注文データを保存して、店員の管理画面から発送処理をしたりしますが、これはサーバ側でデータを保存しないと出来ないことです。
店員のブラウザとお客さんのブラウザは別のものなので、サーバを介さないとデータのやり取りが出来ません。
という感じでイメージは掴めるでしょうか。
投稿2015/11/05 05:37
総合スコア18713
0
私が仕事をするうえで、HTML、PHPどちらでコーディングするかの判断は、
データベースを使用する / 使用しない
でおおむね判断しています。
データベースを使用する必要がある場合は、HTML単体では不可能ですし、
静的ページの場合は、PHPでコーディングする必要性がありません。
投稿2015/11/05 06:16
総合スコア440
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/05 07:14
2015/11/05 07:33
2015/11/05 10:33
0
HTMLはwebページで表示させるためウェブデザイナーなどが作っていて、PHPはそのwebページを動的なものにするためにプログラマやエンジニアが作っているといった認識です。
例えばHTMLで作られたログインページがあったとして、ユーザーがログインする際に誰がどのパスワードでログインしたかわからないですよね?そこでPHPでこのパスワードを認識し、それぞれのマイページに移動したりアカウントがなければ登録ページに移動したりする処理を行える。といった感じでしょうか。
投稿2015/11/05 05:56
総合スコア19
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/05 06:06
2015/11/05 06:35
2015/11/05 10:36
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/05 09:48
2015/11/05 12:10