X



☆ショッピングカートのCGIを作りたい!Perlで☆

0096名無しさん@お腹いっぱい。
垢版 |
02/01/14 02:13ID:???
>>1
俺達これだけ協力したんだから、
できあがったスクリプトをちゃんとUPしてね。
それくらい分かってると思うけど。
0097無謀者
垢版 |
02/01/14 02:34ID:???
>>96
完成がいつになるかわからないけどガムバってみます。

#進捗状況
フォームから受け取ったデータをタブ区切りでTMPファイルに
書き込み、そのデータを配列に格納して、HTMLにテーブルで表示する。

ようやくこれだけ出来ました。タブ区切りのひとつひとつのデータを
\nを区切りとして配列にして、それをさらに\tを区切りとして配列にしてから
テーブルに埋め込んで表示させました。カートの中身を表示する部分の実験です。
#次の予定
テーブルの列の最後に「削除」ボタンを表示させ、それを押したら
その列を削除(カートから消す)という方法を見つけたいと思います。
配列の最後に何かデータをくっつけさせてそれが有るか無いかで判断させて
削除しようと思ってるんですが・・・・・
0098無謀者
垢版 |
02/01/14 04:46ID:???
ダミダ・・・・・
とりあえず寝よう・・・
なんか、根本的に削除の方法論が間違ってる気がする・・・・・
0099名無しさん@お腹いっぱい。
垢版 |
02/01/14 10:17ID:???
例えばだね。

注文(注文番号 商品番号 注文個数 顧客番号)
商品(商品番号 商品名 単価 写真ファイル名)
顧客(顧客番号 氏名 連絡先)

などというテーブル構成にして、画面上では注文の部分のみを扱う
それぞれの番号には同じ数字を重ねない。
で、削除の場合。削除確認のラジオボタン(かなにか)をチェックする
と削除する注文番号が飛んでいってその注文番号と一致するレコード
なりファイルなり配列なりクッキーを消せば(・∀・)イイ!!だけじゃない?
0102無謀者
垢版 |
02/01/14 19:10ID:???
今日は進捗無しです・・・・・
ちょっと脳みそ沸騰ぎみ。
プログラムの経験自体が無いので、自分でやろうとしてることの、
可否、考え方の良否が不安で頭の隅から離れません はぁ・・・

>>99さん
その方法っていわゆるリレーショナルDBと同じ考え方ですよね?
後々便利そうでは有るんですが、現状たった一つのテキストを
扱うのにイッパイイッパイなモノでして・・・・
それらを各キー(番号)を使って扱うなんてとても無理です・・・
>>101
えっと、上のほうに書いた気もするんですが、楽天って高いじゃ無いですか?
で、そのコストパフォーマンスの悪さに辟易した友人から相談されたわけです。
楽天で売上上がらないところもそうだけど、上がってるとこだって、
ドメイン取っといて契約が終わる直前にでも誘導すれば、コスト抑えられると
思うんですが・・・・・ま、セキュリティの問題とかコンビニ決済とかの利便性も
有るんで一概には言えないと思いますが・・・・
でも、月五万(でしたっけ?)の粗利を稼ぐって楽じゃないと思うんですが。
特に楽天に多い、花屋とかアクセサリ屋とか。
0103無謀者
垢版 |
02/01/14 19:20ID:???
すいません、sage忘れました・・・

で、この板見ていて感じたんですが、常駐住人の方は、業務で
バリバリと大きなお仕事をしてる方がほとんどなのでは無いかと。
でも、上の例にあるような、花屋とか産直の食品扱ってるとことか
、業者に3桁万円の金を払って頼むのは無理だけど・・・・
ってところはいっぱいあると思うんですよね。私の知り合いも、そのクチ
でして・・・・
で、フリーとかシェアで探してみても、どれも、帯に短し<以下略>
って感じだったんで、良い機会だから、と思ったわけです。
ちなみにその知人の所はフリーの使ってとりあえず、稼動出来るようには
しました。
0105無謀者
垢版 |
02/01/14 19:33ID:???
確かにユーザー側の利便性(安心感)って言うのは重要なファクター
ですね。ただ、現在のECの普及見ると、いずれ貸鯖にしてもその辺
が整備されていくと思うんですよ。上に出てきたベリサイン使う
って手も有るでしょうし。
って、もっともらしいこと書いてますが、たまたま、上記のような
頼まれ事がきっかけ(Perlを覚えてみようと思った)になっただけです。
そもそも、ゼロから初めて、実運用に耐えられるものが作れるとは
思ってませんし・・・・

ちなみに、保険は家計を圧迫するほど入っております・・ハイ
0106名無しさん@お腹いっぱい。
垢版 |
02/01/14 22:49ID:???
基本的にそう言う事は共用でするもんじゃ無いと思うぞ。
共用サーバなんてのは本当のROOT以外に、何故か何でも出来る(所謂、夜のroot)
輩が何人か居ると思って間違い無い。
そう言う奴に対してDBの安全を保障出来ないだろ?
そうなると、スクリプトの安全も勿論だが、寧ろ管理するOSの
勉強の方がずっと大事だと思う、実務レベルではね。
perlのスクリプトってのは安全なんだよ、標準関数が豊富だから
得体の知れない外部コマンドを使わなくていいし、perl自身が実行前に
権限のチェックを厳密にしてるからね。
それと通信経路の暗号化も大前提、今時SSLも使ってない所は誰も使わないよ。
いずれにしてもその調子で一通り動く物が出来ても多分穴だらけだと
思うから、一冊FW構築本なんかを読む事をお勧め。
0107106
垢版 |
02/01/14 23:40ID:???
あ、何か読み直したら結構適当な事言ってる
酔っ払いなんで読み流してくり
0109無謀者
垢版 |
02/01/15 14:10ID:???
>>108
いや、人違いだと思いますよ。この板本格的に見始めたの極最近なので。
>>106-107
ご忠告、ご提案ありがとうございます。やはりセキュリティ関連の勉強は必須
ですかね。今はともかPerlでCGIを書けるようになることでイッパイイッパイですが、
時間のあるときにその手の本も目を通してみます。
0110名無しさん@お腹いっぱい。
垢版 |
02/01/15 15:58ID:???
>>109
106ではないのだが、共用鯖でセキュリティといっても限界があると彼は言ってる
のだと思われ。
テストでサンプルデータ入れるのは問題ないけどそれを本格運用する場合には
気をつけてくれってことだろ。
とにかく形にもなってないんだろうからがんばれよ
0112無謀者
垢版 |
02/01/15 16:55ID:???
>>110
了解です。>セキュリティの件
あと励ましありがとうございます。
>>111
本当に書いているんでが・・・・
今のところ、あれこれいじりながら、何をすれば何が起きるのか?ってのを
確認してる段階なので・・・
Hallo World! に毛が生えた程度のもの晒すのもどうかと・・・
0115名無しさん@お腹いっぱい。
垢版 |
02/01/15 18:19ID:2BhpAmH6
>>114
商売にしたいんじゃないの。
0116名無しさん@お腹いっぱい。
垢版 |
02/01/15 19:03ID:???
別に商売にしてもそれはそれでいいと思うんだよな。
使う人間が便利だと思えばね。
GPLにしてくれとはいわないよ(笑)
0117115
垢版 |
02/01/15 19:42ID:2BhpAmH6
>>116
俺も別に悪いとは思わないよ
0118名無しさん@お腹いっぱい。
垢版 |
02/01/15 21:11ID:???
売るのは悪くないがショッピングカートCGIって売れるか?
シェアウエアがあるのは知ってるがフリーな物も沢山あるし
無料レンタルもあるからよっぽど使いやすく堅牢な奴でないと
買う奴は居ないと思うが。
0119名無しさん@お腹いっぱい。
垢版 |
02/01/15 21:53ID:???
レスキューのヘボい奴でもそれなりのユーザはいるので親切なページ生成が
作ってやれば需要はあると思われ。
堅牢性は本来最重要なのだが評価されにくいね。
0120名無しさん@お腹いっぱい。
垢版 |
02/01/15 22:07ID:???
なるほど、じゃあ使いやすいUIのCGI生成プログラム作ったら売れるかな。
堅牢性は知識無いから考えないことにしよう(藁
0122無謀者@表示時間の桁合わせが・・・・・
垢版 |
02/01/15 22:39ID:???
いつの間にやら、いろんなレスが・・・・
商売については・・・頭の隅の方に無いって言えばウソになりますが、
とてもじゃ、無いですけど今の段階じゃ(藁
確かに、シェアやフリーであることは有るんですが、いろいろ調べてみると
結構痒い所に手に届いてるものが無い。思うに「通販サイト」に直接
携わってない人たちが作ってるのでは無いかと・・・
実際、頼まれて見ると、運用者側に親切な機能が搭載されて無かったりします。
ページの生成機能なんて最たるものですね。
ここの皆さんのように、スクリプトをホイホイ書けるような人たちなら
小遣い稼ぎくらいすぐ出来るんじゃないですか? ”商売”ってなるとまた難しいでしょうが・・・
0124名無しさん@お腹いっぱい。
垢版 |
02/01/15 23:16ID:???
はっきりいって1時間あれば作れるよ
>>1さんのような人も使うと思うとやっぱりフリーで免責事項書いたって
やだな(わら

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

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

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

open (FH,$file);
while($line=<FH>) {
($hinmei,$kakaku,$kosuu,$nedan)=split(/\t/,$line);
push (@kakakus,$kakaku);
}
close(FH);
$all_kakaku = 0;
foreach $kakakus(@kakakus) {
$total = $total + $kakakus;
}
で、良いのでは?
きっと誰かが最適化してくれるだろうけど。
0134名無しさん@お腹いっぱい。
垢版 |
02/01/16 05:35ID:hnHzn5xQ
>133
あ、訂正。

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

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

だな。
しかも、前の、ちょっと間違ってるし。
0136名無しさん@お腹いっぱい。
垢版 |
02/01/16 08:51ID:udXTb4FH
てか、
$nadanはchompしないでOKなんですか?
俺はいつもやっちゃうけど無駄なんですか?
あと、
$total += $kosuu * $nedan;
かと思った。
0137136
垢版 |
02/01/16 08:51ID:???
$nadanは→$nedanは
0138名無しさん@お腹いっぱい。
垢版 |
02/01/16 09:19ID:QRv7obuW
>136
わかんない。動作確認してないし、サンプルデータもないし。
下書きも校正もしないで書き終わったらがんがん書き込んじゃったから。
0140名無しさん@お腹いっぱい。
垢版 |
02/01/16 13:43ID:KcWg2TMr
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
PostgreSQLPostgreSQLPostgreSQLPostgreSQLPostgreSQL
0141sage
垢版 |
02/01/16 16:21ID:???
そんな甘いもん出ないよ!おれなんかショッピングカートで地獄見たもん
質問もすごく初歩的な四則演算とかしてるぐらいなんだから
アルゴリズムについてもっと勉強してからスレッドたてれ!
PGってそんなあまくないよ!!
設計の手法だって勉強しないといけないしさ!
初心者だから?
おいおい・・・・・システム作るのがドンだけ大変か
なんか怒りを覚えてきたぞ!
PERLの特性ってしってんのか?
PERLでやるよりプログラムの基礎勉強しろ
ああ
はらたってきた
0145名無しさん@お腹いっぱい。
垢版 |
02/01/17 12:12ID:???
さて、ここまでのまとめ。

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

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

ああこれおれのことか(笑)
勉強というか、ちゃんと睡眠取るようにするよ(笑)
0148sage
垢版 |
02/01/17 14:26ID:???
すまん
>>143
>>144
怒らずにはいられんかった
PGなめてんのかってぐらい無知だからさ!
ふぅ 
0152無謀者
垢版 |
02/01/17 19:50ID:???
>怒ってる方
別に、プログラムを馬鹿にしているつもりは無いんですが、気分を害されたようなら
申し訳ありません。四則演算云々に関してはおっしゃる通りです。学生の頃
もっと数学勉強しときゃよかった・・・・
いろいろ、親切にレス頂いてる方もいるので、ありがたい限りですが、
やはり大勢として「システム構築」「セキュリティ」「運用」という
話が結構出てきますね。やはりプロフェッショナルな方が多いからでしょうか?
自分としては、それこそ「とりあえず動くスクリプト」という気持ちで
作り始めてるので、舐めてるといわれればその通りかも知れません。
ここにスレ立てたのは、外部と違って、多方面の情報をいただけるかな・・・と・・・

現在の進捗状況。
合計を出すのは>>135でいけました。ありがとうございました。が・・・
ここまで来て気が付いたんですが、注文ボタン押すたびにtmpファイルに書き込んでたんじゃ、
同時に二人以上の人が使えないですよね・・・
注文の最終段階まで配列で処理していって、最後に吐き出すようにしないとダメなのかなぁ・・・・
というわけで、振り出しに戻ってます(藁
0154名無しさん@お腹いっぱい。
垢版 |
02/01/17 23:21ID:???
なぁ>>1
過去のログは読んでるかい?たとえば>>99なんて結構親切に書いてくれ
ていると思わないかい?
我々も段階を追ってアドバイスしてるのだ、だがどうしても説明しき
れないことがあるから具体例も出している。
経験して失敗するのはかまわない、そっちの方が身になって覚えるこ
とができるからな。でももし>>99のようなアドバイスを難しいから
とか面倒だからと言って聞き流してるとだれもアドバイスをくれなく
なるよ。

だから>>153のキーワードも大切にして欲しい。
多分セッション管理と聞いて難しいことをしているように思えるだろ
う、説明している人によっては理解不能なくらい難解な言葉を使って
いて読みにくいことだろう、でもperlには効率的なセッション管理は
苦手とする分野だ。

>>141のぶち切れてる部分を除いて読んでみて、perlの特性と言って
るがセッション管理にも十分出ている。たとえばこれをPHP4でやろう
とすれば簡単にできるのだよ。
とりあえずはperlでできることを学んで行こう。キーワードはわかる
ね、セッション管理だ。
0159名無しさん@お腹いっぱい。
垢版 |
02/01/18 01:46ID:???
>>1
うちでは、1のいう tmp ファイルをお客さんごとに作ってる。
途中で買い物やめた人の分は、時間で消してる。
PHPだけどセッションは、hiddenで持ち回り。
クッキー使うと i-mode 使えないから。

>>154に同意
0161名無しさん@お腹いっぱい。
垢版 |
02/01/18 02:25ID:pneLb9V7
うちもPHPで格闘中。

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

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

にかかれているように、段階を踏んでPGを勉強していったほうがよいとおもわれる
PGって積み重ねていくものだからね!>>1
>>156
おれも同意する!おれはVB嫌いだが・・・そっちのほうがはやいかもよ!
0165無謀者
垢版 |
02/01/18 21:44ID:???
いろいろレスありがとうございます。
>自作にこだわる理由て何?。
う〜ん・・・前前からCGIを作れるようになりたいと思ってたんですが
掲示板とかカウンターとかは自分のHP作る際もフリーので満足できちゃって
きっかけが無かったんです。で、今回のがきっかけになっただけで・・・

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

さて、セッション管理の件ですが、とりあえず「Cokieを使う」という検討を付けたのですが、
セッションID発行する際って一般的にはどうしてるんでしょう?調べてみると
Perl自体にはユニークなIDを発行する関数が無いみたいなので、環境変数を利用
して生成するようなのですが・・・取得できる環境変数の中でユニークな値って
いうと、IPと時間でしょうか?

>GUIで設定するアプリをVB当たりで作った方が早いぞ。
平行して既存のフリーのCGIに使うページ生成のプログラムをAccessで作り始めてます。
どうせなら、こっちを先にPerlで作ってみようかな・・・・
0166名無しさん@お腹いっぱい。
垢版 |
02/01/19 00:41ID:???
つうか 1には無理
まずは 1は掲示版CGIでもつくってなさいってことよ
単なる掲示版でも荒し対策とか色々細かいこと考えると結構大きなプログラムになるぞ
0167名無しさん@お腹いっぱい。
垢版 |
02/01/19 00:45ID:???
しかし、1ってプログラムの経験がないとか言う割には
そうでもなく感じられるようなことも書いてるね。
VBAは使えるの?
0168無謀者
垢版 |
02/01/19 00:55ID:???
>VBAは使えるの?
VBAを使える、というかアクセスのマニュアル本見ながらどうにかこうにか
簡単なものが作れる程度です。アクセスってその気になればMACROだけでも
かなり複雑なことやらせられるし・・・・
「よーし、パパプログラム作っちゃうぞ!!」って言いながら
エクセルのマクロ得意げに組み合わせてるおじさんとかわらんレベルです。
0169名無しさん@お腹いっぱい。
垢版 |
02/01/19 01:53ID:???
ここまで来て、疑問なんですが。
プログラムをしたこともない素人に頼む知り合いって
なかなか理解に苦しみます。
商売を舐めてるのでしょうか?w
0170名無しさん@お腹いっぱい。
垢版 |
02/01/19 02:25ID:???
ていうか、たかが2ちゃんの書き込みに、いちいち詮索入れるってのも
不思議で性がない。
ネタならネタで乗ってあげるか、放置できないのか?
0171 
垢版 |
02/01/19 03:46ID:Z1wHwPDO
>>165
>Perl自体にはユニークなIDを発行する関数が無いみたいなので、環境変数を利用
>して生成するようなのですが・・・取得できる環境変数の中でユニークな値って
>いうと、IPと時間でしょうか?

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

時間はtimeとかなんとか書けば、エポック秒が得られるだろ。
マイクロ秒まで出す方法があったはずだけど、忘れた。

プログラムの内容にもよるけど、大半この組み合わせでいけるでしょ。
0172agege
垢版 |
02/01/19 04:12ID:Z/A0FYpK
> 171
> マイクロ秒まで出す方法があったはずだけど、忘れた。

実は知らないんじゃないの?
0174名無しさん@お腹いっぱい。
垢版 |
02/01/19 08:37ID:???
>>165
apacheが生成してくれるの使えば?

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

use Time::HiRes;
$time = Time::HiRes::time;

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

で・・・
$id=$$+time()でユニークID作って、cookie渡して
split(/\=/,$ENV{'HTTP_COOKIE'})で埋め込まれたID参照して
これが無ければcookieを渡す、もし有るようなら{取り出したID}.dat
ていうファイルを作ってその後の処理をさせようと思ってるんですが、
方法的にはこんなんで良いんですかね?
0180無謀者
垢版 |
02/01/20 20:25ID:COvSUhiy
クッキー・・・
if ($ENV{'HTTP_COOKIE'} eq ""){
&set_cookie
}
print "content-type: text/html\n\n";
print $ENV{'HTTP_COOKIE'};
ってやると、もともとクッキーがあるときは$ENVを表示するんですが、
持ってないときは&set_cookieでクッキーをセットしてるはずなのに
表示してくれません。リロードすれば表示するんですが・・・
ちなみにサブルーチンはこんな感じです(変数省略)
sub get_cookie{
$cookie="set-cookie: Tscart=$cid; expires=$gmt; ";
print <<EOF;
$cookie
EOF
}
0183仕様書無しさん
垢版 |
02/01/20 21:26ID:???
>>180
>>181にも書いてるけど、1セッションで一発読み書きは出来ない
そこにくる前(Top辺りで)、コッソリとダミーのCookieを仕込んでおいて
そいつを読んでクライアントのONOFFを確認するっつのが常套手段
0184無謀者
垢版 |
02/01/20 22:14ID:???
>>181,183さん
なるほどですね。>>183さんの方法は考えたんですが、Cookieに
埋め込むIDでその後の処理を管理する予定なので、どうしようかと・・・・
0185無謀者
垢版 |
02/01/20 22:24ID:???
で"$cookieのID.dat”を定義するのに
以下のような方法で解決できたっぽいんですが・・・

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

if ($ENV{'HTTP_COOKIE'} eq ""){
&set_cookie
$cart="$cid"."\.dat";
}
else{
@id=split (/\=/,$ENV{'HTTP_COOKIE'});
$cart="$id[1]"."\.dat";
}
0186名無しさん@お腹いっぱい。
垢版 |
02/01/20 23:13ID:???
クッキー食わない奴がいるから、最初にチェックしたほうが良いと思われ。
操作した後に駄目でしたはイラツキの原因。
後、クッキーはセッションクッキーで充分だろう。
0187無謀者
垢版 |
02/01/21 03:36ID:???
とりあえずクッキーに関しては>>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



というようにタブ区切りで一行づつ格納されています。でこの中の
たとえば3行目を削除したい時なんですが、画面表示するときに
open(FH,$file);
@line<FH>;
close(FH);
foreach$list(@line){
@item=split(/\t/,"$list")
}
として、各要素をテーブルで区切って表示した上で
画面上に各行ごとにフォームボタンを作り、Hideenで削除用のキー(=$ID)を入れています。
で削除ボタンを押した時にそのキーに対応する$idを持った行を丸々消したいんですが・・・
いろいろ試してるんですが、ファイルの中身が全部消えちゃったり・・(鬱
<FH>で呼び出して、foreachで配列に格納して$id=削除キーだったら
その配列を消して、残りの配列をまた\n区切りの変数にもどして.datに格納・・・
みたいな事を考えたんですが・・・



0188名無しさん@お腹いっぱい。
垢版 |
02/01/21 06:32ID:yXZYknLA
>187

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

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

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

×DBでMySQLとかでしょうか?
○DBってMySQLとかでしょうか?
0195190
垢版 |
02/01/21 13:14ID:???
>192
最近は安い共用鯖でもMySQLとかPostgreSQLを使えるところが
増えてきているから、汎用的だって判断しても良いんじゃない?

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

フリーでばらまくならPerlでファイル操作で構成しておく方が
汎用的と言えるだろうが、作るのが面倒だよなぁ。
漏れの場合は、過去に使ったクラスを使いまわして自分の中で
汎用的にするだけだな。もちろん、客には「1から作りました」
と言って、「あっという間に作ってくれましたね」と言われて
喜ぶのが好きだけど(w
0196無謀者
垢版 |
02/01/21 15:03ID:???
えっと・・>>188を試しているんですが、これの意味って
$i = 0;#行数カウント用の初期設定
foreach (@line) {
($id,$hoge,$mona,$giko) = split(/\,/,$_);
if (削除キー eq $id) { splice(@line,$i,1); last; }#もし削除キー=$idだったら、@lineの$i個目(つまりファイルの$i行目)を空にする)
$i++;
}
って事で良いんですよね?
0197名無しさん@お腹いっぱい。
垢版 |
02/01/21 15:35ID:yxhIL91Y
>196
うん、その通り。
0198名無しさん@お腹いっぱい。
垢版 |
02/01/21 15:35ID:yxhIL91Y
>196
あ、ちがうよ。
空にするんじゃなくて、その行削除ね。
0199無謀者
垢版 |
02/01/21 16:25ID:???
いろいろ試してみて近いところまで来てると思うのですが・・・
open(DEL,"$cart");
@dl=<DEL>;
close(DEL);
$i=0;
foreach $line(@dl){
@cell = split(/\t/, $line);
if ($cell[0] eq "$del") {
$line="";
}

@del=join("\n",$line);
close(DEL);
#ここまで@delには削除済みのリストが入ってるのを確認
#その後
open(FH2,">>$cart");
print FH2 @del;
close(FH2);
}
で書き込もうと思ってるんですが、>>でやると元のリスト+(元のリストー削除した要素)
が追加されちゃうし、>でやるとなぜか、もとのリストが全て消えて、削除すべき要素だけがファイルに書き込まれてしまいます。
@delで欲しいリストは完成してるので、あとはファイルに書き戻すだけだと思うのですが・・・
0201 ◆6KgJyjvE
垢版 |
02/01/21 16:49ID:rYGhtF3P
open(IN,"$cart");
open(TMP,">${cart}.tmp");
while(<IN>){
my @cell = split/\t/;
if($cell[0] ne "$del"){
print TMP;
}
}
close IN;
close TMP;
rename(${cart}.tmp,$cart);

でどうよ。
0202名無しさん@お腹いっぱい。
垢版 |
02/01/21 17:18ID:???
んじゃもっと短くして・・・

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使えばいいのにと思ったり。
0203無謀者
垢版 |
02/01/21 21:33ID:???
>>201
最初、うまく行かなかったんですが、renameのところを変えたら
うまくいきました↓
open(IN,"$cart");
open(TMP,">$cart.tmp");
while(<IN>){
my @cell = split/\t/;
if($cell[0] ne "$del"){
print TMP;
}
}
close IN;
close TMP;
rename("$cart\.tmp","$cart");
ありがとうございました。

>>202
$id(=削除キー)が単純に振られた連番(数字)なので、配列で
確実に指定してやったほうがいいかな・・・と。grepも使いかた調べたんですが、
個数とかの数字を拾っちゃいそうな気がして・・・
☆進捗状況
おかげさまで、
・買物カゴに入れる
・カゴの中身を削除する
の部分は動作するようになりました。皆様の助けが無ければとても10日でここまでは
出来なかったと思います。ありがとうございます。
次の予定は、個人情報の入力画面です。
・・・と、思い出したので質問です。非常に基本的なことだとは思うのですが、
cookieって有効期限内でも、新たに渡せば上書きされるんですかね?
買物カゴで渡したcookieを個人情報画面で、書き換えたいんですが・・
てかそういう場合って新たにクッキー渡すんですか?
0204
垢版 |
02/01/22 00:28ID:zQlW9qzl
もう解決ずみみたいだけど。

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

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

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

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

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

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

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

#これなら途中で放棄してジャンプされてもカンケーなしだね。

ID/Pass発行して再ログインとか考えないなら、これで十分かもよ。
0211無謀者
垢版 |
02/01/22 17:05ID:???
>>209
つうか、ここの住人の方ならパクらないでも数時間で書き上げる内容じゃないかと・・・(w

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

ドリウィで満足行くまでデザインして、パクれ。

0215無謀者
垢版 |
02/01/22 20:25ID:???
>>212
はい、最終的にマイナス時間で渡して消すつもりです。
>>213
いやそのつもりではいるんですが、現段階DW立ち上げてると重くて効率
悪いので、手で打ってます。ある程度目処がついたらデザイン面は見直そうと思います。
>>214
究極で言うと、楽天みたいにWEB上で全てのページが作れてしまう機能とでも言いましょうか・・・・


http://www.xrea.com/に垢取ってアップしたけど動かん・・
ローカルはもちろん自分の借りてる鯖でも動いたんですが・・・・・
0216214
垢版 |
02/01/23 01:12ID:???
>>215
ああ、そういう機能ね。わかりました。
うちのは、エクセルからコピペして終わりだから
そんなこと考えたことなかったです。
0217名無しさん@お腹いっぱい。
垢版 |
02/01/23 01:15ID:Jv+hzd4q
>>211
初心者ですが、質問です。
JavaScript のカート、フリーのやつ
見たことあります。
フレームのindex.html の部分に、
プログラムが書いてありました。
あれって、フレームなしじゃ、
できないもんなんですか?
0218210
垢版 |
02/01/23 03:21ID:???
>>217
>フレームなし
JSの諸事情で、商品が複数ページに渡る場合、正直フレームにしないと
辛いな。

カート(このスレでの実装の場合、単なる送信フォームだが)と、
商品ページあわせて一枚なら、問題ないね。(ECサイトまで行かない
小さいショップのサイトの通販ページなんかで、この一枚タイプは
結構見かけるよ)

複数ページでフレーム避けたいなら、途中退場処理のコストを払っても
やはりカートをサーバーサイドに置いたほうが楽だと思われ。

ただ、JavaScript使用を前提とする場合、フレームを嫌う理由はあまり
ないね。この辺はクライアントの意向によるな。
0222無謀者
垢版 |
02/01/24 13:34ID:???
あきらめてないです。なんとか・・・
一応sendmailでメールを送信するところまでは漕ぎ着けました。
まだ、文字化けしたり、mailに必要な内容が反映されなかったり
とかありますが・・・・・それが解決したら次はページ作成用の
スクリプトに着手です。
0223sage
垢版 |
02/01/24 14:18ID:???
いつのも間にかどんどんすすんでるね!
がんばれよ>>1
0226無謀者
垢版 |
02/01/24 22:06ID:???
日本語コードって難しいですね・・・・
本とか読むと”EUCで書く”って書いてあり、フォームから取得したデータを
&jcode::convert(*form, 'euc');でデコード、でsendmailに送る時は
&jcode'convert(*name, 'jis');って書いてあるんですが、それでやると
表示が文字化けしたり、送られたメールが文字化けしたり・・・・
でいろいろ試した結果、スクリプトをsjisで保存、フォームでコードは
&jcode::convert(*form, 'sjis');メールはjisでデコードしたら今のところ
うまく行ってます。ちなみにw2k+IE6での検証です。あとはWinのNNと
MACでIE&NNを試してみないと・・・・
0227名無しさん@お腹いっぱい。
垢版 |
02/01/24 23:49ID:???
うんこすけーぷ4.xのヤロウ、たまにエンコード間違えやがるから、
確実にjis/sjis/eucを判定できる文字を各フォームに突っ込んどいて、
jcode.plかなんかで判定、convertんとき元コード指定せんと、テストで
上手く行ってても稼動させてしばらく経ったらクレームがなんて事が。

# 昔はまったな、これで。

charsetもHTTPヘッダ、METAで両方吐き出しとけ。念には念だ。
0231名無しさん@お腹いっぱい。
垢版 |
02/01/25 02:13ID:???
困ったらとにかくへろぅわぅうど!
#!/usr/bin/perl #サーバにあわせりゅ
print "Content-type:text/plain \n\nHelloWorld.";
exit;
をウプだ。
これが動かないなら設置/設定方法が悪いかCGIが使えないかどっちかだな。

flockやsymlink、スクリプト本体より上のディレクトリにアクセスしてる
場合なんかもサーバによっては引っかかるぞ。
0234sage
垢版 |
02/01/25 14:31ID:???
これ自作慈円?なの?
0235名無しさん@お腹いっぱい。
垢版 |
02/01/25 15:25ID:???
>>234
なんか>>1が叩かれても逆切れせず、氏ったかもしないで真摯にガンバッテイルから、
漏れはいくつか応援出したじょ。

#なんか自分がPerlいじりだしたころを思い出すんだよな、このスレ。
0236無謀者
垢版 |
02/01/25 19:29ID:???
先の鯖でどうしても動かないのですが、ご協力いただいた方へのお礼も含めて
とりあえずソースだけでもウプして晒してみます。
コメントだらけの汚いソースですが2週間前にCGIに手をつけた素人という事で
見逃してください・・・・
ttp://cgitest.s7.xrea.com/cart.txt
まだエラー処理とかは全然してません。とりあえず動いたというレベルです。
今他の鯖の垢申請中なので動けばまたウプします。

ちなみに自作自演はしてません。てかこんな自作自演できるくらいなこんな苦労しなくていいのに・・・・・(w
0239無謀者
垢版 |
02/01/26 00:38ID:???
文字コードEUCで送ったら動きました
ttp://cgitest.s7.xrea.com/cgi-bin/shop4.htm
ただやっぱりブラウザで頻繁に文字化けするし、sendmailで送られる
データはバヶバケなんですよね
はてさて、何にあわせるのが一番楽なのか・・・・
EUC統一がよさそうなんですが、そうするとブラウザが頻繁にエンコードミスるようなんですが
うちのIEのせいでしょうか?それともやっぱりブラウザ出力部はS-JISにしといたほうがいいですか?
0241名無しさん@お腹いっぱい。
垢版 |
02/01/26 01:18ID:???
少し休め。
CGIが吐き出すHTML、<html>〜<head>〜</head>〜</html>が丸々抜けてんぞ。
shop4.htmはMETAの指定がShift_JISなのにファイル自体はEUC-JPだしな。

よくやったよ。フィニッシュに向けて、まずは寝れ。
0243名無しさん@お腹いっぱい。
垢版 |
02/01/26 10:31ID:8XQYuO1B
              ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < >>1 ねぇねぇまだなの?早く早く〜
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  長野りんご.   |/
0244 
垢版 |
02/01/26 13:29ID:cJzc6DfB
おおー、よくやったなー。お見事。

ちゃんとサブルーチンに分けてあるし。
見やすいし。
別に汚いソースじゃないじゃん。いいんじゃないの?
0245244
垢版 |
02/01/26 13:49ID:8S+CJ+jU
>sub sub_add{
> $ctime=time();#クッキーID作成用要素(時間)
> $cid=$$+$ctime;#クッキー用ID

厳密には、クッキー用のIDが足し算だとイカンと思うが・・。

プロセスIDは一回転して戻ってくるから。
Windows だと、プロセスIDはランダムに割り当てられるし。
0246無謀者
垢版 |
02/01/26 15:20ID:???
お褒めの言葉ありがたい限りです。ホントここに来て見てよかったですありがとうございます。
で、文字コードなんですが・・・
一般的にはスクリプト自体はEUCで書けとものの本には書いてありますよね?
ただ、HTML表示はS-JISが一般的(だと思うのですが)
たとえばスクリプトをeucで書いて(保存して)フォームからのデータは
jcode.pl使ってEUCにコンバートで、スクリプト内のHTML表示部だけMETAタグでs-jis
指定してやればブラウザはちゃんと解釈してくれるんでしょうか?
CGIというよりWEB作成の基礎の気もするんですが、今まではDW使ってて
文字コードって意識した事無かったもので・・・・・
前に書いた通り全てS-JISで統一すれば楽なんですけど、スクリプトがeucじゃないと
動かない鯖にいきなりあたっちゃったもんで・・・・・
あと、この鯖、(てかeucでスクリプト書くと)sendmailで送られたメールが
どうしようもなく文字化けするんですよね・・・・ちゃんとコンバートはかけてる
はずなんですが。

>>245
$$で得られるIDが3桁みたいだったので重複する可能性も考えtime()とあわせてみたんですが
ダメですかね?1秒以内に$$が重複する可能性は無いと思いまして・・・
アクセス数の極端に多い(同時に買物をスタートする可能性が高い)場合は問題になりそうですが・・・・
0247名無しさん@お腹いっぱい。
垢版 |
02/01/26 15:43ID:???
>>246
内部でEUC処理するなら、出力もEUCで良いんじゃないの。
METAタグと、出力ヘッダの両方でEUCに指定した方がいいよ。
あと、メール本文はJIS出力でいいけど
subjectはそれだけじゃダメでちゅ。バケまちゅ。
0248244
垢版 |
02/01/26 15:50ID:8S+CJ+jU
プロセスIDは、65535 までいくよ。
+ って、文字列くっつけるんだっけ? 忘れちゃった。
$cid = "$ctime$$"; とかにしとく方がいいかと思ったんだけど。

あとcgi なら、同時アクセスでも、別のプロセスを立ち上げるから、
同時に買い物をスタートされても平気。
0249名無しさん@お腹いっぱい。
垢版 |
02/01/26 16:10ID:???
お!キレイにかけてるじゃん
俺のスクリプトよりもキレイだぞ;

しかしCGI.pm使ってないの見るの久しぶりなんでなんとも懐かしいにおいがする
のう。。。
0250無謀者
垢版 |
02/01/26 16:12ID:???
あ、そうか・・・・数字の足し算だと確かに重複の可能性がありますね・・・
修正させてもらいます。

で、やっぱりメールの本文の文字化けが解消しない・・・・
スクリプトとHTML出力はEUCで統一したんですが。
@sendml=メールの本文;
&jcode'convert(*sendml, 'jis');
じゃダメなんですかね?
@sendmlはファイルから読み出して格納してます。
ファイル自体は開いて見るとeucになってるみたいなんですが。
0251名無しさん@お腹いっぱい。
垢版 |
02/01/26 16:22ID:???
ソースよく見てないんだけど、
@sendmlってことは、配列なんでしょ。
jcodeなら各要素ごとにやらなだめでしょ。
0252無謀者
垢版 |
02/01/26 16:31ID:???
なるほど・・・だとすればファイルに書き込む段階で各要素(変数)
をjisでコンバートして最後に一気に読み込んで送信すれば良いんですかね?
0253名無しさん@お腹いっぱい。
垢版 |
02/01/26 16:35ID:???
readparseが見当たらないが、ブラウザから受け取ったデータの汚染チェックはしているかな?
たとえばcookieに予想していない文字列突っ込まれたときとか
0254無謀者
垢版 |
02/01/26 16:44ID:???
メールの文字化けの件、ほぼ解決しました。ご指導いただいた方ありがとうございました。

>>253
ReadParseってフォームからのデータの取得にしか使ってないんですが、
他にも何か使い方があるんでしょうか?なんやら重要そうな内容みたいですが・・・
0255名無しさん@お腹いっぱい。
垢版 |
02/01/26 17:06ID:???
ソース見たんですが、ReadParseのあと
フォーム要素のハッシュに対してもjcodeで一括変換しようとしてるでしょ。
テストしてうまく行ってるのかもしれないけど、
jcodeは効いてないんじゃないかな。
0256名無しさん@お腹いっぱい。
垢版 |
02/01/26 17:07ID:???
例えばcookieに"../xxxx%00"とか仕込まれて、汚染チェックをしていないと
cartファイルが../xxxxになってしまう。

ブラウザから渡されたデータは全て信用できないものと仮定して汚染チェックを行わなければいけない。
それをReadParseの中でやっているのなら問題はないが、汎用ルーチンのようなのでやっていない可能性大。
0257241
垢版 |
02/01/26 22:45ID:???
お、直ってんジャン、CGIの吐くタグ。
まだ余計な<center>が<body>の前にひとつついてくるが。
EUC統一ついでにHTMLファイルもEUCに統一しちゃうと、フォームから入力される
文字コードはEUCと決め打ちできるから、入力段(&ReadParseのあと)でのコード
変換は要らなくなるぞ。

いま化けるのは>>255さんの言うとおり、商品ページがSJISで、jcode.plが
SJIS->EUCを変換し切れてないからだろう。
(ひょっとするとメールの件もここの変換ミスが一枚絡んでいるかもね)

&ReadParse( *form);
foreach $key(keys %form){
  jcode::convert(\$form{$key}, 'euc'); #現在内部処理をEUC統一したそうなんで
}

とかのほうがベターだろう。(生書きだから検証してないけど)
0258無謀者
垢版 |
02/01/26 23:14ID:???
いろいろありがとうございます。shop.cgiに関しては少しずつ煮詰めていきたいと思います。
さて、これを始めるきっかけにもなった商品用ページ作成用CGIの作成に取り掛かろうと
思ってるのですが、その方法についてお知恵拝借いたしたく。
作りたい商品ページの形式としては今ウプしてあるようなかたちです。
画像ファイルのアップロード等勉強しなくちゃいけないことは山ほどあるのですが、手順として
どういうものがあるのか。
今考えてるのは、テーブル一個分の項目(1商品分)を一行としたdatファイルに保存しておいて
それにタグを挿入してHTMLファイルを作るというものです。新規商品を追加する時や削除
する時はそのdatファイルを呼び出して編集・削除・追加を行いHTMLファイルを丸々上書きという
方法です。HTMLファイルを直接いじるのはタグなどが邪魔して非常にめんどくさそうなので、
HTMLファイルをいじるのではなく、datファイルを編集してそのたびにHTMLを書き直すほうが
楽かなぁと思ったので・・・・
HTMLを作らずにdatファイルからcgiで表示も考えたのですが、鯖の負荷等考えるとHTML生成しちゃった
方が良い気もしたので。
あとページごとのデザイン等の一括変更とかの機能にはCSS使うしかないですかね・・
0259名無しさん@お腹いっぱい。
垢版 |
02/01/27 00:03ID:???
編集、削除が出来る掲示板で、管理者以外カキコ禁止にすれば、あと一ひねりだろう。

画像は専用ディレクトリを作って、ファイルリストをgetして、
BBSの書き込みフォームのページかなんかにWidth/height指定してfilenameと
画像をサムネイル表示。
書き込みフォーム自体にはプルダウンメニュー(select/option)か何かを動的に
生成して、書き込み情報に加えるとかすればOK

画像ウプは説明が長くなるから、まあ「form multipart」あたりでグーグル逝け。

デザイン一括変更は雛型式(デザインを外部ファイルで指定)のBBSを
(拾ってく|作)ればいいんでないかい?
0260無謀者
垢版 |
02/01/27 01:50ID:???
なるほど、掲示板を応用すれば良いんですね。商品ページは複数ページ作りたいんで、
・多板作成が可能
・板毎のデザイン変更が可能
・書き込み内容編集が可能
・画像アップロード可
って掲示板探してそれを参考にしてみよう。
・・・・って思って、画像以外は2ch型改造のAhhanBBSがよさそう
なんでソース見てみたら複雑すぎてわけわかめ(鬱
もうちょっと簡単そうなの探してみよう。
というわけでCGI INDEXとCGI ZOOで旅してきます。
0261sage
垢版 |
02/01/28 15:00ID:???
ttp://cgitest.s7.xrea.com/cart.txt
これみれなくなってるぞ?!
けした?
おれもソースみてみたいからみせてくれ>>1
なんかだいぶできてきたみたいだね!
0262無謀者
垢版 |
02/01/28 17:13ID:???
>>261
スイマセン消してました。
またアップしますのでしばらくお待ちください。
0263sage
垢版 |
02/01/29 11:00ID:???
うぃ!たのしみにまっとるよ!
0265無謀者
垢版 |
02/01/30 20:21ID:???
ちょっと仕事がつまり気味で、停滞中・・・・・
>>263さんスンマソンしばらくお待ちください
0267無謀者
垢版 |
02/02/02 20:06ID:???
スイマセン、ちょっと仕事が立て込んでて・・・・
尻取りスレにでも使っといてください
0270傍観者
垢版 |
02/02/03 16:59ID:???
ちと進行が遅くなってるのが残念だけど、無謀者氏とレベルが
近しいので、実用的な読み物としてヲチしてます
…ま、目先の仕事優先は仕方なし…かな?
0271名無しさん@お腹いっぱい。
垢版 |
02/02/03 20:00ID:???
>>267
あんたさ、折角なんとかマトナなスレになりつつあったのに、
尻取りスレにでも、は無いだろう。
一体どういう神経してるんだよ。

それじゃ、始めるぞ。


「パール」
0277名無しさん@お腹いっぱい。
垢版 |
02/02/04 16:55ID:???
なぁ、>>1
俺も君と同じようにPerl馬鹿だった。
でもさっきPHPの本を軽く読んでみた。
馬鹿にならんくらい簡単だぞ、これくらいできるようになった君ならあっという間に
完成できるかもしれない。
PHP4をお勧めするよ、マジで。
こんなにセッション管理が楽だとは思わなかったよ。
0278無謀者
垢版 |
02/02/04 18:52ID:???
>>276
お待たせしました。ウプ完了です。
最初のに送料計算用のスクリプトを加えようとしてるんですが、今のところ機能
してません。しばらくいじってなかったらすっかり忘れてるし(w

>>271-275
ご協力ありがとうございます。てか、一瞬で終わってるな・・・・
>277
PHPは最初の方でも勧めてくれた方がいたような・・・・
とりあえず現状最もデファクトスタンダードに近いと思われるという事で
Perlから始めて見ました。まぁ、こんなタラタラやってるうちにPHP全盛って事に
なったりは・・・・しませんよね?

というわけでまたボチボチ続きを始めますのでよろしくお願いします・・・(何をだ?)
0279無謀者
垢版 |
02/02/04 22:26ID:???
送料の自動計算と「〜円以上送料無料」のの機能を追加してみました。
未だに微妙に文字化けするのがチョイ鬱・・・・
文字コードをフォームのHTMLも含めて見直してみます。
0282名無しさん@お腹いっぱい。
垢版 |
02/02/05 13:50ID:???
>278
そうだね、現状ではサーバを製作者側で指定できない限りはPHPはまだ使えないね。
シカーシPHPも4になってほぼ機能的に出尽くした感があるし、ぼつぼつ標準設置の
レン鯖増えてきたし、WebアプリののRADとして、Perlとはすみわけしながら普及
しそうな勢いがあるな。

ところで設置URIは、上記と同じ
ttp://cgitest.s7.xrea.com/cgi-bin/shop4.htm
でいいのかえ?最終確認画面で文字化けしちょるようだが
0285無謀者
垢版 |
02/02/05 22:33ID:???
CGI中のHTMLヘッダで文字コードを指定する場合って、たとえばeucにしたいのなら
"content-type: text/html;charset=EUC-JP\n\n";

で良いんでしょうか?ここで言われたので、ぐぐるで検索掛けてみたら
上のような書き方がちらほらあったので。ただ「文字コード、charset」とかで検索すると
ほとんどが<META>タグの記述方法になってるので、いまいちこれでいいのが自信が無い・・・

いまさらながら気が付いたんですが、どの本読んでもhtmlヘッダ
に関しては
"content-type: text/html\n\n"
を書けとしか書いてないんですよね。散々文字コードの事は書いてあってjcode使って
コンバートしろとかは書いてあるのに・・・・
0286無謀者
垢版 |
02/02/05 22:34ID:???
スイマセンsage忘れ・・
間に合いませんでした。
0287名無しさん@お腹いっぱい。
垢版 |
02/02/05 23:04ID:???
>>285
あってる。
ただ、;のあとに半角スペース入れた方がいいのかな
意味あるのかは知らないけど、みんなやってるということで
print "Content-type: text/html; charset=euc-jp\n\n";

でもmetaにも書いてくれると親切だ。
0288無謀者
垢版 |
02/02/05 23:15ID:???
ありがとうございます。ヘッダとMETA両方にしつこいくらいに書きます(w
しかし、なんで入門書にこれが書いて無いんですかね?
文字コードの自動判定なんてまともに出来ないヴァカブラウザがゴロゴロしていて
純粋なHTMLはS-JISで書くのが一般的(?)なのに・・・
いくらフォームデータエンコードしても、CGI内のHTML表示部分で
ちゃんと指定しとかなきゃ行ったり来たりしてる間にブラウザも迷うっちゅねん!
と思うのですが・・・・

ところで、皆さんはCGI内のHTML部にMETAとか<HTML></HTML>書くときに
何処に書いたらいいかわからなくなる事無いですか?
一箇所で完結すれば良いんですがHTML出力を前半と後半をサブルーチンで
分けたり、使いまわしたりする時に、</html>は何処に入れるんだ?
とかここは<html>はいるのか?みたいに
0289名無しさん@お腹いっぱい。
垢版 |
02/02/06 00:26ID:???
>>288
そうだよ両方書くんでちゅ。
それが当たり前でちゅ。
ていうかここで2回も書いたんでちゅ。

ヘッダ出力とフッタ(は要らんかもしれんが)を
サブルーチンとかモジュール化したら?
CGI.pmでもヘッダ出力できるけど、
日本語の場合、文字コードの指定が必要だから
ジブソで用意しました。
0291sage
垢版 |
02/02/06 10:33ID:???
えらいぞ!短期間でよくここまで!
後は289のいうとうりモジュール化することを進めるよ!
あとでつかいまわしができるよ!
0292名無しさん@お腹いっぱい。
垢版 |
02/02/06 10:48ID:???
CGI.pmでヘッダ出力できるよ。

#!/usr/bin/perl

use CGI;

$query = new CGI;
print $query->header(-charset=>'Shift_JIS');


おいらは最初にヘッダを出力しちゃってそれぞれの出力終了時にフッダの
サブルーチンに飛ばしてる。
0293無謀者
垢版 |
02/02/06 16:55ID:???
>>289
>ていうかここで2回も書いたんでちゅ。
そうでしたね。いや、読んではいたんですが、どうしても>>285の方法が
はっきり自信持てなかったもんで・・・・
>CGI.pm
その辺の事は今後順次勉強していきたいと思います。とりあえずはできるだけ
自分で書くというのも勉強になりますので・・・
>モジュール化
プログラム経験が無いのでモジュールと言うものの概念がいまいちワカランのですが
「良く使うものをサブルーチンにして、それを別ファイルに纏めておく」と言うことで
良いんでしょうか?
>>291
ほんとにここでスレ立ててよかったです。本とかWEB情報だけじゃこの短期間ではとてもじゃ
無いけどここまで出来なかったと思います。
調子に乗って「ド素人のド素人のためのCGI入門」のHPでも立ち上げようかな・・とか思ったりしてます(w
ここまでやってきて思ったのは「初心者用」とか「入門」といううたい文句の本やWEBの説明も
所詮(失礼ですが)プログラマーの方が書いてるので、「ド素人が如何に無知か」という事がいまいち
理解されて無いようなので・・・
0295259
垢版 |
02/02/06 20:31ID:???
>「良く使うものをサブルーチンにして、それを別ファイルに纏めておく」
>と言うことで良いんでしょうか?

サブルーチンをファイルにしてメインからrequireするあたりがモジュール化の第一歩。
そこから名前空間の概念覚えて、別ファイルのほうpackage宣言してみて、って
少しづつ覚えていけばいいと思うよ。(その先がまだ長いんだけれど‥‥)
いきなり.pmモジュールなんていうとワケわかんなくなるからね。

で、商品ページの方はどうよ?
0296無謀者
垢版 |
02/02/06 21:21ID:???
>>295
なるほど、そんな単純なものではなさそうですね>モジュール

>商品ページ
いかんせん仕事の都合で間があいちゃったんで全然出来てません。設計書を作ってる
最中だったんですが、今読み返してみるとようワカラン(w
もう一度1からやり直しです。最初はフォームからHTML生成しちゃおうと思ったんですが、
在庫数をカウントしたいので、cgiからdatファイルから読み出してHTML表示させるしか無さそう・・・
HTMLにHiddenで入れようとも思ったのですが、商品が減る度にHTML書き直させなきゃならなそうだし。
ただ、全てをCGIにやらせると鯖の負荷も高くなりますよね?どうしたものか・・・・
0297259
垢版 |
02/02/07 15:02ID:???
>296

open (READ,$filename);
 @data = <READ>;
close (READ);
#@dataに対して必要な処理
open (WRITE,">$filename");
 print WRITE @data;
close (WRITE);

式でやると、.datの件数が増えると負荷もかかるしメモリも喰う。
これは鯖屋さんに嫌われる。(警告が来たり、いきなり垢止められたりする)

open (READ,$filename);
open (WRITE,">$tempfile");
 while($line = <READ>){
  #$lineに対して必要な処理
  print WRITE $line;
 };
close (WRITE);
close (READ);
rename ($tempfile, filename);

式でやるなら、1セッション中に(検索と在庫デクリメント程度であれば)
複数回処理かけても大した負荷(プロセス時間)にはならないし、メモリも
喰わない。この方式で数百〜1万件(行)程度の処理しつつHTMLを吐かせる
CGIを一般の複数件のレン鯖に置いているけれど、苦情は来たことがないぞ。

この場合、.datはTABまたはSPACE区切りテキストがいいな。
一般配布のCGIにはカンマ区切りが多いけど、UNIX育ちのPerlのsplitは/\t/
や/\s+/に対し最適化されているから、行数が大きくなったときの処理時間の
差は結構馬鹿にならない。

カンマ区切りだと例外処理がウザい(書き込み時にデータにカンマがないか
チェックするか、Excelなcsvにすべくクオート処理せねばならん。後者の場
合、単純にsplit出来なくなる)しね。

プチECとしてはデータ内に半角スペースも含まれるだろうから、TAB区切りが
一番いいだろう。
0298無謀者
垢版 |
02/02/08 21:13ID:VrHm3ZfY
えーとパスワード認証してるCGIに直接アクセスするにはどうしたら?
フォームが
<input type="password" name="pass" size="10">
<input type="hidden" name="mode" value="login" >
になっていて、

&ReadParse(*form);
$pass=abc;
$fpass=$form{'pass'};
if ($fpass eq $pass){
#−−−メニュ画面ーーーーー#
}
ってなってるんですが、後の(他の)処理の中でその処理終了後
メニューに飛ばしたいんです。hogehoge.cgiになんかくっつけて呼び出す(?pass=とか?)
ような感じになるんじゃないか?というところまではたどり着いたんですが・・・・・
0300無謀者
垢版 |
02/02/09 11:30ID:???
すいません。書き方悪かったですね・・・・流れとしては
フォーム(HTML)からパスワード入力>menu画面(menu.cgi)>データ入力
>データ入力後refreshでもう一度menu画面に戻る。
てのをやりたいんですが、戻り先をmenu.cgiにするのにパスワード
を渡す方法をがわからないんです。そもそもFORMのinputで渡すような項目を
Formを使わずに渡す方法ってどんなのがあるんでしょう?
0301名無しさん@お腹いっぱい。
垢版 |
02/02/09 13:35ID:???
>>300

方法としてアドレスに埋め込む(リフレッシュ先のアドレスに仕込む)
hoge.com/menu.cgi?id=hoge&pass=hoge

HIDDENを使う
データ入力の度に
<INPUT HIDDEN NAME=id VALUE=hoge><INPUT HIDDEN NAME=pass VALUE=hoge>
これを必ず仕込んでおく

なお、どちらの方法でもmenu画面で逐次パラメータを取得して次に渡す必要がある

的外れの返答かな?
0303無謀者
垢版 |
02/02/09 13:50ID:???
ありがとうございます。その辺を知りたかったんです。
つまり、通常フォームから
<input type="password" name="pass" size="10">
<input type="hidden" name="mode" value="login" >
と言う内容をsubmitボタンを押すことにより送信するんですが、
その内容をフォームを使わずに渡す方法を知りたかったんです。
>>301の説明だと
menu.cgi?mode=login?pass=123
とかで良いんですかね?
でスクリプト中で$loginpass=123とか指定しておけば、cgi内から上記のように
リンクかける場合は
menu.cgi?mode=login?pass=$loginpass
としておけば大丈夫って事ですよね?


とりあえずやってみます。


0305名無しさん@お腹いっぱい。
垢版 |
02/02/09 14:14ID:2AUefyPU
>>303
そのとおり。
あと老婆心ながらHTMLのタグを書くときに""(クオーテーション)はいらない。
""がいるのはスペースが含まれる場合のみ。
""を省略するだけで結構処理スピードがあがるよ。
0306無謀者
垢版 |
02/02/09 14:26ID:???
ありがとうございました>教えてくださった皆様・
うまくいきました。
ちなみにこれと同じ方法を使ってFORM内の
Submitボタンを画像とかに置き換える事は可能なんでしょうか?
ボタンの変わりに画像貼ってそれのリンク先をmenu.cgi?neme=submit
ってやるとsubmitボタンとして動作します?
0309無謀者
垢版 |
02/02/09 19:23ID:???
皆様いつもありがとうございます。
商品ページ作成部分が若干出来たのでウプしました。
ttp://cgitest.s7.xrea.com/cgi-bin/admin.htm
から入れます。パスワードは「123」です。
今のところ、商品カテゴリーの作成と商品の追加しか動きません。
カテゴリーを追加した後に商品を追加する事になります。既存のカテゴリーは
「商品群1」と「商品群2」です。
商品群1の内容は
ttp://cgitest.s7.xrea.com/cgi-bin/main.cgi?mode=show&fname=test

商品群2の内容は
ttp://cgitest.s7.xrea.com/cgi-bin/main.cgi?mode=show&fname=test2
で見られます。
カテゴリーを新規作成の際のファイル名は拡張子無しで。新しく作ったカテゴリーの
内容を見るときは
ttp://cgitest.s7.xrea.com/cgi-bin/main.cgi?mode=show&fname=”作成時につけたファイル名”
できるはずです。
0310無謀者
垢版 |
02/02/09 20:31ID:???
あ、今現在新規商品作成時に指定したオプション項目は反映されません。
「,」で区切って入力してもらって、そこからセレクトボックス生成させる
のを今作ってます。
0311名無しさん@お腹いっぱい。
垢版 |
02/02/10 16:31ID:???
うーん、せっかく上手くいっているところに水を差すようだが、
URIでパスワード指定やっちゃうと、認証もクソもないぜ。
URIがバレた時点でソッコーで改ざんされっぞ。
googleツールバーの高機能版では閲覧中のURI自動通知されちまうしな。

「登録しました」のページに「メニューに戻る」ボタンをつけて、
hidden渡しじゃだめなんかい?
どうしてもrefreshでやりたいなら、refererとってCGIと認証ページからの
アクセスのみ許可するとかやってやんねーと。
0312無謀者
垢版 |
02/02/10 20:00ID:???
>>311
確かにそれは思ったんですけど、一応pass入れたあとの管理者用画面だから
大丈夫かな・・・と考えてたんですが・・・・・
hiddenで入れてもソース見ればそのままpassが見えちゃうわけですし・・・・
0313311
垢版 |
02/02/10 23:43ID:???
>>312
postで(formから)passが入ってこないときadmin.cgiがエラーメッセージ吐いて
終了するようにすりゃいいんだよ。したら、URIがバレても簡単にはアクセスでき
ないだろ?
#!/usr/bin/perl
require 'cgi-lib.pl';
my $method=$ENV{REQUEST_METHOD};
$pass='123';
&ReadParse(*form);
if ($form{'pass'} ne $pass or $method ne 'post'){ #passミスマッチとGET拒否
print "Content-type: text/plain\n\nForbidden.";
exit;
}
#──以下処理。formを吐く場合は必ず
#<input type=hidden name=pass value=$pass>を仕込む

GET全拒否しちまってるけど、たとえば、こうよ。

>hiddenで入れてもソース見ればそのままpassが見えちゃうわけですし・・・・
上みたいな処置しときゃadmin.cgiにマトモにソースを吐かせるのに絶対にpostで
pass渡さなきゃいけねーから、過信は禁物だがpassを知らない限りソースも見れん
ワケよ。admin.htmにはpass書くわけじゃねーんだしさ。

#漏れはCGI.pm詳しくないんだが、CGI.pmでpostとgetの読み分けは出来んのかなあ。
#詳しい奴フォロータノム

後、>>311でも書いたがrefererとって
ttp://cgitest.s7.xrea.com/cgi-bin/admin.cgi
ttp://cgitest.s7.xrea.com/cgi-bin/admin.htm
以外からのアクセスは弾いちまえばいいんだよ。
0314無謀者
垢版 |
02/02/11 02:03ID:???
ちょっと機能追加
登録済み商品の修正が出来るようになりました。
>商品登録テストしてくれて人
今のところ、文字置換やエラー処理全然いれて無いので、コメントのところで
改行入れるたり、新規ページ作成時に、ファイル名入れないと、データボロボロになります(汗
明日(今日か・・)必要フォーム項目未記入時のエラー処理と、改行その他、文字列の
置換処理を出来るようにします。

>>311=313
なるほど・・・・と入っても、いまいち管理用画面でのその辺のセキュリティの必要性が
理解できて無いんですが・・・・・
どっちにrefererとって弾く事だけはやっておいた方がよさそうですね。
0315無謀者
垢版 |
02/02/11 02:16ID:???
ところで、今回、新規データ入力時に
@data=($no,$hoge,$mona,$gik)
$line=join("\t",@data);
open(FH,$file);
@logdata=<FH>;
close(FH);
open(WRITE,">$file");
print WRITE $line;
print WRITE @logdata;
close(WRITE);
として、新しいものが上に来るようにしました。
で商品修正時にココの前で教えてもらった方法2の応用で
@newdata=($no,$hoge,$mona,$gik);
$line=join("\t",@data);
open(IN,"$file");
open(TMP,">$temp");
print TMP "$line;
while(<IN>){
my @cell = split/\t/;
if($cell[0] ne "$no"){
print TMP;
}
}
rename($temp,$file)
ってやってるんですが、この方法だと、修正したファイルがデータの一番上(一行目)に
来ちゃうんですよね(そういう風にしてるんですが)
これって、たとえば4行目のデータだったら、また同じ所にかき戻す方法ってどうやれば良いんですか?
if($cell[0] ne "$no"){
print TMP;
の後に
if($cell[0] eq "$no"){
printTMP $line;
でうまくいかなかったです。書く位置がまずかったんでしょうか?
0316297(=259)
垢版 |
02/02/11 03:41ID:???
$noは数値だよね?
なら、

while(<IN>){
my @cell = split/\t/;
$_ = $line if $cell[0] == $no;
print TMP;
}

で数値評価したらどうかな?
なんとなくだけど、$cell[0]か$noに空白とか含まれてそうだったんで。
0317無謀者
垢版 |
02/02/11 18:26ID:???
>>316
うまくいきました。ありがとうございます<IN>
で変数が$_に入ってるってのがすっかり頭から飛んでました・・

ところで、正規表現なんですが、たとえば$priceに半角数字以外(「,」とか)が入ってた場合に
エラーを表示させるのって
if ($price eq ~/\D/){
print "価格はカンマ無しの半角数字で入力してください";
}
で良いんですよね?
0318名無しさん@お腹いっぱい。
垢版 |
02/02/11 22:44ID:+mlK3wYT
>>317
全然違う。検索は $scalor =~ /$hoge/; だぞ。

if ($price =~ /\D/) {
print "価格はカンマ無しの半角数字で入力してください";
}

まあがんばれ。
0319無謀者
垢版 |
02/02/11 23:18ID:???
↑の通りに書いてみたら,半角数字も弾かれちゃいました・・・・・
0321無謀者
垢版 |
02/02/11 23:28ID:???
そうだと思うんですが・・・・
だから
$price=~/\D/;
だと「$priceに数字以外のものが含まれていれば」
って事になりますよね?
0323無謀者
垢版 |
02/02/11 23:34ID:???
のはずなんですが・・・・弾かれちゃうんですよ・・・
もう一度ソース見直してみます。
0324名無しさん@お腹いっぱい。
垢版 |
02/02/11 23:35ID:???
ってかさ、数字以外は取り除けばいいんでない?
そっちの方がユーザーライクだと思うが。

$price =~ tr/0-9//cd;
0326無謀者
垢版 |
02/02/11 23:40ID:???
それも考えたんですが、全角数字入れられた時の対応も一緒に
やっちゃおうと思ったので。
0327無謀者
垢版 |
02/02/11 23:44ID:???
>325
そう思って
[\D\s\t]とかもやってみたんですが・・・ダメ
0329名無しさん@お腹いっぱい。
垢版 |
02/02/11 23:52ID:pHWWFybw
もうめんどくせえから、全部最初からやり直せ!!
0330297
垢版 |
02/02/11 23:52ID:???
そうか、上手く逝ったか。漏れこのスレ、検証してないやつばっか(297とか^^;)
書いてるから、ちょっと心配してるんだな。

> で変数が$_に入ってるってのがすっかり頭から飛んでました・・
慣れると便利なんだよ、デフォルト変数$_。
はまると怖いけどね。

で、正規表現検索は相手が文字列でも
if ($price =~ /\D/)・・・
だよ。
0331無謀者
垢版 |
02/02/11 23:52ID:???
えっと、上記の処理より前に
if ($price eq ""){
print"error"
}


#その他変数の未記入チェック


ってやってから上の処理やってるんですけど、その辺は関係あります?
一応、未記入のエラーはちゃんと表示されます。
で、上記の検索を書くと、数値だろうがなんだろうが弾かれちゃう・・・
0332無謀者
垢版 |
02/02/11 23:59ID:???
うわ、
if ($price =~ /\D/){
print "$price";
}
ってやったら、入力したのと違う数字が出てきた・・・・・
この数字どっから来たんだろ???
198000って入力したのに429467294って・・・たかどんな数字入れても
おんなじ数字が吐き出されてる????何でだ?
ちなみに置換処理を無くして実行すると、ファイルにはちゃんと入力した
数字が書き込まれてます。
0333297
垢版 |
02/02/12 00:02ID:???
>>330
うわ、とっくに話題が過ぎ去ってやがる。リフレ忘れた。鬱打

&jcode::tr(\$price, '0-9', '0-9'); #全角数字を半角に変換
if ($price !~ /0-9/){
  print "価格はカンマ無しの半角数字で入力してください";
}
あたりではどうかな?
0334名無しさん@お腹いっぱい。
垢版 |
02/02/12 00:06ID:r54lTbCX
>>332
という事は、その処理以前にどこかで$priceに値が代入されてるんだよ。
探しなさい。
0335無謀者
垢版 |
02/02/12 00:07ID:???
え〜〜〜〜
解決したっぽいです・・・
どうやら、使ってるエディタにバグがあるらしく、上書き保存するとなぜか
s-jisで保存されてたっぽい、のが原因みたいです。(設定はEUCにしてるのですが)
お騒がせして本当に申し訳ありませんでした・・・・m(__)m
エディタ変えようかな・・・・・
0336名無しさん@お腹いっぱい。
垢版 |
02/02/12 00:09ID:r54lTbCX
>>335
俺はいまだにメモ帳使ってるぞ。メモ帳最強。
0337無謀者
垢版 |
02/02/12 00:12ID:???
あと、
>&jcode::tr(\$price, '0-9', '0-9'); #全角数字を半角に変換
jcodeでこんな事も出来るんですね。フォームデータ受け取り時に
h2zでカタカナは全部置換させてるんですが、そこで数値にしなければならない
変数も全部変換掛けといた方がよさそうですね。
とりあえずご迷惑したお詫びに町内10周走ってきます。
0338無謀者
垢版 |
02/02/12 01:01ID:???
皆様の暖かいご支援のおかげで、
新規ページの追加、商品の登録、編集、削除
までできるようになりました。また
「簡易商品ページメニュー」を作り、そこから商品ページにアクセス
出来るようにしました。(管理画面の中)
ココに表示されるURLをコピペすれば、使う人は、メニューページを
自由に作れるのでは無いかと・・・・
ttp://cgitest.s7.xrea.com/cgi-bin/admin.htm
パスワードは123です。
ある程度のエラー処理と文字列置換は入れたつもりなのですが・・・・
0339名無しさん@お腹いっぱい。
垢版 |
02/02/12 02:46ID:???
>>338
適当に弄ってれば誰でも使えそうなカンジですね。
って、弄ってみました。
感想:
どのページからでも管理画面に戻れると良いかなあ。
(ページ作る時に何回も戻ったので…)
0340311
垢版 |
02/02/12 05:58ID:???
>>314
>いまいち管理用画面でのその辺のセキュリティの必要性が理解できて無いんですが・・・・・
だーかーらー、http://うんちゃらかんちゃら/admin.cgi?mode=login&pass=xxxって
URIがばれちまったらイッパツで商品ページ改ざんされちゃうだろっていってんの。
PasswordをGETに含めるのはヤバいんだって。直リンオッケーだしな。

知り合いとはいえ金絡んでやってんだろ?しっかりしろよ。
商品価格書き換えられたところに注文とか去れちまったら大損害だろ?

URIバレた瞬間にPasswordもってかれちまうんだから、ほんとはPOSTがいいんだけどな、
せめてリファラチェック(GETメソッドはCGI自身からのアクセスみ許可)と、
本稼動のときは変な名前のディレクトリ作って、cgi本体の名前からは予想も出来ねー
よーな名前でrobotよけのMETAつけた認証ページ設置するぐらいの対策はぐらいはしとけよ。
0342無謀者
垢版 |
02/02/12 13:16ID:???
>340
詳しい説明ありがとうございます。リフレッシュを止めて、フォームボタンで
hiddenを渡し、リファラチェックも入れるようにします。
ところで、一つのサブミットボタンで二つ以上のアクションを指定する事って
出来るんでしょうか?たとえば
<form method=post action=hoge.cgi>
<form method=post action=hage.cgi>
<input ...
<input....
<input type=submit value=OK>
</form>
</form>
とかやっておけば、submit押した時に、両方にフォームの内容が送られるんでしょうか?
0344名無しさん@お腹いっぱい。
垢版 |
02/02/12 21:09ID:???
>>342
二つ以上アクションさせたい場合はhiddenでvalueを送ってスクリプト
のなかのifで受ける。
例:
<form method=post action=hage.cgi>
<input type=hidden name=action value=hoge>
<input type=hidden name=action value=hage>
<input type=submit value=OK>
</form>
〜hage.cgi〜
if ($DATA{'action'} eq 'hoge') {
*******************
}
if ($DATA{'action'} eq 'hage') {
*******************
}
0345無謀者
垢版 |
02/02/13 00:04ID:???
>>343-344ありがとうございました。
今、注文受けたら在庫数を減らすってところを作ってるんですが
これが結構大変そうです・・・・・
0346無謀者
垢版 |
02/02/13 01:26ID:???
う〜ん、注文が確定した時(メールを送信する直前)にカートに入ってる
各商品の注文数を、商品ごとに各商品ファイルと照合して、注文数>在庫数
又は在庫数=0ならエラー、もし注文数<在庫数なら、「在庫数ー注文数」して
商品ファイル内の該当商品の在庫数を修正・・・・・
それぞれの処理は、今まで教えていただいた事でかけそうなんですが、データの抽出、条件分岐が非常に複雑になりそうです。
0347名無しさん@お腹いっぱい。
垢版 |
02/02/13 05:09ID:???
>>346
それって全然簡単じゃない?例としては
if ($ORDER{'mona'} > $ZAIKO{'mona'}) {
print "申し訳ありません。只今$ORDER{'mona'}は在庫を切らしております。\n";
} else {
$ZAIKO{'mona'} -= $ORDER{'mona'}
}
こんな場合こそ、パール独特の変数、ハッシュが力を発揮する時だよ。
ハッシュを上手く使ってね。
0348無謀者
垢版 |
02/02/13 10:05ID:???
>347
えっと、カートの中身が複数だった場合商品によって、格納されているファイルがそれぞれ違うので
まずforeachとかで順にカートの中身を取り出しながら商品の格納されているファイルを、検索(hidenでファイル名を渡してある)して、見つかったファイル名をまたforeachなりwhileなりで
検索して、商品名がマッチしたら在庫数と注文数を比較、それで0か足りない場合は
エラー、もし大丈夫なら、在庫数から注文数を引いて、ファイルに書き直し・・・・

みたいな事をやらなければダメな気がするんですが・・・
0349297
垢版 |
02/02/13 12:22ID:???
@files=glob "$dir/*.dat"; # $dirはディレクトリ名。*.datのlistを得る
foreach $file(@files){
 open FILE,$file or &error;
 while(<FILE>){
 my($no, $hinmei, $zaiko・・・) = split /\t/; #左辺のmyのリストは適当に
 $zaiko{"$file::$hinmei"} = $zaiko;
 }
 close FILE;
}
とかやって%zaiko{"ファイル名::品名"}(%zaiko{"ファイル名::商品番号"}?)に
代入して、%zaikoに対しデクリメント。
>>347さんの言うとおりhashならサーチ用にループしなくてイイからね。
で、

foreach $file(@files){
 open FILE,$file or &error;
 open TMP,">$temp" or &error;
 while(<FILE>){
 my(@dummy) = split /\t/;
  @dummy[2] = $zaiko{"$file::$hinmei"} if exists $zaiko{"$file::$hinmei"}; #$dummy[2]は適宜変更
 print TMP @dummy;
 }
 close FILE;
 close TMP;
 rename $temp,$file;
}

とかやって戻してやるってのはどうかな?

あ、ここまでやって思いついたが、カートの中身を
%cart{ファイル名::商品名}=注文数
ってハッシュにして、後者の書き戻しループで在庫チェックさせればイッパツだ。
そのほうがイイや。速いし。
0350297
垢版 |
02/02/13 18:52ID:???
えーと、ちょっとヒマがあったんで上の追記を。

カートの中身を
$cart{ファイル名::商品名}=注文数 (注文がない場合は0でなくハッシュを生成しない)
ってハッシュにしてあるとして、

@files=glob "$dir/*.dat";
foreach $file(@files){
 open FILE,$file or &error;
 open TMP,">$temp" or &error;
 while(<FILE>){
  my(@data) = split /\t/;
  my $key = "$file::$data[2]"; # $data[2]は商品名ね
  if (exists $cart{$key}){
   if ($data[1] < $cart{$key}){ #$dummy[1]は在庫
    print "$data[2]は在庫が不足しています";
   }else{
    $data[1] -= $cart{$key};
   }
  }
  print TMP @data;
 }
 close FILE;
 close TMP;
 rename $temp,$file;
}

で、読み出し→在庫チェック→在庫デクリメント→書き戻し
が1回で終わると思うんだな。

まあ例によって書きなぐりだから、globでファイルリストを取り出し、
cartをexistsで調べて在庫チェックとデクリメント処理する、
という流れだけ理解してもらえれば。
0351無謀者
垢版 |
02/02/14 15:56ID:???
>>350=297さん
いつもありがとうございます。
せっかく、頂いたんですが、違う方法で実装できました。
次は「在庫がありません」だけではちょっと不親切なので「在庫が無いので買物カゴから削除しました」
と「在庫が足りないので$cyumon個を$zeiko個に変更しました」と表示して
カートの中身を書き換える機能を作成中です。一度に商品ファイルとカートファイルを
の二つをハンドルするので、ループ中の何処で、書き込んで、何処でテンポラリーファイルを
リネームするのかが、書いててわからなくなる・・・・(苦笑
スクリプト一行書くごとに、print"処理結果" and exit;で出力内容を確認しながら
進めてます
0352無謀者
垢版 |
02/02/15 00:25ID:???
買物を途中で止められた場合、datファイルが残ってしまっているので、それを
定期的に消したいんですが、たとえば最終更新時間から$time以上経過したら
削除させるのって
@files=glob("./cart/*.dat");
foreach(@files){

@info=stat $_;
$deltime=time-60*60*$time
if ($info[9] >$deltime){
unlink $_;
}
}
で、大丈夫ですか?
これを、買物終了時かなんかに実行されれば、誰かが買物を完了してくれたら自動的に
入らないファイルが消える、というふうにしようと思うんですが・・・・
statで得られる時間って time関数と同じで方式(1700年からの秒数?)ですか?
0353無謀者
垢版 |
02/02/15 00:39ID:???
なんか誤字だらけ・・・
×入らないファイルが消える
○要らないファイルが消える
0354297
垢版 |
02/02/15 01:39ID:???
おお、自力で実装できたか。ガンガン腕を上げていますね。
あとは欲張って機能拡張しすぎてスパゲッティにならんようにね。

statで得られるのはtimeとおなじ*1970年からの*通算秒だよ。
最終更新からの経過だけ調べるだけなら、ファイルテスト演算子-Mで
最終更新からの*経過日数*が得られるよ。
foreach(glob("./cart/*.dat")){
 unlink if -M $_ > $time; # $timeは日数、0.5なら12時間
}
とか。
0355無謀者
垢版 |
02/02/16 01:32ID:???
画像のアップロードって、難しいですね・・・・
0356名無しさん@お腹いっぱい。
垢版 |
02/02/16 15:01ID:BlI0w0O/
大人のCGI(書籍)
ttp://www.byakuya-shobo.co.jp/hj21/otona/main.html
あたり読んで、パクれ。
今のお前ならもうこの本のスクリプトを解析、応用できるはずだ。
0357無謀者
垢版 |
02/02/16 16:40ID:???
持ってたりします・・・>大人のCGI
実は他でソースパクってUpload.cgi作ったら動いた事は動いたんですが
それを、admin.cgiにサブルーチンとして埋め込むと動かなくなります。
そのソースは、CGI.pm使ってたんですが、enctype="multipart/form-data" で受け取ったデータを
ReadParseかけちゃってるのが問題なのかな?とか思ってたりするんですが、関係あります?
0358名無しさん@お腹いっぱい。
垢版 |
02/02/16 17:51ID:BlI0w0O/
そこだ。ファイルデータは生で扱え。
その動いたっちゅうUpload.cgiで、どこをパースしてどこを生で扱っているか
解析してみるのだ。この件に関して間違いのない文書はRFC1867。
0359無謀者
垢版 |
02/02/16 19:24ID:???
ちょっと、頭の中がテンパって来たので、気分転換で、管理画面のUIを整理しました。
ttp://cgitest.s7.xrea.com/cgi-bin/admin.htm
各画面から必要なページに戻れるようにボタンをつけました。
あと、新規ページ作成時と、デザイン変更時に作成結果(変更結果)が確認できるようにしました。
0361無謀者
垢版 |
02/02/16 22:34ID:???
なんか、今日xreaが調子悪くないですが?
私のPCのせいだろうか・・・・
0362名無しさん@お腹いっぱい。
垢版 |
02/02/17 01:51ID:???
しかし、1/10に
> Perlも、いやプログラミングさえ未経験。「必ずわかるCGI」と
> その他の入門書で何とか「掲示板」の仕組みがようやく理解できました。
んな事書いてた>>1が一ヶ月でここまで来るとは正直予想できなかった。
0364名無しさん@お腹いっぱい。
垢版 |
02/02/17 10:54ID:FSHvXFjS
俺モジュール使え無い。つまり1にいつの間にか越された。ウツウツウツウツウツウツ。。
0367356
垢版 |
02/02/17 11:53ID:S4ml9rOy
>>365
あれがクソ本だと言うのは構わないから、具体的にどのあたりのコードがヤバいとか、
他にいい本や資料、URIがあったら教えてやってくれ。

実践的で単機能のコードの量、カバーするCGIの範囲では間違いなく現在トップ
クラスの良書だ。
0369無謀者
垢版 |
02/02/17 13:13ID:???
久々にレスが沢山ついててちょっとビクーリ
さて、アプロダの件なんですが、今まではスクリプトの頭で
ReadParseかけちゃってて、multipart/form-data使うには
それがまずそう、というヒントを頂いたんですが、いまさら
ReadPaeseの前に
use CGI;
$query = new CGI;
$images=$query->param('gazou');
if ($images ne ""){

#処理
}
&ReadParse;
#今まで通り


で大丈夫なんですかね?要はReadparseはそのままでmultipart/form-dataで
受け取った特定の物だけCGI.pmで処理するというかんじになるかと思うんですが
0370無謀者
垢版 |
02/02/17 13:15ID:???
また、日本語がおかしい・・・
×というヒントを頂いたんですが、いまさら
○というヒントを頂いたんですが、いまさらReadParse止められないので。
0371名無しさん@お腹いっぱい。
垢版 |
02/02/17 15:58ID:???
それだと後ろの&ReadPaeseがコケる。POSTデータをCGI.pmが先に拾って
まうんやないかな。そんな妙なコード組んだことないから、いざやったら
出来てしまうんかも知れへんけど。

もうこの際CGI.pmで逝きゃええやんと思ふ(書き直しも大した手間じゃない)
けど、まぁ何にせよcgi-lib.plで逝くと決めたんやから、動くコードが落ちて
たからといって場当たりで手を広げるもんやない。

cgi-lib.plを用いたファイルアップロードのサンプル
ttp://cgi-lib.berkeley.edu/ex/perl5/fup.html
と、そのソースや。
ttp://cgi-lib.berkeley.edu/ex/perl5/fup.cgi.txt

読め。ほどけ。取り入れろ。
0372名無しさん@お腹いっぱい。
垢版 |
02/02/18 07:41ID:THrW4CtS
>>1
ここにCGI.pmのサンプルあり。
http://www.harukaze.net/~mishima/perl/module/upload_by_CGI_pm.html
0373無謀者
垢版 |
02/02/18 12:04ID:???
あぷろだはいまだ研究中で未実装ですが、今までずっと気になっていた
「同じ商品を買い足した場合」の処理を変更しました。
これで、あとはアプロダさえ実装できればほぼ完成かと・・・
0374無謀者
垢版 |
02/02/20 16:42ID:???
ようやくアプロダ実装完了しました・・・
商品画像、ページ背景画像、ページバナー、それぞれあぷろど可能です。
但し、実サイズで表示されますので、あまり大きい画像は・・・・・


というわけで久々にageさせていただきます。
ページメニュー
ttp://cgitest.s7.xrea.com/cgi-bin/menu.cgi
管理ログイン画面 pass=123
ttp://cgitest.s7.xrea.com/cgi-bin/admin.htm
0376名無しさん@お腹いっぱい。
垢版 |
02/02/20 16:53ID:???
いいかんじかな?
買い物かごの中をみる、を選択したときに、中身がある場合は常に
「精算する」というか、買い物フェーズに行くボタンが必要かなと思うけど。
0377名無しさん@お腹いっぱい。
垢版 |
02/02/20 16:58ID:???
reply-to:ツ蟆・
この度はご注文ありがとうございます。このメールはご注文いただいた方に自動的に送信
される

確認メールです。追って店主よりご連絡致しますので、ご注文の内容をご確認の上、今し
ばらく
お待ちください


・・・メールが文字化けしているかな?
0378名無しさん@お腹いっぱい。
垢版 |
02/02/20 23:11ID:???
menu.cgiが吐くMETA
<meta http-equiv=content-type content=text/html; chaset=EUC-JP>
になってるけど、
<meta http-equiv="Content-Type" CONTENT="text/html; charset=EUC-JP">
とクオートせんとばけちゃうよ。スペース入ってるから・・・

あと、「買い物を続ける」のリンク色が背景に溶けこんでて見にくいな。

ま、いずれも小さなことだ。よくやったね!
0380無謀者
垢版 |
02/02/23 19:41ID:???
ページ作成時に既存の画像ファイルを使えるようにアプロダ以外にファイル名指定
を可能にしました。また、商品やページを書き換える際に画像を削除できなかったので
(てかそうしちゃうと弊害もありそうなので)画像管理用のメニューを用意して
必要無い画像ファイルを削除するプログラムを追加しました。
ひとまずこれで「完成」という事にさせていただこうかと思います。(V1.00)
ファイル名を変えたのでアクセス用URL変更になりました
ttp://cgitest.s7.xrea.com/cgi-bin/login.cgi
パスワードは123です。


さて調子に乗ってCGIZooあたりにシェアで登録してみようか・・とか思ってるのですが・・・・
0381厨房
垢版 |
02/02/23 19:44ID:bztVw72v
顧客情報のファイルって、パーミッションを適切に設定しても覗けるんですか?
テキストじゃダメなんでしょうか。
0383ぷうすけ
垢版 |
02/02/23 22:41ID:aACc4Jsl
perlで、画像貼り付け可能な掲示板を作ろうと思ってます。
ユーザに、画像のURLを入力させて、遠隔地にある画像を
表示するわけです。このような場合に、その遠隔地にある画像の
サイズ(ピクセルサイズ)を取得することはできますか?
小さいサイズの画像に制限したいのです。画像ファイル(GIF)の
ヘッダ数バイトを取得できればいいのですが、もし可能ならば、
方法を教えてください!
0384名無しさん@お腹いっぱい。
垢版 |
02/02/24 00:57ID:XskoKYES
>>383
7〜8バイト目にwidthが、9〜10バイト目にheightが入ってる。
位置が固定だから楽。(JPEGは可変。)
0385名無しさん@お腹いっぱい。
垢版 |
02/02/24 01:37ID:???
画像はローカルじゃなくて別サーバーか。
一般的なサーバーにLWPは入ってないだろうから
単純にSocket開いてreadすればいいのでは。力技だけど。
あ、でもSocket自体普通のプロバイダじゃ使えなかったりするな・・・

そういえばPNGもサイズの位置は固定だね。
0386名無しさん@お腹いっぱい。
垢版 |
02/02/24 20:49ID:???
「フリー」ウェアの精神は最近廃れているのだろうか。
自分を育ててくれたネットに対しての貢献というか恩返しというか、
後塵のために自分も・・・・・・まあいいや。
0388結構出ていた者の愚痴
垢版 |
02/02/25 03:49ID:???
設計から実装まで、果てはβテストからデバッグまでここで聞いてたのになぁ。

「フリーで配布しているものはない」「知人に頼まれて急いでいるがPerlは未経験」
というから、ちょっと調べればすぐ解るようなことも教えてきたのにな。

無謀者が苦労に相応した報酬を受け取ることに異論はないよ。
教わろうがなんだろうが今回のCGIは無謀者が作ったんだからさ。

だけどさ、なんか寂しいよな、こういうのって。>^(無謀者)
0389名無しさん@お腹いっぱい。
垢版 |
02/02/25 03:57ID:???
このスレにいた人には無料で配ると、不満がでなくなる上テスターまで確保できるんだぜ(笑)
そういう腹芸をこなさないとだめだな。
0390名無しさん@お腹いっぱい。
垢版 |
02/02/25 05:12ID:???
ここまで作ったんだからシェアにしたいと思うのも人情でしょうけど、これまで
一から無償で教えてきて下さった人たちが、寂しい思いをするのも分かるような
気がします

Perl初心者なのに、ご友人のためにショッピングカートを作ろうと、頑張られて
いるのは偉いなぁ、と影ながら応援していましたが、ここに来て、突然にお金に
対する色気を出してくるのも、うーん、と思ってしまいます
シェアにするのが悪いとかでなく、無謀者さんが一生懸命作られたcgiを無償で
欲しかったからというわけでもなく、なんだか、うーん、なのです(^^;)

うーん、と思う他に、少し悲しいのは、これからこの板で質問する人たちが

「お前も、完成が近づいたらシェアにするとか言いだすんじゃないの?
 なんで、他人の金儲けに俺らがタダで協力しないといけないのよ?」

と思われることでしょうか
まあ、簡単なことも自分で調べない教えて君が減って、むしろ良かったりする
のかも知れませんが(^^;)

ただ、私なら、自分で作ったcgiなんて信用できないので、私用に使うのなら
ともかく、他人に使ってもらおうなんて、恐くてとても考えられないのですが、
無謀者さんはその点、勇気があるなぁ、と純粋に感心しました
0391名無しさん@お腹いっぱい。
垢版 |
02/02/25 05:16ID:???
ところで、自分は、欲しいcgiがあったら海外の物を探して、適当に日本語化して
使うのが主なので、よく知らないのですが、シェアのcgiって、そんなに需要の
あるものなのでしょうか?
無謀者さんのおっしゃってたcgizooを見ると、結構な数のシェアcgiがあるよう
ですが・・・
0392名無しさん@お腹いっぱい。
垢版 |
02/02/25 05:29ID:???
>391
実際あるよ。
というかね、個人に対する需要はともかく、やっぱCGIていうのは、Webデザインとか
設計の問題とかがあって「オーダーメイド」なものなんだよな。
んで、CGIとか出しておくと、オーダーが入る。
お金払うからこういうもの作ってくれ、とかね。
儲けというか、良い小遣い稼ぎにはなる。
0393名無しさん@お腹いっぱい。
垢版 |
02/02/25 08:08ID:???
115 :参加するカモさん :01/12/21 19:46
http://gotonext.cool.ne.jp/gazou/hiroyuki02.jpg
ひろゆき、歯まっ黄色!!
歯糞だらけ!!びっくり!!(・∀・)キタナイ!!ビークリ!!

ひろゆきへ

歯みがきしましょうね・・・・

156 :参加するカモさん :02/01/08 14:08
>>115
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死

157 :参加するカモさん :02/01/08 14:11
>>115
呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪
呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪
呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪
呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪
呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪
呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪呪
0394名無しさん@お腹いっぱい。
垢版 |
02/02/25 09:57ID:jnXGNVbP
卒業研究でショッピングシステムとか作るってのは今更というカンジかなぁ。
0396名無しさん@お腹いっぱい。
垢版 |
02/02/25 10:56ID:???
シェアで配布でもいいんでない?
その後いろいろな問題にぶちあたりまたこの板を利用して質問してくることだろう。
何度かそれを繰り返して一人前になったらここで同じような疑問をもった人間に教
える立場に変わってくれればいいんでない?

俺はオーダーメイドのものしか作らないけど、配布に耐えれるだけのものをつくる
にはかなり大変だからねぇ、まぁがんばれよってことだ。
0397無謀者
垢版 |
02/02/25 11:24ID:???
ども。やはりシェアに関しては予想通りお叱りを受けてしまいましたね。
自分でもまだ迷っています。まシェアにしたからって必ず売れるというもんでも
ないでしょうし、何人かの方がおっしゃるとおり実用にどこまで耐えられるものなのか
まだ未知数ですし・・・
とりあえず、開発するきっかけとなった友人の所では取り合えず設置しておいた
フリーの奴で「使い方なれてきたからとりあえずこのままで」っていわれて
行き場がなくなってしまいました(w 
現在は、デバッグしながら細かい機能実装してます。捕らえずサーバーパス以外の
ほとんどすべてをWEB上で設定できるようにしました。
0398名無しさん@お腹いっぱい。
垢版 |
02/02/25 12:51ID:???
「調子に乗るなボケ」って意見がひとつも出ないのは、素人が作ったこの程度のスクリプトでも
シェアとして成り立ってしまう可能性があるからなんだろうな。
実際ZOO見てみてもカートってカテゴリだと登録数少ないしな。
値段によっては結構売れるかも知れんぞ
0401名無しさん@お腹いっぱい。
垢版 |
02/02/26 09:50ID:???
金をとるなら、取れるなりのものを作ってからにしてほしいと思う。
フリーのモノのより落ちるんじゃあダメじゃないかと。
機能の数ということではなく、ね。
0402名無しさん@お腹いっぱい。
垢版 |
02/02/26 12:27ID:???
オープンプラットフォームということで、
アップローダーは最低でもサイズ制限、MacBinaryぐらいは対応していないと、
シェアのWebアプリとはいえないと、「個人的には」思います。
0403名無しさん@お腹いっぱい。
垢版 |
02/02/26 14:32ID:pfD6iFiv
WEBショップを開店しようと思ってるので
無謀者さんのカートCGIに興味あります。
でもどこまで実用に耐えられるものなのか不安があるので
シェアだと手が出ないです。
問題なく運用できて売り上げがあがったら
幾らか払っても良いですが。
0404無謀者
垢版 |
02/02/26 17:27ID:???
>403
試用していただけるなら喜んでお出しします。もちろん無料で。
>402
マックバイナリーは一応対処してるつもりです。まだMACでの最終確認してないですが。
サイズ制限に関しては表示部の表示の自動縮小を含め研究中です。
KENT氏の&JpegSizeあたりを改造(ぱくり?)しようと思ってます
0406無謀者
垢版 |
02/02/26 18:04ID:???
配るというか、モニターしていただけると助かるな・・・という感じでして。
ここの方々には何もない常態からおんぶに抱っこでお世話になっていますので。
万が一、間違って「使ってみたい」って人がいらっしゃれば是非試用していただいて
ご感想をいただきたいのです。その結果「ダメだ使い物にならん」と思ったら
破棄していただければ良いですし。少しでも使えそうなら不満点を指摘していただき
改良の参考にさせていただければと。
0407名無しさん@お腹いっぱい。
垢版 |
02/02/26 21:59ID:???
なるほど、そこまで考えて改良を続けていくならシェアでも
いいと個人的には思う。シェアCGIなんてほとんどサポート代
みたいなもんだろうし。まあがんばりや。
0408名無しさん@お腹いっぱい。
垢版 |
02/02/27 14:42ID:3PBgKA3T
送料について、「北海道/東北/関東/…」ていう地域のくくりは
固定にしていいの?
宅配業者の価格体系よく知らないからわからんけど、
もし「同じ関東でも東京・神奈川・千葉はxxx円、それ以外はyyy円」とか
いう体系がありうるなら、sub_soryo()関数内で固定で持ってる県名も
ユーザが指定できるようにするのがいいのではないかと思ふ。
(上のような細かい地域指定機能はサポートしないという仕様にする
or カスタマイズ別料金 つーのももちろんアリだとおもうが)
0410388
垢版 |
02/02/27 22:23ID:???
行き場がなくなったのは気の毒だね。
「使い方なれてきたからとりあえずこのままで」ってそれ、あるんだ。
「オレは何のために開発したんだよと小一時間‥‥」てヤツだよな。
ま、そーゆー事情ならいっちょシェアにでもして見るか、という気持ちもわかるわ。

そーゆーコトは先に言えよ、な。
>>380は明らかにチョーシぶっこいてるようにしか聞こえなかったんで一言
言いたくなったのさ。
0411応援者
垢版 |
02/02/28 17:03ID:???
 まぁせっかく作ったんだから、全く儲けちゃイカンとは言わないが……
 公共に還元って事でさ、売り上げの一定比率で2ch運営に寄付って
のはどうかね?

 イヤ、実際受け付けてくれるのかどうかは知らんのだが……
0413nobodyさん
垢版 |
02/03/15 13:44ID:???
俺らは利用されていたのかよ(;´Д`)
0414nobodyさん
垢版 |
02/03/16 10:10ID:???
ここは無神経な1に裏切られた気分の皆さんが
寒々しく愚痴るスレになりました
0415nobodyさん
垢版 |
02/03/16 13:38ID:???
いや別にシェアウェアにするのは構わないと思うよ。
問題なのは、なぜここでそれを表明するか、なんだよな(笑)

こういう反応になっちゃうの、わかってるでしょうよ。もったないなぁ、いい雰囲気なすれだっただけに
0416無謀者
垢版 |
02/03/16 16:34ID:???
お久しぶりです。年度末はつらいですなぁ・・・
いろいろ、不快な思いをさせて申し訳ございません。
とりあえず言い分けさせていただくと、自分としては
シェアを作ろうってつもりではじめたわけではないですし
そもそもここまでご協力いただけるとは、正直思いませんでした。
結果として「利用された」と思われるような発言をしたのは私の思慮不足
だったとは思いますが、しらばっくれて公開しちゃうってのは
さらに不義理な行為だと思ったので、たたかれるのを覚悟で表明させていただきました。
 ここは私がPerlを始めるにあたって挫折しない道を教えてくれた場所ですし、
まだまだわからないことだらけの自分に有益な情報が山ほどあります
ちょくちょく覗いてますし、またお力をお借りすることもあると思います。
今後ともよろしくお願いいたします
0417nobodyさん
垢版 |
02/03/17 19:11ID:???
Perl始めようと思ってここにきたんだがこのスレ為になったYO!
読み物としては楽しかった。ただ>>1のシェアウェア化はいただけないが。

漏れだったら今回作ったものはフリーとしておいてこのスレで得た知識でで
もう1本気合いの入ったものをかき上げてそれをシェアウェアにするなぁとか思った。
0418nobodyさん
垢版 |
02/03/18 00:06ID:???
儲けを一人占めですか?
さぞ満足でしょうね
0419nobodyさん
垢版 |
02/03/18 00:21ID:???
そうだ!
ここにくるみんなをうまく利用して(おだてて)つくらせる。
これおいしいアルね!
0420nobodyさん
垢版 |
02/03/18 12:10ID:???
おれかなり協力したけどシェアでええぞ
シェアでもフリーでも公開してみてわかることはたくさんあるからとにかく公開しろ
んでその問題などをここでまた相談しろ
どうせここまでボランティアやってきてやったんだから面倒みたる。
1が儲けてうらやましいやつは自分で作ってシェアにすりゃいいだろ、そいつらにも
惜しみなく協力してやるよ。
0421nobodyさん
垢版 |
02/03/18 12:14ID:???
正直、あんなしょぼいCGIで儲かるとは思えない
0422nobodyさん
垢版 |
02/03/18 13:17ID:???
シェアにするって事は、そのソフトに関して責任を持たなければいけない
って事だ。もしスクリプトの不具合が原因で利用者に損害が出た場合は
責任をとらなければいけない。
俺はそれが怖くてシェアなんかには出来ないけどな。
しかもショッピングカートなんて一番被害が大きくなりそうだし。
0423nobodyさん
垢版 |
02/03/18 13:25ID:???
この無謀者のレベルでシェアって、とんだお笑い。
0424nobodyさん
垢版 |
02/03/18 13:50ID:???
>>421-423
どうい
でも、そんなシェアが氾濫してるってのもまた現実
0425nobodyさん
垢版 |
02/03/18 20:07ID:???
>>422 も言ってるが、
他人に聞きまくって作ったスクリプトで、
不具合とか出た時にサポートとか出来るんか?
つか、また聞きにくるんかな?w
0426nobodyさん
垢版 |
02/03/19 13:41ID:???
シェア VS フリー 論争は別スレたてれ
0427nobodyさん
垢版 |
02/03/19 15:56ID:???
>>426
れすが30個くらいついて、そのうち20個が煽りで、しかもすぐに放置されて風化するような
スレッドは要らないよ。
0428nobodyさん
垢版 |
02/03/25 14:25ID:8K5bOpWg
>>420がいいこと言った!
0429428
垢版 |
02/03/25 14:26ID:???
ageちまった・・鬱打氏脳。。
0430無言某者
垢版 |
02/04/01 21:41ID:???
長い間 本スレッドにおつき合い頂いた皆さん。 本当にありがとうございました。

私は、本日(有)無謀社 を設立。皆様にお手伝いいただいた、ショッピング
カートを主力商品に据え、アプリケーション・サービス・プロバイダーとして、
営業を開始いたしました。
思えば、1月の初旬にスレを立てて以来、こんなにも急速に成長できたのは、
ひとえに皆様の暖かいご支援と、数多の叱咤激励あればこそと痛切に感じます。
この場を借りまして御礼申し上げると共に、今後ともよろしくご指導いただけ
ますようお願い申し上げます。

                   平成1x年 4月1日  無言某者






って、話ができるぐらいになったらいいなぁ (w
オイラもなんかシェアウェア作るか……
0431 
垢版 |
02/04/03 02:46ID:sIOgKBxA
おれ、何回か質問に答えたけど。

べつに、シェアウェアでもいいんじゃないの? 公開したいなら。
気兼ねするこたないだろよ。

新規性のあるライブラリとかなら、フリーで使わせてほしいところだけど。
ショッピングカートは、よくあるジャンルだし。
ライブラリなら、>>1 もフリーで公開しただろう。

そもそも、みな、Perlを商売のタネにしてきたんじゃないの。
Perlはフリー。
Linux も Apache も BIND も Sendmail も
PHP も PostgreSQL もフリー。

おれら、そういうの使って商売してるんじゃないの?

>>1 のプログラムくらい、シェアで公開したがってるなら、
プレッシャーかけてやるこたないだろよ。
0432nobodyさん
垢版 |
02/04/05 02:43ID:???
世の中、小物チンカス揃いだってことが良くわかる良スレだなあ。
0433nobodyさん
垢版 |
02/05/25 03:26ID:kgBAlEd/
保全age
0434nobodyさん
垢版 |
02/07/07 10:35ID:VzeLfRBw
ショッピングカートについて質問させてください。

DOS/Vパソコンショップ等で良くあるBuild to Order式の
ショッピングページは、作るのが難しいでしょうか?
0435 
垢版 |
02/07/07 16:28ID:???
ショッピングカートの質問に答えさせてください。

>>434は何が言いたいかわかりません。
技術的に問題が生じた場合はここで質問してください。
設置で問題が生じた場合は他の板へ逝ってください。
0436434
垢版 |
02/07/07 21:44ID:???
有難うございます。

たとえば1台のパソコンをWebショップで注文します。
ショップブランドPCだと、CPUは何GHzとか、
ハードディスクは何GBだとか、スペックの変更が
出来て、請求金額も自動計算されて・・・

ってことなんですが、スレ違いですね。スマソ
0438434
垢版 |
02/07/08 13:23ID:???
>>437
かっ、簡単なんスか?!

パーツの価格は毎週1〜2回の価格更新が必要なので、
フリーorシェアウェアのショッピングカートで更新が
容易なものが見当たらないもので・・・
0439nobodyさん
垢版 |
02/07/08 22:25ID:???
>>438
DBかDBもどきのクラスでも作れば簡単だろうが‥‥
0440nobodyさん
垢版 |
02/07/09 12:31ID:???
全部をWEB上でやる必要があるかな?
更新・更新っていうけど、どっかでデータを入力する人が居るわけだ。
それをサイト上でやるか、ローカルでやるか……

Web制作板だけど
http://pc.2ch.net/test/read.cgi/hp/1021096525/l50

M$製品の吐くHTMLはウンコだけど、こういうやり方なら、自分好みのHTMLを
吐くことも可能でしょ?
エクセルにデータ入れた側からHTMLになってるワケだし、PerlやPHPこねくり
回すより遼に簡単じゃないか?
0441434
垢版 |
02/07/09 14:52ID:???
>>440さん有難う。昔、Lotusアプローチでヤったことあります(爆
0442nobodyさん
垢版 |
02/07/11 18:18ID:7WtH334U
ところで、1さんはシェアウェアをはじめたの?
もうかってるのかどうか、知りたいです。
ぜひ、教えてください。
0443通行人
垢版 |
02/07/17 21:28ID:???
コノスレなんか泣けた(w >1以外の方々に敬礼!!
0444無謀者
垢版 |
02/07/24 19:20ID:VTpBlBKc
お久しぶりです。その節はお世話になりました。>皆様
>>442さん
はい、いろいろ考えた末公開させていただいております。全然儲かってません。(w
ダウンロード数、ページアクセス数は結構あるんですがね・・・

で公開してみて皆さんの言っている意味がいろいろわかってきました。
サブジェクトが「教えてください」のメール多数。
書き出しが「初心者なんですが」のメール多数。
BBSへのがいしゅつ質問多数。
etc・・・
それでも、このスレで右も左もわからない私に色々教えていただいた皆様の事を思い出し
可能な限りのサポートをさせていただいております。スクリプトの方もバージョンアップを
重ね、当初のcgi-libを使ったものから、CGI.pmを使ったものに作り変えました。
まだまだ、perl/cgiに関しては初心者の域を出ない状態ですが、四苦八苦しながらも
考えたものを形にする(スクリプトに落とす)事が何とかできるようになって来ました。
全て、このスレで親切に教えていただいた皆様のおかげです。
公開騒動で色々言われちゃったのと、しばらく仕事が忙しかったので、ご報告が大変遅れてしまいましたが、
とても気になっておりました。
この板、スレの住人の皆様がいなければ私がperl/CGIを作れるようになんてとてもならなかったでしょう。
改めて、皆様に御礼させていただきたいと思います。
本当にありがとうございました。m(__)m
0445sage
垢版 |
02/08/07 17:15ID:h42+4xVp
>>444
何回か答えたものだけど。
スレッドたった当初は、本当に書けるようになるとは思わなかった。
あなたの努力の成果だと思うよ。

シェアでの公開も、俺は全然問題ないと思うよ。
Perlは奥が深いし、CGI以外でもいb�「ろな場面で試gえる言語なのbナ、
今血繧煌謦」って腕b繧ーていって演コさい。

で、また2chとかで質問してる人がいたら、あなたの得たノウハウを
書いてあげればいいんじゃないかな。
べつにわざわざ返事は必要ないので、sage
0446nobodyさん
垢版 |
02/08/07 17:27ID:???
>>445
(´-`).。oO(sageはメール欄におながいします。)
0449nobodyさん
垢版 |
02/11/06 20:11ID:oIfkL0/3
ショッシーな質問でスマソ。
ECサイトで例えば指輪の種類がいっぱいあったとします。
それをサイズで分類して並べるのとダイヤ、パールとか石の種類ごと
にならべるのを簡単に実現するのはDBにしてCGIと連携するのが一番
でしょうか?
よろしくおねがいします。
0451nobodyさん
垢版 |
02/11/12 11:43ID:???
>>449
 あんまり 簡単・簡単 言ってくれるな
  手間を掛けない=安価 ではない
 我々の商売は、むしろ省力化に対して金を取るんだから

 自分の手間の代わりに対価を払う気があるなら、案件をまとめて下請けに出すのが一番簡単。
見合う金さえ払えば、とにかく面倒なことは全部引き受けてくれる。

 安価に仕上げたいという意味なら、既存の販売システムで似たような機能の物を探すのが吉
その代わり、全てが望み通りというわけには行かなくなるだろう。

 生産性で言えば、その方法(適当なDB+CGI)で実現は可能なのだから、CGIでも
DBでも既得の技術を使うのが一番「簡単」だろう。
 他に効率的な手法があったとしても、未知の技術に手を出して、既知の技術で作る
何倍もの手間を掛けるなら、意味はない。
 ここの1氏が、既得のPerlを選んだことで、最終的に目的に達しているのがよい例だ。


 で、君は何が望みなのかな?
0453nobodyさん
垢版 |
03/03/31 13:07ID:???
効果が薄いsage保守。名スレだよこれ。
0456山崎渉
垢版 |
03/04/20 06:04ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0458山崎渉
垢版 |
03/05/22 02:09ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0459山崎渉
垢版 |
03/05/28 17:17ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0460nobodyさん
垢版 |
03/06/24 04:46ID:GbEoFmir
ここで人気No.1のAV女優、及川奈央のオマ○コが見れました!!
うぉぉぉぉぉぉ!!!!素晴らしい!!!(*´Д`*)ハァハァ
http://plaza16.mbn.or.jp/~satchel/oikawa_nao/
0461nobodyさん
垢版 |
03/06/25 00:43ID:???
なんかこのスレいいな・・かなり良スレだったみたいだね・・
俺も早く>>1みたいにperlでいろいろやりたいよ
0462山崎 渉
垢版 |
03/07/15 11:11ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0463山崎 渉
垢版 |
03/08/02 02:40ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0464ぼるじょあ ◆ySd1dMH5Gk
垢版 |
03/08/02 05:24ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0465 無謀者=1
垢版 |
03/08/08 02:21ID:1Nhq64L+
久々に来て見たらまだスレが生きててビクーリ
その節はお世話になりました>皆様

只今はPHP+MySQLを勉強中です。
0466山崎 渉
垢版 |
03/08/15 22:41ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0467nobodyさん
垢版 |
03/09/18 19:04ID:???
山崎に保守されている名スレ
必死ぶりに無謀者さん降臨。
でも、大分前だけど。

最近の研究成果の発表とシェアの売れ具合の報告希望。

0469nobodyさん
垢版 |
03/10/22 23:59ID:dXXrgKn8
俺も作りたい!!簡単なやつないの?
0471nobodyさん
垢版 |
03/12/26 05:39ID:fsNzOsf5
自分の過去を見てるみたいで懐かしい気持ちになった。
0472nobodyさん
垢版 |
03/12/26 22:11ID:YF/aPDRf
カートを作ったら、次は決済だけど...皆たまは、どうしてまつか?
0473nobodyさん
垢版 |
03/12/26 23:14ID:???
そんなことはこの板には関係ない
0474nobodyさん
垢版 |
03/12/27 00:49ID:5d14VMQL
でゅうく統合みたいでつね
0475nobodyさん
垢版 |
03/12/27 17:33ID:kxaiYOlV
会社の業務として精力剤のみの
ショッピングカートをPerlで作りました。
DBは一切使わず、テキストのみで注文を記録
してます。
0478nobodyさん
垢版 |
03/12/31 15:00ID:NWo9iZaK
>>472
商品と引き換えです
0481nobodyさん
垢版 |
2005/06/24(金) 11:53:43ID:???
板とは直接関係ない話ですが
クレジットカード決済のショッピングサイトを建設しようと思っています。

オンラインでカード決済をするには各カード会社に加盟すれば
カード会社のサーバを通して決済ができるのでしょうか?
0482nobodyさん
垢版 |
2005/12/31(土) 04:01:39ID:N2aQNlWd
読みたいので保守
0485nobodyさん
垢版 |
2005/12/31(土) 11:11:02ID:8kJUCZVK
2時間かけて読んだけど、このスレ、勉強になった。
0486nobodyさん
垢版 |
2006/01/04(水) 21:14:54ID:???
入金システムとかはやっぱクレジットカードとかのほうが無難?
Webマネーを取り込みたいんだけどそれについて書いてあるいいサイトないかな?
0487nobodyさん
垢版 |
2006/02/07(火) 23:27:16ID:???
     メール送信フォームを作っています。

      #名前
      <tr>
      <td class=r align=right width=110>名前 <font color=red>※</font></td>
        <td class=r width=440>
      <input type=text name=name size=30 style='ime-mode:active' value="$cnam"></td>
      </tr>


      # 項目1
      print "<input type=radio name=hoge value=\"A\" checked>A \n";
      print "<input type=radio name=hoge value=\"B\">B \n";


      リターンメールで
      $mbody .= "名  前 = $in{'name'}\n";
      はメールの本文にちゃんと出るのに

      $mbody .= "項目1 = $in{'hoge'}\n";
      は表示されません。。

      考えられるミスがわかる方ご指摘お願いいたしまするー
0488nobodyさん
垢版 |
2006/06/04(日) 01:38:23ID:0wfDKiV5
選択肢から複数選択し、OKボタンを押すと、それら選択された
アイテムに対して、何らかの処理を施すといったことをやりたいのですが、
これらをperl CGIで書かれた例があれば教えて頂けないでしょうか?
0489nobodyさん
垢版 |
2006/06/04(日) 04:07:21ID:???
>>488
アンケート系CGIのソース見れば一発だと思われ
0490nobodyさん
垢版 |
2006/08/05(土) 10:56:12ID:???
なんだこのスレ、すげぇ為になった。
0494nobodyさん
垢版 |
2009/02/11(水) 00:05:05ID:jRXET2Df
てす
0495nobodyさん
垢版 |
2009/02/11(水) 00:06:45ID:???
おお、まだこのスレ生きてたのか・・・・
懐かしい。

0496本当の1
垢版 |
2009/02/11(水) 01:03:14ID:???
書き忘れたけど。>>495は「1」
このスレを建てた「無謀者」でした。

もう8年前の事なんだな・・・・・
この後PerlやPHPでいろいろ書きました。
おかげさまで仕事の幅も広がってたんですが、その後職を変えたんで
しばらくスクリプトも書いてないです。

久しぶりになんか作りたくなりました・・・・
読み返してみて、あらためて当時いろいろ教えてくれた皆様に感謝の気持ちで一杯です。

当時レスしてくれた皆様、今でもこの板にいらっしゃるんでしょうか?


0497nobodyさん
垢版 |
2009/02/11(水) 02:35:59ID:BZWLNYcB
>>496
お疲れ様。
まぁこのスレでもサカナに一杯どうや?
0498nobodyさん
垢版 |
2009/02/13(金) 23:12:55ID:???
時間かけて全部読んだよ。良いスレだなあ。
0499昔の1
垢版 |
2009/02/14(土) 17:59:29ID:???
>>497
当時の方ですか?

このスレは自分のその後のキャリア形成にかなり影響を与えてくれました

今だったら、EC-CUBEやZen Cartがあるから、自分で作ろうなんて思わなかったろうなぁ・・・
当時本当に「はろーわーるど」だった自分が曲がりなりにもスクリプトを書けるようになったのは
このスレのお陰です。




0501nobodyさん
垢版 |
2009/09/14(月) 12:50:50ID:???
>>500
EC-CUBEってMVCフレームワークなんて則ってるの?

宣伝ブログかなんかかも知れ無いが、謎。
0502KQipnpxNq
垢版 |
2009/10/23(金) 22:20:41ID:???
Lately, he's had no shame in comparing the Obama Administration and the Democratically-controlled Congress to the Third Reich. ,
0503nobodyさん
垢版 |
2009/12/16(水) 23:15:22ID:SOpXjuw3
>>1
ショッピングカートCGIをパールで作って今も使ってるおれがきますたよと。
0504元祖1
垢版 |
2010/01/14(木) 23:48:10ID:5vc4DZXT
まだあるのか・・・・
ちょっと上げてみよう
0505nobodyさん
垢版 |
2010/01/15(金) 12:54:09ID:???
八年前に俺が書いたレスと思われるものが・・・ナツカシス。みんあ元気かな
05061です
垢版 |
2010/01/17(日) 22:21:41ID:???
>>505さん
当時はお世話になりました。
今の自分があるのはあなたのおかげかもしれない・・・
05071
垢版 |
2011/01/13(木) 23:05:15ID:VqcUcdJq
やべえ、まだこのスレあるのか、、、
懐かしすぎる


0508Perl忍者 ◆M5ZWRnXOj6
垢版 |
2011/01/13(木) 23:11:15ID:???
なんだよこれ懐かしいんだけどw

ショッピングカートとか1990年代を思い出すよ
0510nobodyさん
垢版 |
2012/07/28(土) 08:39:34.21ID:c5r4bQgx
⊂二二二( ^ω^)二⊃
0511nobodyさん
垢版 |
2012/10/05(金) 04:32:03.93ID:fQTvuJ1n
非政府組織
0512nobodyさん
垢版 |
2013/04/26(金) 10:58:43.41ID:fbTq61W2
504:名無しさん@お腹いっぱい。ichiichihannousichaundanebakawww2013/04/26(金) 10:25:44.64 ID:XTr4EGdyI
直接お店やカード会社に問い合わせすりゃいいのに、
安定の馬鹿ばっかwww
様々な不適合者共の巣窟。
クズの集団性乙www
0513スレ立てた1
垢版 |
2016/09/06(火) 06:47:13.48ID:/9KGmeVt
懐かしい。このスレなんで消えないんだろう、、、
0514nobodyさん
垢版 |
2016/09/21(水) 20:41:26.18ID:c0eIfhbc
日本から始まる世界的株式市場の大暴落

ウォールストリートの大暴落(1997年)につながったプロセスが、
いま日本におけるプロセスの中に写し出されており、
再び株式市場の暴落につながるでしょう。
終いには政府にも支えることができなくなり、どん底に落ちていきます。
日本がアメリカ国債の25%を引き出すと世界経済が破綻し、
マイト レーヤは出現するでしょう。
マイト レーヤはまずアメリカに現れ、それから日本です。
彼は日本語で話し、非常に物静かなやり方で話します。
彼の最初の控えめな態度に混乱してはなりません。
非常に間もなくマイト レーヤを、テレビで見るでしょう。
マイト レーヤは毎日テレビに現れ、質問に答えるでしょう。
彼は「匿名」で働いております。


マイト レーヤが公に現れるにつれてUFOが、とてつもない数で姿を表すでしょう。

矢追純一

「宇宙人側からの申し入れは、
核の利用と戦争をやめ宇宙人の存在を公表しなさい。
ロシアという大国の首相がね、2回も言ってるんだからね。」


抑制のない成長に基づく現在の経済の終焉を見るでしょう。

日本国民はどう対処すればいいのか。新しい政権は民意を反映し、適切な食糧、
住宅の供給、健康管理、教育が最も重要な責任となるでしょう。そして最後に防衛です。
国民の意志を裏切ることは、極端な場合、自殺や殺人にまでつながります。
民衆の指導者は職業的政治家ではない人々から見つかるのです。
0515nobodyさん
垢版 |
2017/12/30(土) 15:53:56.58ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

NMZRTM7OXN
0516nobodyさん
垢版 |
2018/06/21(木) 01:07:47.47ID:VtSVJLaY
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

MOH2J
レスを投稿する


ニューススポーツなんでも実況