• 締切済み

PHPの基本的なことを教えて下さい!

サイトでカートの使用を考え、PHPを利用しようと思っていますが、基本的なものが良く解かりません。 説明上手な方、教えて下さい。 PHPについては図書やインターネットでも調べてはいます。 Apache2、PHPもインストールしています。 【質問1】 このPHPはどこにプログラムを記述するのですか?エディタ(Aと称す)と思っているのですが、HTMLにAを呼び出す記述をするのでしょうか。 【質問2】 呼び出すのであれば、その記述のことを何と言うのですか。言語というものですか。 基本的なことが解かりません。 説明上手な方、教えて下さい。

みんなの回答

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.7

自分で作りたい!という気持ちは大切ですし、カート付き通販サイトかな? を作りたいと思う気持ちも大切です。 しかし世の中では、カート付きの通販サイトを作りたいと思った企業は何千万円や時には億単位の金をかけてIT企業などに製作を依頼する とか、自社内のシステム部に人件費や設備投資などをして作ります。 つまり、個人が気軽にポン!と作れるような代物ではないってことがおわかりかと思います。 質問1 基本的には 何とか.php などのテキストファイルを作ってそこに記述してゆきます。 例えば、 index.php などのテキストファイルです。 作ったファイルをサーバー上で動かせるようにするためにapacheを使うのが一般的。 例えば、 http://あなたのサイト/index.php などのようにアクセスすると動くようになります。 htmlは別な話です。 PHPはその歴史的な背景から、HTML内に記述することも可能です 例えば、 ~前略~ <body> <?php print date('Y-d-m'); ?> </body> とすれば、アクセスしたときの日付けを表示できるよになります。 ただし、このようにHTML内に埋め込む手法で作ってゆくと簡単なサイトを作ることは可能ですが、カート付き通販サイトなどのような大規模のシステムを構築するには向きません。 勉強を始めるという意味ではHTML内に埋め込みの記述方法で構わないかと思いますが、将来的にはMVCやオブジェクト指向を学んでいかないと到底作れないようなものです。 >情報漏洩って?見られてはまずいような情報を記述するのでしょうか? 見られてはまずい情報でもどこかに記述するなり保存させなくてはなりません。 例えば、カート付き通販サイトであれば、個人情報を入力してもらったりするわけですから、個人情報を取り扱うことになります。 その個人情報をどのような方法で保存させておくか。 どのような方法で読み出してくるか。 簡単にハッキングできるようなプログラムを作ってしまえば、外部の第三者がこれらの個人情報を簡単に読み取ることが出来てしまいます。 これは大変な問題です。 何千万、何億 とコストをかけた一般企業のシステムでも、個人情報漏洩のニュースは後を絶えません。 あなたが、PHPの勉強を1日8時間。時にはスクールに通うとかしつ勉強しまくれば、センスが良ければ2~3年くらいで、カート付き通販サイトっぽい何か を作ることができるようになる可能性が高くなります。

kfjbgut
質問者

お礼

有難うございます。 なるほど、よく解かりました。 しかしながら、よくカートを使っているサイト(私の関連サイト)のソースを見ると”http:www.・・・”と記述されていてアクセスしてもショップサイトが表示されません。これって自分でカートを作製しているのですよね。 結構、自分で作製されている方々が多いと言うことでしょうか。 現在私は、レンタルを利用しています。 とにかく一度チャレンジしてみます。 どなたか、他に参考となる御意見がありましたら宜しくお願いします。

回答No.6

> ところでphpの場合、例えばカーとで商品が100種類ある場合 > htmlのソース中に100種類の商品名、金額等々を記述しなければ成 > らないのでしょうか。 通常、そういった大量のデータ群を扱う場合、データベースを利用して PHP処理によって動的にページを生成するなどします。 ところでショッピングカート構築というお話に全然気づかなかったのですが、 いきなり構築するのは良いですが公開はしない方が良いです。 巷にあふれるSQLインジェクション、XSS(クロスサイトスクリプティング)、 CSRF(クロスサイトリクエストフォージェリ)、セッションハイジャック、 OSコマンドインジェクション、ディレクトリトラバーサルなどと呼ばれるシステムの脆弱性、 個人情報を取り扱う上での最低限のセオリーと注意意識などが 低い為に後々問題になる可能性は否めません。 例えそれらの発生頻度が低い、サイト自体の認知度が低いとしても、発生した場合の 被害がでかい為、無視できるレベルの脆弱性とは考えにくいです。 そういったセキュリティ周りのお話に精通していたとしても、 PHPならではの対処法も存在する為、PHP初心者の状態で、誰にも 検収されないままサイトを公開してしまうのはあまりにも危険です。 公開するならば、漏れて困るような情報をサーバーに置かないことと、 個人情報を操作しないものからちょっとずつステップアップ していった方が良いでしょう。

kfjbgut
質問者

お礼

有難うございます。 成るほど、そのようなリスクがあるのですか。 しかし、私もサイトや図書購入で色々調べましたが、そう言ったリスクは記述されていないのが実情です。 サイトや図書は非常に不親切ですよね。 naktakさんに教えて頂いて助かりました。

  • asm8441
  • ベストアンサー率100% (1/1)
回答No.5

こんにちは。 ショッピングカートのシステムをPHPで構築しようと考えていらっしゃるみたいですが、(こんなこと言うのもおこがましいですが;)中途半端な知識で作って公開してしまうと情報漏洩のもとになるので、あまり先を急ぎすぎず着実に勉強してがんばってくださいね。 <!--#include file=...というのはSSIというもので使われる記法で、PHPとはまた違ったものです。 > 商品が100種類ある場合htmlのソース中に100種類の商品名、金額等々を記述しなければ成らないのでしょうか。 それでもできますし、PHPでプログラムを書けば、データベースもしくはファイルに各商品の情報を入れておいて、それをきれいに一覧として表示させることもできます。

kfjbgut
質問者

お礼

有難うございます。 情報漏洩って?見られてはまずいような情報を記述するのでしょうか? 心配ですね。

回答No.4

No.1です。 補足ですが、PHPはApacheを介して動作します。 その為にhttpd.confにLoadModuleとAddTypeを記述します。 httpd.confを書き換えた場合、Apacheの動作として反映させる為に Apacheを再起動させなければなりません。 もしAddTypeの記述を行ったにも関わらずPHPがそれと認識されず動作するならば、 Apacheを再起動していない可能性があります。 また、Windowsでのセットアップの時、Apacheのバージョンを結構気にしなくてはなりません。 httpd.confに LoadModule php5_module c:\php\php5apache2.dll などという記述をしたかと思いますが、 Apacheのバージョンが2.0の時はphp5apache2.dllを使うように記述します。 Apacheのバージョンが2.2の時はphp5apache2_2.dllを使うように記述します。

kfjbgut
質問者

お礼

有難うございます。 LoadModule php5_module c:/php/php5apache2_2.dll と記述しています。 ところでphpの場合、例えばカーとで商品が100種類ある場合htmlのソース中に100種類の商品名、金額等々を記述しなければ成らないのでしょうか。 現在メニューには<!--#include file=を使っています。これでいいのでしょうか。 誰か教えて下さい。

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.3

No.2です。 このプログラムなら、HTMLファイルの拡張子が.phpになっていて、ブラウザからApache経由で表示させたときに「合格」と表示されれば正しく動いているでしょう。 =70)以降 ?>までが1行で表示されてしまったら、拡張子が.phpになっていないか、ファイルをブラウザで直接表示してしまったか、PHPが起動できていない状況です。 PostgreSQLが必要かどうかは具体的に何をするかによって変わるために明言できません。 PostgreSQLはリレーショナルデータベースですので、入力された情報を格納しておき後で取り出して利用できるようにするものです。 最終的にカートのシステムを構築されたいとのことですので、あった方がいいとは思います。 フリーなら他にMySQLとか、有償ならAccessとかOracleとかいろいろありますね。 規模が小さければデータベース無しで構築することも可能です。

kfjbgut
質問者

お礼

有難うございます。 又一つ賢くなりました。 尚、右下にあるApacheのアイコンをクリックすると [error] the requested operation has faillde! と表示されます。 上手く経由されていない証拠ですね。

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

質問内容に対していきなり難易度の高いことをされようとしていますね‥‥目標が高いことは良いことです。 【回答1】 PHPはHTMLファイルの中に直接記述するか、別のファイルにしてHTMLの中からinclude関数で読み込むように記述します。 直接記述する場合はHTMLファイルの中に <?php ~ ?> というタグを追加し、~ の部分にPHPのプログラムを記述します。 プログラム部分は複数行になっても良く、またHTMLファイルの中に何箇所あっても大丈夫です。 【回答2】 ちょっと質問の意図するものが判らないので適切な回答ではないかもしれません。 ファイルの拡張子は.htmlではなくて.phpにし、これによってApacheがPHPを自動的に起動して実行します。 その設定はhttpd.confの中のAddTypeでやっておく必要があります。 よって特に呼び出すということは意識する必要はありません。 少しでも理解の足しになれば幸いです。

kfjbgut
質問者

お礼

有難うございます。 又、一ステップ解かりました。 それで、AddType application/x-httpd-php .php は書き換えました。 それでhtmlのソースのなかに <?php $point = 100; if ($point >= 70) { print ("合格"); } else if ($point >= 50) { print ("もうちょっと"); } else { print ("残念"); } ?> と記述しましたが、上記の文字が表示されるだけですが上手く起動していないのでしょうか 又、PostgreSQLは必要なのでしょうか。 どなた様か宜しくお願いします。

回答No.1

どこに、と言われたら、phpファイルに、としか言いようががありませんが、 それはあなたが知りたいことでは無いでしょう。 PHPは埋め込み型言語です。 どういうことかというと、HTMLの記述途中にPHPスクリプトが突然記述されて いても良いということです。 PHPを呼び出す為の記述などは必要ありません。 因みにPHPファイルといっても中身はテキストですから、メモ帳でも何でも テキストを編集できるエディタさえあれば良いです。 それがそれでは良くないと感じるのはまだ先の事です。

kfjbgut
質問者

お礼

有難うございます。 少し解かりました。 その埋め込んだphpを作動さすのにはApache2等が必要なわけですかね。 どちら様か宜しくお願いします。

関連するQ&A