☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
上下前次1-新
281: 名無しさん@お腹いっぱい。 02/02/04 23:44 ID:??? AAS
>>279
HTTPヘッダのところでも指定した方が良いよ
282: 名無しさん@お腹いっぱい。 02/02/05 13:50 ID:??? AAS
>278
そうだね、現状ではサーバを製作者側で指定できない限りはPHPはまだ使えないね。
シカーシPHPも4になってほぼ機能的に出尽くした感があるし、ぼつぼつ標準設置の
レン鯖増えてきたし、WebアプリののRADとして、Perlとはすみわけしながら普及
しそうな勢いがあるな。
ところで設置URIは、上記と同じ
外部リンク[htm]:cgitest.s7.xrea.com
でいいのかえ?最終確認画面で文字化けしちょるようだが
283: 名無しさん@お腹いっぱい。 [ ] 02/02/05 15:21 ID:??? AAS
なかなかのデザインだのう。
はよ完成して動くことを祈る。
284: 名無しさん@お腹いっぱい。 02/02/05 17:43 ID:??? AAS
Mac/iCab2.71で見ると、購入ボタンの次の画面でunknown Content-Type: が出よりますな。
285(2): 無謀者 [age] 02/02/05 22:33 ID:??? AAS
CGI中のHTMLヘッダで文字コードを指定する場合って、たとえばeucにしたいのなら
"content-type: text/html;charset=EUC-JP\n\n";
で良いんでしょうか?ここで言われたので、ぐぐるで検索掛けてみたら
上のような書き方がちらほらあったので。ただ「文字コード、charset」とかで検索すると
ほとんどが<META>タグの記述方法になってるので、いまいちこれでいいのが自信が無い・・・
いまさらながら気が付いたんですが、どの本読んでもhtmlヘッダ
に関しては
"content-type: text/html\n\n"
を書けとしか書いてないんですよね。散々文字コードの事は書いてあってjcode使って
コンバートしろとかは書いてあるのに・・・・
286: 無謀者 02/02/05 22:34 ID:??? AAS
スイマセンsage忘れ・・
間に合いませんでした。
287: 名無しさん@お腹いっぱい。 02/02/05 23:04 ID:??? AAS
>>285
あってる。
ただ、;のあとに半角スペース入れた方がいいのかな
意味あるのかは知らないけど、みんなやってるということで
print "Content-type: text/html; charset=euc-jp\n\n";
でもmetaにも書いてくれると親切だ。
288(1): 無謀者 02/02/05 23:15 ID:??? AAS
ありがとうございます。ヘッダとMETA両方にしつこいくらいに書きます(w
しかし、なんで入門書にこれが書いて無いんですかね?
文字コードの自動判定なんてまともに出来ないヴァカブラウザがゴロゴロしていて
純粋なHTMLはS-JISで書くのが一般的(?)なのに・・・
いくらフォームデータエンコードしても、CGI内のHTML表示部分で
ちゃんと指定しとかなきゃ行ったり来たりしてる間にブラウザも迷うっちゅねん!
と思うのですが・・・・
ところで、皆さんはCGI内のHTML部にMETAとか<HTML></HTML>書くときに
何処に書いたらいいかわからなくなる事無いですか?
一箇所で完結すれば良いんですがHTML出力を前半と後半をサブルーチンで
省2
289(2): 名無しさん@お腹いっぱい。 02/02/06 00:26 ID:??? AAS
>>288
そうだよ両方書くんでちゅ。
それが当たり前でちゅ。
ていうかここで2回も書いたんでちゅ。
ヘッダ出力とフッタ(は要らんかもしれんが)を
サブルーチンとかモジュール化したら?
CGI.pmでもヘッダ出力できるけど、
日本語の場合、文字コードの指定が必要だから
ジブソで用意しました。
290: 名無しさん@お腹いっぱい。 02/02/06 00:33 ID:??? AAS
>>289
うろ覚えだけど、最近の CGI.pmなら
文字コードやContent-Typeとかも
指定できた気がする
291(1): sage 02/02/06 10:33 ID:??? AAS
えらいぞ!短期間でよくここまで!
後は289のいうとうりモジュール化することを進めるよ!
あとでつかいまわしができるよ!
292(1): 名無しさん@お腹いっぱい。 02/02/06 10:48 ID:??? AAS
CGI.pmでヘッダ出力できるよ。
#!/usr/bin/perl
use CGI;
$query = new CGI;
print $query->header(-charset=>'Shift_JIS');
おいらは最初にヘッダを出力しちゃってそれぞれの出力終了時にフッダの
サブルーチンに飛ばしてる。
293: 無謀者 02/02/06 16:55 ID:??? AAS
>>289
>ていうかここで2回も書いたんでちゅ。
そうでしたね。いや、読んではいたんですが、どうしても>>285の方法が
はっきり自信持てなかったもんで・・・・
>CGI.pm
その辺の事は今後順次勉強していきたいと思います。とりあえずはできるだけ
自分で書くというのも勉強になりますので・・・
>モジュール化
プログラム経験が無いのでモジュールと言うものの概念がいまいちワカランのですが
「良く使うものをサブルーチンにして、それを別ファイルに纏めておく」と言うことで
省8
294: 名無しさん@お腹いっぱい。 [ ] 02/02/06 17:06 ID:??? AAS
>>292
print $query->end_html
これで終れる
295(1): 259 02/02/06 20:31 ID:??? AAS
>「良く使うものをサブルーチンにして、それを別ファイルに纏めておく」
>と言うことで良いんでしょうか?
サブルーチンをファイルにしてメインからrequireするあたりがモジュール化の第一歩。
そこから名前空間の概念覚えて、別ファイルのほうpackage宣言してみて、って
少しづつ覚えていけばいいと思うよ。(その先がまだ長いんだけれど‥‥)
いきなり.pmモジュールなんていうとワケわかんなくなるからね。
で、商品ページの方はどうよ?
296(1): 無謀者 02/02/06 21:21 ID:??? AAS
>>295
なるほど、そんな単純なものではなさそうですね>モジュール
>商品ページ
いかんせん仕事の都合で間があいちゃったんで全然出来てません。設計書を作ってる
最中だったんですが、今読み返してみるとようワカラン(w
もう一度1からやり直しです。最初はフォームからHTML生成しちゃおうと思ったんですが、
在庫数をカウントしたいので、cgiからdatファイルから読み出してHTML表示させるしか無さそう・・・
HTMLにHiddenで入れようとも思ったのですが、商品が減る度にHTML書き直させなきゃならなそうだし。
ただ、全てをCGIにやらせると鯖の負荷も高くなりますよね?どうしたものか・・・・
297(5): 259 02/02/07 15:02 ID:??? AAS
>296
open (READ,$filename);
@data = <READ>;
close (READ);
#@dataに対して必要な処理
open (WRITE,">$filename");
print WRITE @data;
close (WRITE);
式でやると、.datの件数が増えると負荷もかかるしメモリも喰う。
これは鯖屋さんに嫌われる。(警告が来たり、いきなり垢止められたりする)
省22
298: 無謀者 02/02/08 21:13 ID:VrHm3ZfY(1) AAS
えーとパスワード認証してる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){
#−−−メニュ画面ーーーーー#
省4
299: 名無しさん@お腹いっぱい。 02/02/09 09:04 ID:??? AAS
ハァ?
メニューに飛ばす?
なんか意味わかんねぇ
300(1): 無謀者 02/02/09 11:30 ID:??? AAS
すいません。書き方悪かったですね・・・・流れとしては
フォーム(HTML)からパスワード入力>menu画面(menu.cgi)>データ入力
>データ入力後refreshでもう一度menu画面に戻る。
てのをやりたいんですが、戻り先をmenu.cgiにするのにパスワード
を渡す方法をがわからないんです。そもそもFORMのinputで渡すような項目を
Formを使わずに渡す方法ってどんなのがあるんでしょう?
上下前次1-新書関写板覧索設栞歴
あと 217 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s