あなたの人生に効く作品がみつかる手書きのカード♪>>

今度、PHPを学びたいと思っています。
しかし、HTMLやCSSはわかるんですがこういったプログラムを覚えるのは初めてです。
簡単で一週間ぐらいで覚えられると聞きました。
そこで、質問が2つあります。
基本的なことを聞いて申し訳ありませんが過去トピを見ても見つかりませんでしたので、質問させていただきます。

1.PHPを覚えると何ができるようになるんでしょう??
2.PHPを初心者が勉強していくのに適した本、雑誌、サイトなどはありますでしょうか??

以上、一つでもいいのでわかる方いらっしゃいましたらよろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

HTML→JavaScriptかPHPが一番面白いし、プログラムの勉強になります。

簡単です。プログラムというと難しそうに思えますが、今は、関数といわれるものが多数、最初から用意されており、それをつかえば色々な処理ができてしまいます。たとえていうなら、Excelのボタンを押すと色々動作が変わってくれるじゃないですか?あんな感じなものをコードとしてかくだけです。

PHPを覚えて他の言語に移行しても、必ず役に立ちますし、基本的な構文は似たようなものです。PHPができたら、C言語系にすすめば、C/C++/C#/Javaなど、色々と幅も広がります。言語間の差異はあまりないですし。

がんばってくださいね。面白いと思う人は面白い作業ですよ。
    • good
    • 4
この回答へのお礼

回答ありがとうございます。
返事が遅くなってしまい申し訳ございません。
なるほど、JSでPHPですか!
アドバイス通りいまJSを学んでいます。
なんかプログラムってほぼ丸暗記かなってちょっと思ってます。
数学に似ているような、、、
デザインでFlashを極めるより、プログラムで色々と覚えて経験を積んだ方が将来的に年収があがるような気がするんでこのままプログラム系に進みたいと思います。
どうもありがとうございました。

お礼日時:2007/05/15 13:29

 PHPを覚えると、他のみなさんがおっしゃっているように、HTMLで表示できるような静的なサイトのほか、クライアントからの入力内容を理解し、それに応じていろいろな動作をする画面を作ることができます。


 PHPは、もともとWebプログラミングということを意識して作られた言語です。ASPやJSP(JAVA)よりも表現が平易であり、またデータベースとの連携については専用の命令語が用意されているなど、初心者の方でも取っ付き易いのが特長です。

以下、簡単な PHP プログラムの例です:
たとえば、テキストボックス2個と送信ボタンのある画面

<html><head></head>
<body><form action="test.php" method="post">
<input type="text" name="a"><br>
<input type="text" name="b"><br>
<input type="submit" value="送信">
</form></body></html>

の、入力された2個のデータを合計して表示する PHP プログラム
「 test.php 」は、たとえば

<?php
$a = $_REQUEST['a'];
$b = $_REQUEST['b'];
print "合計:".($a + $b);
?>

のようになります。

送信されてきたテキストボックス a,b の値は、それぞれ
$_REQUEST['a']、$_REQUEST['b']という書き方をすることにより
PHP プログラム内で読み取ることができます。
そして、これらを足し算して、「合計:」という文字列( "~~" )のあとに
くっつけて( . )、表示( print )しなさい、というつくりになっています。

がんばってくださいね!
    • good
    • 2
この回答へのお礼

回答ありがとうございます。
返事が遅くなってしまい申し訳ございません。

う~ん、なるほど。
PHPの一端に触れたようで大変嬉しく思います。
PHPって$、?、printという記号をよく使うようですね。
ご丁寧にありがとうございます。
どうもありがとうございました。

お礼日時:2007/05/15 13:25

本来、HTMLファイルの内容は静的(決まり切った内容)で、


ユーザからのリクエストに応じた
動的なページをブラウザに返すことができません。
しかし、PHP(や、Webアプリケーション開発用の他の言語)を使うと、
ユーザからのリクエストに応じてWebサーバの中でプログラムを実行し、
必要に応じてデータベースサーバとデータをやりとりした結果を
HTMLの形でブラウザに返すことができます。

ここの掲示板もそういう仕組みで動いています。
インターネットショッピングのサイトも、基本的な考え方は同じです。
PHP以外の言語を使っている場合も、当然ありますけれど。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
なるほど、動的なページ作成に使う言語なのですね。
Perlも同じ役割をできるようですがPHPの方か早いというのは聞いたことあります。
とりあえず本屋へ行ってわかりやすい本がないか探してきます。
どうもありがとうございました。

お礼日時:2007/05/10 14:13

PHPを覚えると、このサイトのような動的なサイト(掲示板・チャット・ネットショップなど)の構築が可能になります。


無論、覚えただけでは出来ませんが… (1週間の勉強で出来たら世の中のプログラマやSEはみんな失業です)
    • good
    • 2
この回答へのお礼

回答ありがとうございます。
なるほど、無料講座に出たとき講師が言ってたんですが覚えるのと使えるのは違うといったところでしょうか。
どうもありがとうございました。

お礼日時:2007/05/10 14:07

>1



「PHPスクリプト」で検索

>2

「PHP 入門」で検索
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2007/05/10 14:06

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qphpをある程度習得するまでの期間

web業界4ヶ月の者です。

業務でphpを使用しています。現在1ヶ月半ほどphpにてプログラミングをしているのですが、どうも理解が進みません。
こうやったらこれが実現できるというようなロジックを考えつくまで非常に時間がかかってしまいます。
ほかの人が3日でできるという簡単なシステムをつくるのに1ヶ月ほど費やしています。

上司曰く、「学生でもできる最低限のレベル」のことができないといった状況です。
phpは非常に簡単な言語だから誰でもわかるとのことなのですが、1ヶ月半やそこらで習得できるようなものなのでしょうか。
習得できない私はあまりプログラミングをするのに向いていないのでしょうか。
皆様の率直なご意見をお願いいたします。

ちなみに、プログラミング歴は2年でVBをやっていました。一応基本的な知識はあると思っています。

Aベストアンサー

ANo4のPonpoko213です.
だいぶ様子がわかりました,周囲の方々のソフトウエア開発力が高いのですね.社内のノウハウもそれなりに蓄積されている印象を受けます.
個人的な考え方で恐縮ですが,この課題のハードルは高いと思いますよ.前回の繰り返しになりますけれど,WEBプログラミングはデザインスタイルが違うのです.会議室予約のようなものは不特定多数の素人が使い,変更も多いシステムですのでそれなりのシステムです.これまでの言語の経験者だというだけで,いきなりフレームワークを使って自分でつくってみなさい,といわれたとすると,結構戸惑う方がいらっしゃるのがむしろ当然です.
私のところにも大卒,院卒のエンジニアや既存ソフトの経験者が入社してきますけれど彼らの当時を思い浮かべても,会議室予約システムを独力でしかもWEBフレームワークで,というのは課題として投げっぱなしにするには難しいと思います.事前のレクチャーとフレームワークがしっかりしているということであれば実現可能な,興味深い課題にすることはできるとは思いますけれど.
 それなりの試験を受け,基礎能力等を認められて入社されたのでしょうから,わからないことを聞く,ということはやっていけないことでもないし,恥ずかしいことでもなんでもないと思います.聞き方のTPOと内容をわきまえる必要はありますが.
 詳細がわかりませんし,特に上司の方のお考えが理解できていないものですから,なんとも言えませんが.

 これ以下は全く余分なたわごとかもしれませんが,一言.ご本人にとってはまずはできる・できないが大切なのでしょうけれど,自分の力だでやらなければという思いが先行してWEBからソースをパクッて仮に動くものができれば,上司からほめられもするでしょうけれども,今後の仕事には大して活かないと思いますよ.質問者さまのおっしゃる通りいつもパクれるとも限りませんし,第一WEBからパクッて理屈も完全に把握せぬままソフトが動いた,ということは偶然で動いたようなものですから.
また,WEBや一般書籍のソースを沢山読むこともいいことですが,社内に優秀な方がいらっしゃるというなら,そちらのソースも読まれることをお勧めします.立派で完全無欠なソースでは無いとしても,それで仕事をやってきているのは事実ですし,自社の「型」がわかります.更にご本人たちからの解説も聞けるからです.

今の段階であれこれ考えて不安になることはあまり得策ではないと思います.スタートラインに立ったということでしょうから,多少きついことを言われても先輩に胸を借りつつまずやってみることだと思います.向き不向きはそれからでないと判断付かないと思いますよ.頑張って下さい.個人的にはPHPの信奉者です.大きな可能性を持ったすばらしい言語だと思います.

ANo4のPonpoko213です.
だいぶ様子がわかりました,周囲の方々のソフトウエア開発力が高いのですね.社内のノウハウもそれなりに蓄積されている印象を受けます.
個人的な考え方で恐縮ですが,この課題のハードルは高いと思いますよ.前回の繰り返しになりますけれど,WEBプログラミングはデザインスタイルが違うのです.会議室予約のようなものは不特定多数の素人が使い,変更も多いシステムですのでそれなりのシステムです.これまでの言語の経験者だというだけで,いきなりフレームワークを使って自分でつく...続きを読む

Qphpにcssを適応させたいのですが?

phpで出力させた結果をブラウズするのに、css指定させたいのですが?

できるのでしょうか?

Aベストアンサー

PHPだから特別な考えはしなくて良いです

PHPはあくまでも、サーバー側で動いて、その結果を出力させるだけです

つまり出力させたHTMLにごくごく普通にCSSを適用させれば良いだけです
又、テクニックとしCSSそのものをPHPで処理させることも可能ですよ

例えば
---------------index.html(又はindex.php)のhead内
<link rel="stylesheet" type="text/css" href="stylecss.php"/>
---------------

------------stylecss.php
BODY {
background-color: #<?php echo $background; ?>;
margin: 0px;
}

A:link {
color: #<?php echo $acollar; ?>;
text-decoration:none;
}
-----------
のようにしてしまって、CSSそのものを動的に生成することも可能です

PHPだから特別な考えはしなくて良いです

PHPはあくまでも、サーバー側で動いて、その結果を出力させるだけです

つまり出力させたHTMLにごくごく普通にCSSを適用させれば良いだけです
又、テクニックとしCSSそのものをPHPで処理させることも可能ですよ

例えば
---------------index.html(又はindex.php)のhead内
<link rel="stylesheet" type="text/css" href="stylecss.php"/>
---------------

------------stylecss.php
BODY {
background-color: #<?php echo $background; ?>;
margin: 0px;
...続きを読む

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む

Qオープン系、汎用系とは?

職を探すときに、オープン系システム開発とか汎用系システム開発という言葉が使われますが、オープン系・汎用系とはそもそもどーいう意味なんでしょうか?

どなたか、よろしくお願いします!

Aベストアンサー

オープン系とは、Unix,WS(+PC)をベースにした所謂「クライアント・サーバーシステム」を前提にしているようです。各WSやPCは、「通信」で結ばれます。文字どおり、個々の機種への依存性を極力排し、自由に結合できるのが特徴です。

汎用系とは、汎用大型機を前提としており、今でも金融系や移動通信の制御などに用いられています。(E)WS+Unixが出てくるまでは事実上これしかありませんでした。(他にもスパコンとかミニコンはあったが、基本は同じ)

これ以上詳しく言うとボロがでるので、あとは、専門家の方に任せます。

QPHPとは、何をするための何なのですか?

今、Webを勉強している者です。
HTMLについてはそれなりに理解してきつつあるのですが、
いまだ、CGIとかASPとかPHPとかDなんとかかんとか、とか分からないコトバが出てきて悩みます。

PHPとは、いわゆるひとつの何なんですか?
HTMLのような言語?
それとも、なにかの手法?
PHPとはweb上で何ができるのですか?

どうかお教えください。
宜しくお願いします。

Aベストアンサー

HTMLはサーバにファイルを置いて、アクセスしたパソコンにそれを送りつけて、書いてあるように表示する、つまり、「静的なページ」を作る時に使います。
そうではなく、アクセスしたユーザが何かアクションを起こすと、それに従って表示を変えたり、色々な動作をさせたり、ユーザから書き込みさせたりするには、簡単に言えば、ユーザがサーバを操作できなくてはいけません。
つまり、サーバがユーザの要求や入力を受け取って、それをデータとして蓄えたり、並び替えや検索をして表示したり、そういったことが必要です。
そのためには、ユーザがブラウザから動かすことができるプログラムが必要です。
webでそれを行うためのプログラム言語が、asp、perl、phpなどです。

それらを使わないと実現できないものは、アクセスカウンター、掲示板、チャット、ショッピングモール、会員制ページ、カレンダー、メール機能、その他静的ではない動的なページのすべてです。

aspはwebサーバがMicrosoft社のIISの場合です。
perlやphpはwebサーバやOSに係わらず、そのシステムがインストールしてあるサーバなら、WindowsでもUNIXでも動作するので汎用的です。

今はphpで作られているサイトが増加しています。
phpやaspはperlに比べると比較的簡単で覚えやすいし、動作が速いので、サーバへの負担が少ないことが特徴です。

HTMLはサーバにファイルを置いて、アクセスしたパソコンにそれを送りつけて、書いてあるように表示する、つまり、「静的なページ」を作る時に使います。
そうではなく、アクセスしたユーザが何かアクションを起こすと、それに従って表示を変えたり、色々な動作をさせたり、ユーザから書き込みさせたりするには、簡単に言えば、ユーザがサーバを操作できなくてはいけません。
つまり、サーバがユーザの要求や入力を受け取って、それをデータとして蓄えたり、並び替えや検索をして表示したり、そういったことが必...続きを読む

Qtableタグとformタグの組み合わせ

tableタグとformタグの組み合わせでどのように記述すれば、構文上正しいのでしょうか?
私は下のパターンで書いておりますが、間違いでしたら早めに改めたいので
お聞きしました。

<table>
<form>
<input type="hidden" name="a" value="1">
<tr>
<td>
<input type="text" name="b" value="">
</td>
</tr>
<tr>
<td>
<input type="submit" value="OK" value="">
</td>
</tr>
</fomr>
</table>

Aベストアンサー

恐らく、<form>タグを入れると1行分の隙間ができるのでそのように記述しているのでしょう。私も4年ほど前に何かの雑誌でそのように記述しましょう、を確かに見ました。W3Cの理論を無視すれば別に表示するのだから構わないとも思います。
しかし、私の場合、今は、前者様の回答のように<table>の外に記述します。そして、スタイルシートで
<form style="margin:0px;">
とすれば、隙間が無くなります。

Q組み込み系と制御系の違いは?

SE/PGの求人で、組み込み系、制御系を見ますが、
組み込みとは、家電製品などに組み込み、使用者が家電製品を使うときに操作したとおりに動くようにプログラムをつくるエンジニアのことでしょうか?

制御系はどういたことなんでしょうか?
制御とついているので制御するのだと思うのですが、使われる箇所としてはどういった所に使われるのでしょうか?

さっきの組み込み系でも、家電製品に”組み込ん”でも、”制御”もされているのではないでしょうか?
例えば、電子ジャーに”組み込ん”でも、温度調節なども”制御”しているのではないでしょうか?

組み込みと制御は同じような事なのでしょうか?

Aベストアンサー

○○系という言葉自体が広い概念ですので、たしかに重複する意味もありますが。
元々、系列化するものに対して○○系として区別していました。
対象が同じものであっても言い方で混乱しますね。
結論を簡単に言えば、表現の方法の違いなのですが、
1)主機能面から言えば、○○制御系
  (背景には、複雑・多様化、ネットワーク化、ユビキタス、インフラなどの課題が多い)
2)機器内部にコンピュータシステムを組み込むための技術力、対応力を強調させる場合は、組み込み系。(背景には、小型化、省電力、高速化などの課題が多い)

で、SE/PG求人ということなので、「ソフトウェア開発」に絞られます。
一般には、制御系システムの方が範囲が広く、以下のように使われるケースがあります。
「...制御系のシステム(計測・制御用ソフト、組み込み用ソフト、FA用ソフト)の開発経験者を求む....」

一般的には、
組み込み系システムとは、
 昨今の家電・電子機器・自動車(etc.)には、機器を制御するためのマイコン用ソフト・ハードが組み込まれて内蔵されている。その機器内部のコンピュータシステムを指す。組み込み系ソフトとは、機器内部のコンピュータシステムを稼動させるソフトウェアで、組み込み系システム用に開発されたソフトウェアのこと。組み込み系に対しては、PC系・UNIX系と言ったりする。機器の外部にコンピュータを接続する形式が「非組み込み系」と考えてよい。システムの構築の際、形態・方法を指す言葉。したがって、電子ジャーは、組み込み系システムであるとは言えます。

一方、制御系システムとは、広義には、機器を「制御する」システムを対象とする。狭義には、特に制御が主機能になっているものを指す。ここでの「制御系」の概念は、「組み込み系」であっても「非組み込み系」であっても構わない。すなわち、システム構築の目的や用途(機能)を強く意識した言葉。したがって、電子ジャー(炊飯)などの特定の狭い用途で主機能ではない場合には、使いません。自動車のカーナビ(位置特定)なども。敢えて「制御」を使うならば、電子ジャーの温度制御ソフトのように使われる。


制御系の実例的には
主な制御系         具体的システム例       ソフトの対象例
監視・制御系        中央監視盤、照明制御システム 制御端末用ソフト
FA系           製造ライン監視制御システム  PLC用ソフト
プロセス制御系       製鉄プラントシステム
通信・制御系        移動体通信制御システム    携帯電話、基地局
計測・制御系        排ガス濃度監視装置      濃度計測、ロギング
組み込み・制御系      DVDプレーヤシステム     モーター回転数制御
「DVDプレーヤ」では、単に「制御系」とは普通言わない。
「組み込み・制御系」もしくは単に「組み込み系」。

納得がいかないなら、「制御系」などで検索し、
ターゲットの実例を調べてください。

参考にされば、幸いです。

○○系という言葉自体が広い概念ですので、たしかに重複する意味もありますが。
元々、系列化するものに対して○○系として区別していました。
対象が同じものであっても言い方で混乱しますね。
結論を簡単に言えば、表現の方法の違いなのですが、
1)主機能面から言えば、○○制御系
  (背景には、複雑・多様化、ネットワーク化、ユビキタス、インフラなどの課題が多い)
2)機器内部にコンピュータシステムを組み込むための技術力、対応力を強調させる場合は、組み込み系。(背景には、小型化、省電力、高...続きを読む

Q掲示板(bbs)の作り方をおしえて!!(初心者)

こんにちは。
最近、ホームページを作るのにはまっています。
いつも、他の人のホームページを見て思うのですが、掲示板(bbs)の作り方ってどうやるのですか?
初心者でも作れるのような、簡単なフリーソフトや、市販ソフト、作り方が記載してるページ、を教えてください。

よろしくお願いします。

Aベストアンサー

掲示板は、初心者が作るには結構歯応えのある代物です野で、他の方がおっしゃっているように、レンタルがおすすめです。
カスタマイズの効くレンタルBBSなら、外観をいじって、あまり違和感のない見え方に出来るかと思います。
参考URLは、私の使っている所です。
初心者のうちは使い道がないかも知れませんが、結構面白い機能もありますよ。

参考URL:http://advenbbs.net/

Qphpでショッピングカート機能を作りたい。

PHPで店舗のショッピングカートを作ろうとしています。

data 1 リンゴ 100円
    2 ミカン  80円
    3 バナナ 50円

PHPコード
<form action="" method="post">
<?php
$sql = "SELECT * FROM list";
$sth = $dbh->prepare($sql);
$sth->execute();
while ($row = $sth->fetch()) {
$id = $row["id"];
$name = $row["name"];
$price = $row["price"];
$image = $row["image"];
echo <<<EOT
<table cellspacing="0" cellpadding="0" width="605" height="150">
<tr>
<td rowspan="5" valign="top"><img src="../kanri/image/goods/$image" border="0" /></td>
<form action="" method="post">
<input type="hidden" name="$id" value="$id" />
<input type="hidden" name="$name" value="$name" />
<input type="hidden" name="$price" value="$price" />
<td align="left" bgcolor="#eee8aa" width="400"><b> $id. $name</b></td>
</tr>
<tr>
<td colspan="2" bgcolor="#ccccff"><p><font color="#000088"><b>税込 :$price </b></p></td>
</tr>
<td colspan="2" bgcolor="#e6e6e6"><p> 個数 :
<select name="number">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select> <input type="submit" name="submit_cart" value="カートに入れる" /></p>
</td>
</tr>
</table>
</form>
<br />
EOT;
}
?>
<hr></hr>
<div align="center">カートの中身</div>
<?php
if (isset($_POST["submit_cart"])) {
if(!isset($name)){ $name = $_POST['name']; }
if(!isset($price)){ $price = $_POST['price']; }
if(!isset($number)){ $number = $_POST['number']; }
$total = $price * $number;
echo "<div align='center'><p>$id 番の情報を取得しました。</p></div>";
echo "<div align='center'><p>商品名: $name </p></div><div align='center'><p>単価:$price 円 / 個数:$number 個</p></div>";
echo "<hr></hr>";
echo "<div align='center'><p>合計金額:<b>$total 円</b>です。</p></div>";
}
?>

としているのですが、カートに入れるボタンを押しても最後のバナナしかカートに表示出来ません。
全ての商品の注文をカートに入れるにはどうすれば良いでしょうか?

ご教授のほど宜しくお願いします。

PHPで店舗のショッピングカートを作ろうとしています。

data 1 リンゴ 100円
    2 ミカン  80円
    3 バナナ 50円

PHPコード
<form action="" method="post">
<?php
$sql = "SELECT * FROM list";
$sth = $dbh->prepare($sql);
$sth->execute();
while ($row = $sth->fetch()) {
$id = $row["id"];
$name = $row["name"];
$price = $row["price"];
$image = $row["image"];
echo <<<EOT
<table cellspacing="0" cellpadding="0" width="605" height="150">
<tr>
<td rowspan="...続きを読む

Aベストアンサー

> 現状ですと商品が増えるごとにコードも増えてしまいます、良い方法があれば宜しくお願いします。

商品が増えても処理内容が増えるわけではないのでコードは変わらないですよね?
生成されるHTMLは増えますが、それは1ページに表示する件数を制御することで対応できますから、また別の機能のお話ということで。

商品にオプションを付けたりBTOな商品(パーツを選べるパソコンの販売とか)を取り扱うとなると複雑になります。

> >処理の意味を考えると、if(!isset($name))って意味が無いと思うで$name=$_POST['name'];
> については最初その様にしたのですが値渡しがうまく行かず if(!isset~に変えました。

これは、

> 2、3と一つずつ振り分けることで一応全ての商品の表示は出来るようになりました。

この影響ですね。

> ここで商品別の番号をSESSIONで記憶して行けばいけるような気がするのですが、

最低限カートに入れた商品番号と数量の配列をセッションに格納していれば、カートの中身は復元できそうですね。

No.1さんが紹介されているものは、それなりに高機能なものですが、もう少し簡易なショッピングカートプログラムもありますから、一度プログラムを読んでみてはいかがですか?

英語ですが Simple PHP Shopping Cart チュートリアルというものが検索したらみつかりました。

http://jameshamilton.eu/content/simple-php-shopping-cart-tutorial

ソースコードもダウンロード出来るみたいですから参考にしてみても良いと思います。
#見てみたらDBをPDOで接続するのであれば、ちょっと修正が必要です。
ちょうどセッションで管理するようになっているようです。
勉強にはちょうど良さそうですよ。

> 現状ですと商品が増えるごとにコードも増えてしまいます、良い方法があれば宜しくお願いします。

商品が増えても処理内容が増えるわけではないのでコードは変わらないですよね?
生成されるHTMLは増えますが、それは1ページに表示する件数を制御することで対応できますから、また別の機能のお話ということで。

商品にオプションを付けたりBTOな商品(パーツを選べるパソコンの販売とか)を取り扱うとなると複雑になります。

> >処理の意味を考えると、if(!isset($name))って意味が無いと思うで$name=$_POST...続きを読む


人気Q&Aランキング