☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
1-

118: 名無しさん@お腹いっぱい。 02/01/15 21:11 ID:??? AAS
売るのは悪くないがショッピングカートCGIって売れるか?
シェアウエアがあるのは知ってるがフリーな物も沢山あるし
無料レンタルもあるからよっぽど使いやすく堅牢な奴でないと
買う奴は居ないと思うが。
119: 名無しさん@お腹いっぱい。 02/01/15 21:53 ID:??? AAS
レスキューのヘボい奴でもそれなりのユーザはいるので親切なページ生成が
作ってやれば需要はあると思われ。
堅牢性は本来最重要なのだが評価されにくいね。
120: 名無しさん@お腹いっぱい。 02/01/15 22:07 ID:??? AAS
なるほど、じゃあ使いやすいUIのCGI生成プログラム作ったら売れるかな。
堅牢性は知識無いから考えないことにしよう(藁
121: 名無しさん@お腹いっぱい。 02/01/15 22:26 ID:??? AAS
じゃ、負荷テストプログラムを用意して
脆弱そうなところに堅牢なのを売る、と。
122: 無謀者@表示時間の桁合わせが・・・・・ 02/01/15 22:39 ID:??? AAS
いつの間にやら、いろんなレスが・・・・
商売については・・・頭の隅の方に無いって言えばウソになりますが、
とてもじゃ、無いですけど今の段階じゃ(藁
確かに、シェアやフリーであることは有るんですが、いろいろ調べてみると
結構痒い所に手に届いてるものが無い。思うに「通販サイト」に直接
携わってない人たちが作ってるのでは無いかと・・・
実際、頼まれて見ると、運用者側に親切な機能が搭載されて無かったりします。
ページの生成機能なんて最たるものですね。
ここの皆さんのように、スクリプトをホイホイ書けるような人たちなら
小遣い稼ぎくらいすぐ出来るんじゃないですか? ”商売”ってなるとまた難しいでしょうが・・・
123: 名無しさん@お腹いっぱい。 02/01/15 22:47 ID:??? AAS
れすきゅーにOEMするとか (藁
124
(1): 名無しさん@お腹いっぱい。 [ ] 02/01/15 23:16 ID:??? AAS
はっきりいって1時間あれば作れるよ
>>1さんのような人も使うと思うとやっぱりフリーで免責事項書いたって
やだな(わら

別に>>1は嫌いじゃないぞ、そういう何かに挑む姿勢は好きだ。
いろいろ試してみて3ヵ月後くらいにはいい友達になれそうだ、がんばれ
125
(2): 無謀者@表示時間の桁合わせ・・・解決 02/01/15 23:56 ID:??? AAS
>>124
それは、素人が使って、あとからうだうだ言われるのがたまらん!
という事でしょうか?
確かにそうかも知れませんね。ボロクソ言われているKENT氏にしたって
サポート面だけは評価されてるようですし。ソフト(スクリプト)ってのは
例えどんなに良いものが書けても、使う側ってのは自分の能力じゃなく
そのソフト(製作者)に全責任を取らせようとしますからね(藁
あと、激励本当に感謝です。地道に勉強を続け、ここで進捗状況を報告させていただき、
たまには、質問もさせていただこうと思います。
って、「日記に使うなヴォケ!!」とか言われそうですが(w
126: 名無しさん@お腹いっぱい。 02/01/15 23:59 ID:??? AAS
>>125
日記につかったら呪いますから。
127: 名無しさん@お腹いっぱい。 02/01/16 01:54 ID:??? AAS
>>125
それは一理ありますね。
自分の場合、ネットショップやってて、カートも自作ですが
商売をしてない人が作ったカートは、やはりそれなりです。
ショップ側にも、お客さん側にも細かい気配りができていない
ことが多いです。

まぁ、1つも作っていないくせにKENTさんのことを言ってる
ヴォケよりはマシだけどね。
128: 無謀者 02/01/16 02:06 ID:??? AAS
>1つも作っていないくせにKENTさんのことを言ってるヴォケよりはマシだけどね。
すいません、私の書き方がマズかったでしょうか・・・
私自身がKENT氏をどうこう言う立場に無いのは100も承知のつもりです。
実際、趣味でやってるHPでも使わせてもらってますし。
そんなんで、たまたまこの板のKENT氏関連のスレ見たら、ワリと評判が悪く、
それでもコトアフターフォロー(サポート)に関しては悪く言ってる方が
いなかったので、引き合いに出させていただきました。
お気を悪くなされたのでしたら、申し訳ありませんでした。
129
(1): 無謀者 02/01/16 02:16 ID:??? AAS
ところで、今フォームから受け取ったデータをタブ区切りでファイルに格納し
その中身が
商品名 価格 個数 値段
みたいになってるんです。でカートの中身が増えていくと行が増える。
で、最終的に合計金額を求めるのに、
open (FH,$file){
@list=<FH>;
close(FH);
foreach $line(@list){
@item=split(/\t/,$line);
省7
130: 無謀者 02/01/16 02:30 ID:??? AAS
うわ・・・
↑じゃダメだった・・・
足し算を繰り返さなきゃダメですね・・・・・やりなお〜し
131: 名無しさん@お腹いっぱい。 02/01/16 02:46 ID:??? AAS
レスの速さは凄いですね。いやみじゃなく。
それだけで、かなりの売り上げ増に結びつくから
あなたが通販やった方が良いですよ。
これだけスレが伸びるのが、その証拠。
カートの使いやすさも大事だけど、個別の対応も大事。
と、関係ないマジレスしたりして。
132
(1): 無謀者 02/01/16 05:15 ID:??? AAS
ダミダ、合計が出せない・・どなたかご教授ください
$total=$kingaku+$kingaku+kingaku+kingaku・・・・・・
ってのをやりたいんです。で$kingakuてのが何回来るかわからず、
$kingakuが一定なら>>129でやったみたいに個数だして掛け算すれば
良いんですが・・・・・
133
(2): 名無しさん@お腹いっぱい。 02/01/16 05:33 ID:hnHzn5xQ(1/3) AAS
>132

中身は良く知らないけど、価格が販売価格、値段が価格×個数ということでいいのかな?
だとしたら、

open (FH,$file);
while($line=<FH>) {
($hinmei,$kakaku,$kosuu,$nedan)=split(/\t/,$line);
push (@kakakus,$kakaku);
}
close(FH);
$all_kakaku = 0;
省5
134: 名無しさん@お腹いっぱい。 02/01/16 05:35 ID:hnHzn5xQ(2/3) AAS
>133
あ、訂正。

> close(FH);
> $all_kakaku = 0;
> foreach $kakakus(@kakakus) {
の、$all_kakaku ってのを、$totalになおしてね。
135
(1): 名無しさん@お腹いっぱい。 02/01/16 05:49 ID:hnHzn5xQ(3/3) AAS
>133
ほかの処理が泣く、単に合計出すだけだったら、

$total = 0;
open (FH,$file);
while($line=<FH>) {
($hinmei,$kakaku,$kosuu,$nedan)=split(/\t/,$line);
$total = $total + $nedan;
}
close(FH);

だな。
省1
136
(2): 名無しさん@お腹いっぱい。 02/01/16 08:51 ID:udXTb4FH(1) AAS
てか、
$nadanはchompしないでOKなんですか?
俺はいつもやっちゃうけど無駄なんですか?
あと、
$total += $kosuu * $nedan;
かと思った。
137: 136 02/01/16 08:51 ID:??? AAS
$nadanは→$nedanは
138: 名無しさん@お腹いっぱい。 02/01/16 09:19 ID:QRv7obuW(1) AAS
>136
わかんない。動作確認してないし、サンプルデータもないし。
下書きも校正もしないで書き終わったらがんがん書き込んじゃったから。
139: 名無しさん@お腹いっぱい。 02/01/16 12:13 ID:??? AAS
カートはMySQLとかPostgreSQL使うのがラクチンでいいよ。
追加、削除、計算も簡単だし。
140: 名無しさん@お腹いっぱい。 02/01/16 13:43 ID:KcWg2TMr(1) AAS
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
141
(3): sage 02/01/16 16:21 ID:??? AAS
そんな甘いもん出ないよ!おれなんかショッピングカートで地獄見たもん
質問もすごく初歩的な四則演算とかしてるぐらいなんだから
アルゴリズムについてもっと勉強してからスレッドたてれ!
PGってそんなあまくないよ!!
設計の手法だって勉強しないといけないしさ!
初心者だから?
おいおい・・・・・システム作るのがドンだけ大変か
なんか怒りを覚えてきたぞ!
PERLの特性ってしってんのか?
PERLでやるよりプログラムの基礎勉強しろ
省2
142: 名無しさん@お腹いっぱい。 02/01/16 16:29 ID:??? AAS
. ∧   ∧
( ´ ・∀・`) へー
143
(1): 名無しさん@お腹いっぱい。 02/01/16 17:12 ID:??? AAS
( ・∀・)y━~~ プハー マァマァ>>141オチツケヨ
144
(1): 名無しさん@お腹いっぱい。 02/01/16 23:51 ID:??? AAS
>>141
まあ、そう怒らずに。
これから>>1が身をもって知るんだから。
145
(1): 名無しさん@お腹いっぱい。 [ ] 02/01/17 12:12 ID:??? AAS
さて、ここまでのまとめ。

・共用サーバーで運営する(?)
・言語はperlで
・RDBMなどは使わずCSVファイルにてデータを管理
・今あるものは使いにくいからインターフェースにはこだわりたい
>>1はまったくの素人である
・合計金額だすだけであたふたする>>1の支援人ももうちょっと勉強しろ

これくらいでよろしいか?
146: 名無しさん@お腹いっぱい。 [age] 02/01/17 13:41 ID:??? AAS
さて、ここまでの結論

>>1には絶対無理

でよろしいか?
147: 名無しさん@お腹いっぱい。 02/01/17 14:23 ID:wRcZzrUC(1) AAS
>145
>・合計金額だすだけであたふたする>>1の支援人ももうちょっと勉強しろ

ああこれおれのことか(笑)
勉強というか、ちゃんと睡眠取るようにするよ(笑)
148: sage 02/01/17 14:26 ID:??? AAS
すまん
>>143
>>144
怒らずにはいられんかった
PGなめてんのかってぐらい無知だからさ!
ふぅ 
149
(1): 名無しさん@お腹いっぱい。 02/01/17 14:37 ID:??? AAS
. ∧   ∧
( ´ ・∀・`) へー
150
(1): 名無しさん@お腹いっぱい。 [ ] 02/01/17 17:46 ID:??? AAS
( ・∀・)y━~~ プハー デ >>1ハドコイッタ?
151: 名無しさん@お腹いっぱい。 [age] 02/01/17 19:20 ID:??? AAS
>149-150
社会的弱者は役に立たないから、2ちゃんねるに来なくていいよ。
152: 無謀者 02/01/17 19:50 ID:??? AAS
>怒ってる方
別に、プログラムを馬鹿にしているつもりは無いんですが、気分を害されたようなら
申し訳ありません。四則演算云々に関してはおっしゃる通りです。学生の頃
もっと数学勉強しときゃよかった・・・・
いろいろ、親切にレス頂いてる方もいるので、ありがたい限りですが、
やはり大勢として「システム構築」「セキュリティ」「運用」という
話が結構出てきますね。やはりプロフェッショナルな方が多いからでしょうか?
自分としては、それこそ「とりあえず動くスクリプト」という気持ちで
作り始めてるので、舐めてるといわれればその通りかも知れません。
ここにスレ立てたのは、外部と違って、多方面の情報をいただけるかな・・・と・・・
省6
153
(1): 名無しさん@お腹いっぱい。 02/01/17 22:22 ID:??? AAS
セッション管理ィィィィィィィィィィィィィィィィィィ
154
(1): 名無しさん@お腹いっぱい。 [ ] 02/01/17 23:21 ID:??? AAS
なぁ>>1
過去のログは読んでるかい?たとえば>>99なんて結構親切に書いてくれ
ていると思わないかい?
我々も段階を追ってアドバイスしてるのだ、だがどうしても説明しき
れないことがあるから具体例も出している。
経験して失敗するのはかまわない、そっちの方が身になって覚えるこ
とができるからな。でももし>>99のようなアドバイスを難しいから
とか面倒だからと言って聞き流してるとだれもアドバイスをくれなく
なるよ。

だから>>153のキーワードも大切にして欲しい。
省9
155: 名無しさん@お腹いっぱい。 02/01/17 23:46 ID:??? AAS
. ∧   ∧
( ´ ・∀・`) へー
156
(2): 名無しさん@お腹いっぱい。 02/01/18 00:57 ID:??? AAS
外部リンク:headlines.yahoo.co.jp
無理して作らなくてもこの辺使えば?
>>114のサイトでも十分だと思うがな。
自作にこだわる理由て何?。
商品登録の使い勝手が悪いというなら既存のショッピングカートCGIの商品情報を
GUIで設定するアプリをVB当たりで作った方が早いぞ。
157: 名無しさん@お腹いっぱい。 02/01/18 01:40 ID:??? AAS
>>156 に禿げしく胴衣
そのほうが絶対楽。
158: 名無しさん@お腹いっぱい。 [age] 02/01/18 01:44 ID:??? AAS
クレジット決済効かない職種だったりしてな。
それにしても、クレジット手数料、ピンハネしすぎ。
159
(1): 名無しさん@お腹いっぱい。 02/01/18 01:46 ID:??? AAS
>>1
うちでは、1のいう tmp ファイルをお客さんごとに作ってる。
途中で買い物やめた人の分は、時間で消してる。
PHPだけどセッションは、hiddenで持ち回り。
クッキー使うと i-mode 使えないから。

>>154に同意
160: 名無しさん@お腹いっぱい。 [age] 02/01/18 02:24 ID:??? AAS
>159
うん、クッキーはだめだよね。
よそのサイトからスクリプト投げられるのはどう防いでいます?
161
(1): 名無しさん@お腹いっぱい。 02/01/18 02:25 ID:pneLb9V7(1) AAS
うちもPHPで格闘中。

>>106
ホントに夜のrootがウヨウヨしてるとしたら、よっぽどヤバイ鯖?
でも、まぁ共有鯖は危険なことは同意。せめて、置き場所と権限はキッチリしないとね。

>>1
初プログラムがカートはやめたほうがいい。せめて小さいものを10コぐらい作ってからにしたほうが、時間の効率的利用になると思われる。
イマはまだマシ。部分ごとにカンペキにしていっても、全体動作がうまくいくとは限らない。大きなプログラムは虫取りが大変だぞ。
162: sage 02/01/18 10:51 ID:??? AAS
いまおれもPHPの開発だ!最初はとっつきにくかったがなれればOK!
おとなげなくおこってしまったが、
>>161

にかかれているように、段階を踏んでPGを勉強していったほうがよいとおもわれる
PGって積み重ねていくものだからね!>>1
>>156
おれも同意する!おれはVB嫌いだが・・・そっちのほうがはやいかもよ!
163: 名無しさん@お腹いっぱい。 02/01/18 18:51 ID:??? AAS
. ∧   ∧   
( ´ ・∀・`) へー
164: 名無しさん@お腹いっぱい。 02/01/18 21:31 ID:??? AAS
Perlによるセッション管理の難しさ、俺も痛いほどわかるぜ・・・。
ちょっとgoogleで旅してくるかな
165
(2): 無謀者 02/01/18 21:44 ID:??? AAS
いろいろレスありがとうございます。
>自作にこだわる理由て何?。
う〜ん・・・前前からCGIを作れるようになりたいと思ってたんですが
掲示板とかカウンターとかは自分のHP作る際もフリーので満足できちゃって
きっかけが無かったんです。で、今回のがきっかけになっただけで・・・

どちらにしろ、いろいろ寄り道しながらperlを勉強していきたいと思ってますので、
お暇な方は今後とも激励、お叱り、罵倒などいただければ幸いです。

さて、セッション管理の件ですが、とりあえず「Cokieを使う」という検討を付けたのですが、
セッションID発行する際って一般的にはどうしてるんでしょう?調べてみると
Perl自体にはユニークなIDを発行する関数が無いみたいなので、環境変数を利用
省5
166: 名無しさん@お腹いっぱい。 02/01/19 00:41 ID:??? AAS
つうか 1には無理
まずは 1は掲示版CGIでもつくってなさいってことよ
単なる掲示版でも荒し対策とか色々細かいこと考えると結構大きなプログラムになるぞ
167: 名無しさん@お腹いっぱい。 02/01/19 00:45 ID:??? AAS
しかし、1ってプログラムの経験がないとか言う割には
そうでもなく感じられるようなことも書いてるね。
VBAは使えるの?
168: 無謀者 02/01/19 00:55 ID:??? AAS
>VBAは使えるの?
VBAを使える、というかアクセスのマニュアル本見ながらどうにかこうにか
簡単なものが作れる程度です。アクセスってその気になればMACROだけでも
かなり複雑なことやらせられるし・・・・
「よーし、パパプログラム作っちゃうぞ!!」って言いながら
エクセルのマクロ得意げに組み合わせてるおじさんとかわらんレベルです。
169
(1): 名無しさん@お腹いっぱい。 02/01/19 01:53 ID:??? AAS
ここまで来て、疑問なんですが。
プログラムをしたこともない素人に頼む知り合いって
なかなか理解に苦しみます。
商売を舐めてるのでしょうか?w
170: 名無しさん@お腹いっぱい。 02/01/19 02:25 ID:??? AAS
ていうか、たかが2ちゃんの書き込みに、いちいち詮索入れるってのも
不思議で性がない。
ネタならネタで乗ってあげるか、放置できないのか?
171
(1):   02/01/19 03:46 ID:Z1wHwPDO(1) AAS
>>165
>Perl自体にはユニークなIDを発行する関数が無いみたいなので、環境変数を利用
>して生成するようなのですが・・・取得できる環境変数の中でユニークな値って
>いうと、IPと時間でしょうか?

ユニークな値が欲しいなら、現在の時間と、プロセスIDを組み合わせる
のが定石かな。プロセスIDは、$$と書けば得られる。
実行中のプログラムに割り当てられるIDで、同時に同じ値が割り当て
られることはない。知ってるかもしれんが。

時間はtimeとかなんとか書けば、エポック秒が得られるだろ。
マイクロ秒まで出す方法があったはずだけど、忘れた。
省1
172
(2): agege 02/01/19 04:12 ID:Z/A0FYpK(1) AAS
> 171
> マイクロ秒まで出す方法があったはずだけど、忘れた。

実は知らないんじゃないの?
173: 名無しさん@お腹いっぱい。 [age] 02/01/19 04:18 ID:??? AAS
>172
いや、実は知らなくってもちっともかまわない(笑)
174: 名無しさん@お腹いっぱい。 02/01/19 08:37 ID:??? AAS
>>165
apacheが生成してくれるの使えば?

最初に見たときは糞スレだと思ったけど、>>1の根気とチャレンジ精神で
良スレになりつつある予感。PGには必須の資質なので頑張ってくれ。
175: 171 02/01/19 09:24 ID:Mv1Es+po(1) AAS
>>172
モジュール入れないとダメだった。他の方法は知らん。

use Time::HiRes;
$time = Time::HiRes::time;
176
(1): 無謀者 02/01/19 16:47 ID:??? AAS
どんな内容でもレスがつくのがありがたい限りです。
>>169
単にHPの作成頼まれただけです。一応既存のカートでOK貰って
ページ自体は完成してます。プログラム作ろうと思ったのは単にきっかけ
になったに過ぎません。極端に言えば作る必要性は無いんです。

で・・・
$id=$$+time()でユニークID作って、cookie渡して
split(/\=/,$ENV{'HTTP_COOKIE'})で埋め込まれたID参照して
これが無ければcookieを渡す、もし有るようなら{取り出したID}.dat
ていうファイルを作ってその後の処理をさせようと思ってるんですが、
省1
177: 名無しさん@お腹いっぱい。 02/01/19 17:04 ID:??? AAS
process ID + time で unique だと思ってると mod_perl ではまるよ。
178: 名無しさん@お腹いっぱい。 02/01/19 18:47 ID:??? AAS
>>176
OK,OK
179: 名無しさん@お腹いっぱい。 02/01/20 13:24 ID:??? AAS
失速気味age
ここまでよくがんばった!
180
(1): 無謀者 02/01/20 20:25 ID:COvSUhiy(1) AAS
クッキー・・・
if ($ENV{'HTTP_COOKIE'} eq ""){
&set_cookie
}
print "content-type: text/html\n\n";
print $ENV{'HTTP_COOKIE'};
ってやると、もともとクッキーがあるときは$ENVを表示するんですが、
持ってないときは&set_cookieでクッキーをセットしてるはずなのに
表示してくれません。リロードすれば表示するんですが・・・
ちなみにサブルーチンはこんな感じです(変数省略)
省6
181
(2): 名無しさん@お腹いっぱい。 02/01/20 20:45 ID:??? AAS
set-cookieした次のアクセスからクッキーが使える。
182: 名無しさん@お腹いっぱい。 02/01/20 21:05 ID:??? AAS
う〜ん、本当にがんばってるね。
陰ながら応援の機会を伺うとしよう。
183
(1): 仕様書無しさん 02/01/20 21:26 ID:??? AAS
>>180
>>181にも書いてるけど、1セッションで一発読み書きは出来ない
そこにくる前(Top辺りで)、コッソリとダミーのCookieを仕込んでおいて
そいつを読んでクライアントのONOFFを確認するっつのが常套手段
184: 無謀者 02/01/20 22:14 ID:??? AAS
>>181,183さん
なるほどですね。>>183さんの方法は考えたんですが、Cookieに
埋め込むIDでその後の処理を管理する予定なので、どうしようかと・・・・
185
(1): 無謀者 02/01/20 22:24 ID:??? AAS
で"$cookieのID.dat”を定義するのに
以下のような方法で解決できたっぽいんですが・・・

$ctime=time();
$cid=$$+$ctime;#クッキー用ID

if ($ENV{'HTTP_COOKIE'} eq ""){
&set_cookie
$cart="$cid"."\.dat";
}
else{
@id=split (/\=/,$ENV{'HTTP_COOKIE'});
省2
186
(1): 名無しさん@お腹いっぱい。 02/01/20 23:13 ID:??? AAS
クッキー食わない奴がいるから、最初にチェックしたほうが良いと思われ。
操作した後に駄目でしたはイラツキの原因。
後、クッキーはセッションクッキーで充分だろう。
187
(1): 無謀者 02/01/21 03:36 ID:??? AAS
とりあえずクッキーに関しては>>185の方法で一応動作してるようなので
その方法で進めてみます。>>186さんの進言に関しては後々方法考えてみます
で、普通のクッキーとセッションクッキーの違いって?

さて、またひとつ問題が発生してるのでどなたかよろしければご教示ください。
データの削除に関してですが、現在.datの中身が
$id\t$hoge\t$mona\t$giko\n
$id\t$hoge\t$mona\t$giko\n
$id\t$hoge\t$mona\t$giko\n


省16
188
(2): 名無しさん@お腹いっぱい。 02/01/21 06:32 ID:yXZYknLA(1) AAS
>187

$i = 0;
foreach (@line) {
($id,$hoge,$mona,$giko) = split(/\,/,$_);
if (削除キー eq $id) { splice(@line,$i,1); last; }
$i++;
}

削除キーには、削除ボタン押したときに飛ばされる値を指定する。
189
(2): 名無しさん@お腹いっぱい。 [ ] 02/01/21 12:21 ID:??? AAS
やっぱりこうやって見てるとDB使った方が楽だよね(わら
190
(2): 名無しさん@お腹いっぱい。 02/01/21 12:30 ID:TFQKF+6T(1) AAS
>189
禿同。
セッションIDだけhiddenで渡しておいて、あとは全部DB任せ。
この方が絶対楽だね。ソートするにせよ、合計金額を出すにせよ
全部DB任せ。こんなに楽な方法ばかり普段使っていると
>1が凄いことをしているように見えてくる・・・
191: 189 [ ] 02/01/21 12:42 ID:??? AAS
>>190
だよね(わら
久しぶりにファイル操作スクリプトみたんで懐かしいよ。

>>1さん
エラー処理はきちんとしましょうね。
クッキー渡すときも、ファイルを開くときもね。
あとデータ受け取ったときもサイズとか中身のチェックいれとかないと
だめだかんね〜♪
全ての人間がフォームに従って入力してくれるとは限りませんから。
192
(2): 無謀者 02/01/21 12:54 ID:??? AAS
>>188
ありがとうございます。試してみます。ってやってみたけどいまいち
うまくいかん・・スクリプトの意味もう一回良く見ながら考えてみます。
>>189-190
DBでMySQLとかでしょうか?
私が借りてる鯖(共用)は使えるようになってるみたいなんですが、
一般的にはどうなんでしょ?置く鯖が決まってればそれにあわせた
仕様で書けば良いんでしょうが、出来るだけ汎用性のあるものを
書きたいので・・・・もしDBが鯖依存でなくてPerlが使えれば
必ず使える、とかUNIX系の鯖ならほぼ大丈夫ってものなら
省1
193: 無謀者 02/01/21 13:00 ID:??? AAS

×DBでMySQLとかでしょうか?
○DBってMySQLとかでしょうか?
194: 名無しさん@お腹いっぱい。 [age] 02/01/21 13:02 ID:??? AAS
>192
いいところ突きまくり・・・
195: 190 [0] 02/01/21 13:14 ID:??? AAS
>192
最近は安い共用鯖でもMySQLとかPostgreSQLを使えるところが
増えてきているから、汎用的だって判断しても良いんじゃない?

漏れはDB使えない(使わない)って仕事を受ける時は、それだけで
料金5割増にしてる(w しかも最近はPHPとかJavaを使うことが
多いんで、「Perlで書いてね」なんて言われたら、さらに5割増(w
最低限DBが使える鯖に移転することを強く薦めている。

フリーでばらまくならPerlでファイル操作で構成しておく方が
汎用的と言えるだろうが、作るのが面倒だよなぁ。
漏れの場合は、過去に使ったクラスを使いまわして自分の中で
省3
196
(2): 無謀者 02/01/21 15:03 ID:??? AAS
えっと・・>>188を試しているんですが、これの意味って
$i = 0;#行数カウント用の初期設定
foreach (@line) {
($id,$hoge,$mona,$giko) = split(/\,/,$_);
if (削除キー eq $id) { splice(@line,$i,1); last; }#もし削除キー=$idだったら、@lineの$i個目(つまりファイルの$i行目)を空にする)
$i++;
}
って事で良いんですよね?
197: 名無しさん@お腹いっぱい。 02/01/21 15:35 ID:yxhIL91Y(1/2) AAS
>196
うん、その通り。
198: 名無しさん@お腹いっぱい。 02/01/21 15:35 ID:yxhIL91Y(2/2) AAS
>196
あ、ちがうよ。
空にするんじゃなくて、その行削除ね。
199
(1): 無謀者 02/01/21 16:25 ID:??? AAS
いろいろ試してみて近いところまで来てると思うのですが・・・
open(DEL,"$cart");
@dl=<DEL>;
close(DEL);
$i=0;
foreach $line(@dl){
@cell = split(/\t/, $line);
if ($cell[0] eq "$del") {
$line="";
}
省11
200: 名無しさん@お腹いっぱい。 02/01/21 16:30 ID:??? AAS
>199
なんでそんな苦労をしているんだろう・・・・
201
(1): ◆6KgJyjvE 02/01/21 16:49 ID:rYGhtF3P(1) AAS
open(IN,"$cart");
open(TMP,">${cart}.tmp");
while(<IN>){
my @cell = split/\t/;
if($cell[0] ne "$del"){
print TMP;
}
}
close IN;
close TMP;
省2
202
(1): 名無しさん@お腹いっぱい。 02/01/21 17:18 ID:??? AAS
んじゃもっと短くして・・・

open(IN,"$cart");
open(TMP,">${cart}.tmp");
print TMP grep { ! /^$del\t/ } <IN>
close IN;
close TMP;
rename(${cart}.tmp,$cart);

grep使うのは別におすすめしないけど、
判定のためだけにsplitする必要はないかと。
というか、素直にApache::Session使えばいいのにと思ったり。
203
(1): 無謀者 02/01/21 21:33 ID:??? AAS
>>201
最初、うまく行かなかったんですが、renameのところを変えたら
うまくいきました↓
open(IN,"$cart");
open(TMP,">$cart.tmp");
while(<IN>){
my @cell = split/\t/;
if($cell[0] ne "$del"){
print TMP;
}
省20
204: 02/01/22 00:28 ID:zQlW9qzl(1) AAS
もう解決ずみみたいだけど。

>で書き込もうと思ってるんですが、>>でやると元のリスト+
>(元のリストー削除した要素)が追加されちゃうし、
> でやるとなぜか、もとのリストが全て消えて、
> 削除すべき要素だけがファイルに書き込まれてしまいます。

>> で開くのは、追加書き込み。ファイルは安全。
> で開くと、ファイルサイズがゼロになる。ファイルのデータは失われる。

ファイルロックを併用で、ファイルから読んだあと同一ファイルに
書き戻したい場合は、読み+書き(+<)で開くのが一般的かな。

該当ファイルが存在しない場合は、ファイルを作ってはくれないが。
205
(1): 名無しさん@お腹いっぱい。 02/01/22 01:23 ID:4ftMAJcg(1) AAS
>>203
クッキーの上書きだァ?
それ位調べろってんだよヴォケ!
206: 名無しさん@お腹いっぱい。 02/01/22 11:42 ID:??? AAS
>>205
数少ない自分が知ってるネタが出て来てよかったね ボクちゃん
早く病院に戻りなさい
207
(1): 名無しさん@お腹いっぱい。 [ ] 02/01/22 16:17 ID:??? AAS
とりあえず今までのスクリプトどこかにUPしてみ
添削してくれるぞ、きっと
208
(1): 無謀者 02/01/22 16:33 ID:??? AAS
>>207
今、個人情報の入力&その処理、の部分を書いてるので、それが終わったら
どっかにアップしてみます。垢とってこなきゃ・・・
もう、自分で処理内容を忘れないためのコメントが各所、各行に入りまくりの
ソースなんで恥ずかしいんですが、なにぶん2週間前までは「配列って何?」
っていう人間が書いているものなのでその辺はご容赦ください。
今日の夜くらいにアップできればと・・・
209
(1): 名無しさん@お腹いっぱい。 02/01/22 16:40 ID:??? AAS
>>208
ソースパクって明後日ぐらいからシェアウェアとして
配布させてもらいます。w
プログラム名は、SuperCart2002です。
早めにうpして下さいね。
210
(3): 名無しさん@お腹いっぱい。 02/01/22 16:50 ID:??? AAS
ココまで伸びてきていてなんだが‥‥

>>65
>えっと最終的にイメージにあるのは、来訪者(客)が各売場(ページ)で
>任意に商品をカートに入れていって、最終的に注文ボタンを押すと
>その内容が管理者(店主)と客注文明細のメールが行く、というものです。

以前作ったことがあるぞ、それ。個人商店向けで、ほとんど同じ仕様。
メール送信だけPerlでSendmail叩いて、あとJavaScript。

あ、商品ページは商品と単価はtextであげといてCGIから書かせたけどね。

#これなら途中で放棄してジャンプされてもカンケーなしだね。
省1
211
(1): 無謀者 02/01/22 17:05 ID:??? AAS
>>209
つうか、ここの住人の方ならパクらないでも数時間で書き上げる内容じゃないかと・・・(w

>>210
javaScriptも触ったこと無いんで、スクリプトを書くという意味では、結局はどっちではじめても同じだったのかも
知れません。ただ、とっかかりが「既存のショッピングカートに商品ページ作成機能があればなぁ」
だったので、何も考えずにPerlでCGIを始めてしまいました。
しかし・・・普段HP作る時はDWとかばっかりだったんで、CGIの中のHTML書くのにタグが
わからず苦労してたりします(苦笑
212
(1): 名無しさん@お腹いっぱい。 02/01/22 17:07 ID:??? AAS
クッキーは正常終了する場合消しとけよ、意味は自分で考えろ。
途中終了の場合は仕方ないがそれでも退室ボタンなどで消せるようにしとけ
213
(1): 210 02/01/22 17:27 ID:??? AAS
>タグがわからず苦労してたりします

ドリウィで満足行くまでデザインして、パクれ。
214
(2): 名無しさん@お腹いっぱい。 02/01/22 17:29 ID:??? AAS
商品ページ作成機能ってなに?
イメージが湧かない
215
(2): 無謀者 02/01/22 20:25 ID:??? AAS
>>212
はい、最終的にマイナス時間で渡して消すつもりです。
>>213
いやそのつもりではいるんですが、現段階DW立ち上げてると重くて効率
悪いので、手で打ってます。ある程度目処がついたらデザイン面は見直そうと思います。
>>214
究極で言うと、楽天みたいにWEB上で全てのページが作れてしまう機能とでも言いましょうか・・・・

外部リンク:www.xrea.comに垢取ってアップしたけど動かん・・
ローカルはもちろん自分の借りてる鯖でも動いたんですが・・・・・
216: 214 02/01/23 01:12 ID:??? AAS
>>215
ああ、そういう機能ね。わかりました。
うちのは、エクセルからコピペして終わりだから
そんなこと考えたことなかったです。
217
(1): 名無しさん@お腹いっぱい。 02/01/23 01:15 ID:Jv+hzd4q(1) AAS
>>211
初心者ですが、質問です。
JavaScript のカート、フリーのやつ
見たことあります。
フレームのindex.html の部分に、
プログラムが書いてありました。
あれって、フレームなしじゃ、
できないもんなんですか?
1-
あと 300 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s