☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
上下前次1-新
242: 名無しさん@お腹いっぱい。 02/01/26 01:28 ID:??? AAS
正直、ここまでたどり着くとは思わなかった。
243: 名無しさん@お腹いっぱい。 02/01/26 10:31 ID:8XQYuO1B(1) AAS
AA省
244(2): 02/01/26 13:29 ID:cJzc6DfB(1) AAS
おおー、よくやったなー。お見事。
ちゃんとサブルーチンに分けてあるし。
見やすいし。
別に汚いソースじゃないじゃん。いいんじゃないの?
245(1): 244 02/01/26 13:49 ID:8S+CJ+jU(1/2) AAS
>sub sub_add{
> $ctime=time();#クッキーID作成用要素(時間)
> $cid=$$+$ctime;#クッキー用ID
厳密には、クッキー用のIDが足し算だとイカンと思うが・・。
プロセスIDは一回転して戻ってくるから。
Windows だと、プロセスIDはランダムに割り当てられるし。
246(1): 無謀者 02/01/26 15:20 ID:??? AAS
お褒めの言葉ありがたい限りです。ホントここに来て見てよかったですありがとうございます。
で、文字コードなんですが・・・
一般的にはスクリプト自体はEUCで書けとものの本には書いてありますよね?
ただ、HTML表示はS-JISが一般的(だと思うのですが)
たとえばスクリプトをeucで書いて(保存して)フォームからのデータは
jcode.pl使ってEUCにコンバートで、スクリプト内のHTML表示部だけMETAタグでs-jis
指定してやればブラウザはちゃんと解釈してくれるんでしょうか?
CGIというよりWEB作成の基礎の気もするんですが、今まではDW使ってて
文字コードって意識した事無かったもので・・・・・
前に書いた通り全てS-JISで統一すれば楽なんですけど、スクリプトがeucじゃないと
省8
247: 名無しさん@お腹いっぱい。 02/01/26 15:43 ID:??? AAS
>>246
内部でEUC処理するなら、出力もEUCで良いんじゃないの。
METAタグと、出力ヘッダの両方でEUCに指定した方がいいよ。
あと、メール本文はJIS出力でいいけど
subjectはそれだけじゃダメでちゅ。バケまちゅ。
248: 244 02/01/26 15:50 ID:8S+CJ+jU(2/2) AAS
プロセスIDは、65535 までいくよ。
+ って、文字列くっつけるんだっけ? 忘れちゃった。
$cid = "$ctime$$"; とかにしとく方がいいかと思ったんだけど。
あとcgi なら、同時アクセスでも、別のプロセスを立ち上げるから、
同時に買い物をスタートされても平気。
249: 名無しさん@お腹いっぱい。 [ ] 02/01/26 16:10 ID:??? AAS
お!キレイにかけてるじゃん
俺のスクリプトよりもキレイだぞ;
しかしCGI.pm使ってないの見るの久しぶりなんでなんとも懐かしいにおいがする
のう。。。
250: 無謀者 02/01/26 16:12 ID:??? AAS
あ、そうか・・・・数字の足し算だと確かに重複の可能性がありますね・・・
修正させてもらいます。
で、やっぱりメールの本文の文字化けが解消しない・・・・
スクリプトとHTML出力はEUCで統一したんですが。
@sendml=メールの本文;
&jcode'convert(*sendml, 'jis');
じゃダメなんですかね?
@sendmlはファイルから読み出して格納してます。
ファイル自体は開いて見るとeucになってるみたいなんですが。
251: 名無しさん@お腹いっぱい。 02/01/26 16:22 ID:??? AAS
ソースよく見てないんだけど、
@sendmlってことは、配列なんでしょ。
jcodeなら各要素ごとにやらなだめでしょ。
252: 無謀者 02/01/26 16:31 ID:??? AAS
なるほど・・・だとすればファイルに書き込む段階で各要素(変数)
をjisでコンバートして最後に一気に読み込んで送信すれば良いんですかね?
253(1): 名無しさん@お腹いっぱい。 02/01/26 16:35 ID:??? AAS
readparseが見当たらないが、ブラウザから受け取ったデータの汚染チェックはしているかな?
たとえばcookieに予想していない文字列突っ込まれたときとか
254: 無謀者 02/01/26 16:44 ID:??? AAS
メールの文字化けの件、ほぼ解決しました。ご指導いただいた方ありがとうございました。
>>253
ReadParseってフォームからのデータの取得にしか使ってないんですが、
他にも何か使い方があるんでしょうか?なんやら重要そうな内容みたいですが・・・
255(1): 名無しさん@お腹いっぱい。 02/01/26 17:06 ID:??? AAS
ソース見たんですが、ReadParseのあと
フォーム要素のハッシュに対してもjcodeで一括変換しようとしてるでしょ。
テストしてうまく行ってるのかもしれないけど、
jcodeは効いてないんじゃないかな。
256: 名無しさん@お腹いっぱい。 02/01/26 17:07 ID:??? AAS
例えばcookieに"../xxxx%00"とか仕込まれて、汚染チェックをしていないと
cartファイルが../xxxxになってしまう。
ブラウザから渡されたデータは全て信用できないものと仮定して汚染チェックを行わなければいけない。
それをReadParseの中でやっているのなら問題はないが、汎用ルーチンのようなのでやっていない可能性大。
257: 241 02/01/26 22:45 ID:??? AAS
お、直ってんジャン、CGIの吐くタグ。
まだ余計な<center>が<body>の前にひとつついてくるが。
EUC統一ついでにHTMLファイルもEUCに統一しちゃうと、フォームから入力される
文字コードはEUCと決め打ちできるから、入力段(&ReadParseのあと)でのコード
変換は要らなくなるぞ。
いま化けるのは>>255さんの言うとおり、商品ページがSJISで、jcode.plが
SJIS->EUCを変換し切れてないからだろう。
(ひょっとするとメールの件もここの変換ミスが一枚絡んでいるかもね)
&ReadParse( *form);
foreach $key(keys %form){
省3
258: 無謀者 02/01/26 23:14 ID:??? AAS
いろいろありがとうございます。shop.cgiに関しては少しずつ煮詰めていきたいと思います。
さて、これを始めるきっかけにもなった商品用ページ作成用CGIの作成に取り掛かろうと
思ってるのですが、その方法についてお知恵拝借いたしたく。
作りたい商品ページの形式としては今ウプしてあるようなかたちです。
画像ファイルのアップロード等勉強しなくちゃいけないことは山ほどあるのですが、手順として
どういうものがあるのか。
今考えてるのは、テーブル一個分の項目(1商品分)を一行としたdatファイルに保存しておいて
それにタグを挿入してHTMLファイルを作るというものです。新規商品を追加する時や削除
する時はそのdatファイルを呼び出して編集・削除・追加を行いHTMLファイルを丸々上書きという
方法です。HTMLファイルを直接いじるのはタグなどが邪魔して非常にめんどくさそうなので、
省5
259(2): 名無しさん@お腹いっぱい。 02/01/27 00:03 ID:??? AAS
編集、削除が出来る掲示板で、管理者以外カキコ禁止にすれば、あと一ひねりだろう。
画像は専用ディレクトリを作って、ファイルリストをgetして、
BBSの書き込みフォームのページかなんかにWidth/height指定してfilenameと
画像をサムネイル表示。
書き込みフォーム自体にはプルダウンメニュー(select/option)か何かを動的に
生成して、書き込み情報に加えるとかすればOK
画像ウプは説明が長くなるから、まあ「form multipart」あたりでグーグル逝け。
デザイン一括変更は雛型式(デザインを外部ファイルで指定)のBBSを
(拾ってく|作)ればいいんでないかい?
260: 無謀者 02/01/27 01:50 ID:??? AAS
なるほど、掲示板を応用すれば良いんですね。商品ページは複数ページ作りたいんで、
・多板作成が可能
・板毎のデザイン変更が可能
・書き込み内容編集が可能
・画像アップロード可
って掲示板探してそれを参考にしてみよう。
・・・・って思って、画像以外は2ch型改造のAhhanBBSがよさそう
なんでソース見てみたら複雑すぎてわけわかめ(鬱
もうちょっと簡単そうなの探してみよう。
というわけでCGI INDEXとCGI ZOOで旅してきます。
261(1): sage 02/01/28 15:00 ID:??? AAS
外部リンク[txt]:cgitest.s7.xrea.com
これみれなくなってるぞ?!
けした?
おれもソースみてみたいからみせてくれ>>1
なんかだいぶできてきたみたいだね!
上下前次1-新書関写板覧索設栞歴
あと 256 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s