CGIだけど、なんか質問ある? Part 9
■ このスレッドは過去ログ倉庫に格納されています
0001ななし ◆E6qQ.htN7o
03/01/03 02:56ID:H5ub4PWW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part18
http://pc.2ch.net/test/read.cgi/php/1037797479/l50
過去ログ・関連スレッドは >>2-5 あたりに
0694nobodyさん
03/03/15 02:59ID:???ケントのは読み込んでからデータを追加してファイル丸ごと上書きだろ。
別に追加でも構わないけど、下のじゃロックもかけてないからダメだ。
0695nobodyさん
03/03/15 03:08ID:???追加でもかまわないんですね。
どうもありがとうございました。
あと、ロックですが、
前後に&lock;と&unlock;
してあるんで大丈夫と思います。
0696nobodyさん
03/03/15 03:15ID:???0697nobodyさん
03/03/15 03:38ID:5hlN9xGBドメイン検索エンジンは、通常どういった仕組みで作られて
いるのでしょうか。
検索してもこれといったものが見つからなかったため、
質問させていただきました。
すみませんが、どうか宜しくお願いします。
0698nobodyさん
03/03/15 03:42ID:???0699nobodyさん
03/03/15 04:08ID:???何を知りたいのだろう?
0700nobodyさん
03/03/15 04:21ID:5hlN9xGB説明不足ですみません。
お名前.comのような、.com等のドメインが空いているか
サーチするプログラムを自前で作りたいということです。
0701nobodyさん
03/03/15 04:22ID:???見たいな事をしたいんですが、どのように書けばいいでしょうか?
0703nobodyさん
03/03/15 04:27ID:???0706nobodyさん
03/03/15 18:05ID:sA3oWGif質問です。
よく吐きだしたhtmlを直接表示させる掲示板cgiがありますけど、その吐きだした
htmlをいったんファイルとして保存して、そのhtmlを掲示板として表示させるように
するにはどうしたらいいんでしょ?
0707nobodyさん
03/03/15 19:04ID:???そのまんま。
答え出てるじゃない。
0708nobodyさん
03/03/15 19:16ID:???> 吐きだしたhtmlをいったんファイルとして保存して、
> そのhtmlを掲示板として表示させるようにするにはどうしたらいいんでしょ?
htmlファイルを作る処理を終えたら、そのhtmlファイルに飛んだらいい話かと。
Perlなら print "location: URL\n\n";
0709706
03/03/15 19:57ID:1k1hrfmMしたいことの論理が正しいことは分かりましたが(w、具体的なやり方が
分からないのでし。
>>708
>htmlファイルを作る処理を終えたら、そのhtmlファイルに飛んだらいい話かと。
>Perlなら print "location: URL\n\n";
この行はどこに挿入したらいいんでしょうかぁ? フッター作成の後?
それともcgiの最終行ですか?
0711706
03/03/15 20:10ID:1k1hrfmMすみません
>printで画面に表示する部分をファイルに出力に改造して、
これの具体的な書き方を教えてください。
それから受け手のhtmlファイルですけど、何か準備は要りますか?
0712nobodyさん
03/03/15 20:16ID:???0713nobodyさん
03/03/15 20:18ID:???自分でスクリプト書くスキルないのならKent-Webとか
CGIスクリプト配布サイトにあるの使っては?
下のが記事部分をHTMLファイルで出力してるタイプ。
http://www.kent-web.com/bbs/sunbbs.html?
0714706
03/03/15 20:20ID:1k1hrfmM本来の目的は、掲示板cgiが生成して表示した掲示板のhtmlでは検索エンジンが
拾って来れないようなので、それを拾ってこれるようにするためです。
0716706
03/03/15 20:27ID:1k1hrfmMいや、URLの末尾がxxx.cgiになっているものは拾ってきてくれないようですが。
0717nobodyさん
03/03/15 21:26ID:???print "文字"; てのがあるはずだが、その部分を
open(FH,">$htmlfile"); print FH "文字"; close(FH) て感じにする。
そのままだと画面表示されないので、Locationで作成したHTMLにジャンプするって感じだな。
index.htmなどからリンクをはる時には $htmlfileにリンクをはれば良い。
ファイルロックするとかLocationを使いたくない時は自分で考えれ。
上からの流れをまとめるとこういう感じだ。
自分でできないと思ったら、あきらめるか>>713のところのを使うとよい。
0718nobodyさん
03/03/15 22:26ID:???ロボット避けのMETAタグとかの勉強をした方が早いと思う。
0719nobodyさん
03/03/15 22:28ID:5hlN9xGBどうもありがとうございます。
おかげさまで前進することができました。
0720706
03/03/15 23:44ID:1k1hrfmMうがー
>print "文字"; てのがあるはずだが、その部分を
>open(FH,">$htmlfile"); print FH "文字"; close(FH) て感じにする。
毎行こうするわけですか。かなりめんどい・・・
当分、諦めるかな・・・ 気が向いたら>>713も検討してみます。
>>718
ロボット避けのMETAタグは使用していないでし。
0721nobodyさん
03/03/16 00:22ID:???0722nobodyさん
03/03/16 00:25ID:???select FH;
0723706
03/03/16 01:04ID:???単にフレームのhtmlファイルをこしらえて、そこにcgiを流し込んだの
です。htmlファイルにはキーワードをしっかりと仕込みました、はい。
いろいろとお教えいただきありがとうございました。
0724nobodyさん
03/03/16 02:01ID:0/UJ/9KJ+-2003
+-03
| +-16
| | +-0.dat
| | +-1.dat
| +-18
| +-0.dat
| +-1.dat
+-05
+-04
+-0.dat
とかなっているディレクトリ構成で、CurrentDirが今2003にいたと
して ./2003/03/ 配下の全データ(サブディレクトリ、ファイル)を
削除しようとした場合、みなさんどんなソース書きます?
やっぱ一番下までディレクトリ見に行って、ファイルを全部消して
からぽちぽちとディレクトリを消していかねばならんのですか?
なんか おぉ〜 っていうソースないですか?
0725nobodyさん
03/03/16 02:04ID:0/UJ/9KJ+-2003
+-03
| +-16
| | +-0.dat
| | +-1.dat
| +-18
| +-0.dat
| +-1.dat
+-05
+-04
+-0.dat
ね。
0726nobodyさん
03/03/16 02:12ID:???0727nobodyさん
03/03/16 02:13ID:???ちなみに>1はちゃんと読んだか?
0728nobodyさん
03/03/16 05:44ID:zuyh3uNEこんにちは!!!!!!!!!!!!!!! だとか
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお だとか。
0731nobodyさん
03/03/16 11:12ID:???<input type="radio" name="test1" value="$c_data1">
<input type="text" name="test2" value="$c_data2" size=6 maxlengh="6">
↑みたいな感じでラジオとテキストボックスでデータの入力を
選択できる状態にして・・・。
もしも、テキストボックスに文字列が入っていたら
ラジオボックスのデータを無効にしてテキストボックスに入力された
データを保存しる。ってものをやってるんですけど・・・。
テキストボックスに特定の文字列が入っていたら。の処理はわかりますが
その文字列が予測できないんで、不特定多数になっちゃって特定できず
ifのカッコ内でどう処理すりゃいいかワカンネーんです・・。
こんな説明で判ってくれる人がいたらヨロヨロでつ・・。
0732nobodyさん
03/03/16 11:31ID:???0733nobodyさん
03/03/16 13:08ID:bu9vx7r5ありがとです。やっぱそうなっちゃうかな。
んで板の注意ありがと。
やっちまいました。逝ってきます(T-T)
0734731
03/03/16 13:15ID:???0735nobodyさん
03/03/16 13:18ID:0oFKfJrdhttp://homepage3.nifty.com/digikei/sample/sample.html
0736nobodyさん
03/03/16 14:33ID:vu3Qqexlif ($testが「TEST>>」から始まっていれば) {
print "$testから「TEST>>」を抜いたもの";
}
ということをしたいんですが、正規表現がよくわからず、
思ったように動いてくれません。
どのように書けばよいのでしょうか?
0737nobodyさん
03/03/16 14:58ID:???print $1;
}
0740nobodyさん
03/03/16 15:53ID:???&&gt;ってことです・・・
0741nobodyさん
03/03/16 16:00ID:F4DlRSun教えていただけないですか?
0743nobodyさん
03/03/16 16:27ID:???できるけど、お前には無理だからやめとけ。
そんな漠然とした質問じゃ、掲示板のログの最新時間を
書き出せとしか言いようがない。
0745nobodyさん
03/03/16 17:10ID:zuyh3uNEあほ が含まれてるだとか、判断したいんです。
0746nobodyさん
03/03/16 17:11ID:???0747nobodyさん
03/03/16 17:12ID:???0748nobodyさん
03/03/16 17:22ID:zuyh3uNE0749nobodyさん
03/03/16 18:15ID:???【Perl】初心者コーナー Part19
http://pc2.2ch.net/test/read.cgi/php/1044717887/
0750nobodyさん
03/03/17 02:07ID:???これは凄い。しかし難しい。
記憶などがテーマになってる映画だが、
観ている側も気を抜かず、正確に記憶しないと、
話がわからなくなる。
そんな気がした映画でした。
しかし、今まで観た映画の中で一番疲れたかも。
0751nobodyさん
03/03/17 02:08ID:???0752nobodyさん
03/03/17 02:09ID:???0753nobodyさん
03/03/17 02:12ID:???0754nobodyさん
03/03/17 05:50ID:???http://qb.2ch.net/test/read.cgi/accuse/1047840578/l50
誰か詳しい方、分かりますでしょうか?
0755nobodyさん
03/03/17 12:28ID:DmD+ibnT誰かどこにあるか知らない?
どこかのスレの関連スレで見かけたんだけどどこだかわかんない。スレタイを
覚えてないもんで・・。
0757755
03/03/17 12:57ID:???あちゃー。検索しても出ないワケだね。
Thanx。
0759nobodyさん
03/03/17 17:30ID:6C47WdHmSELECTタグのMULITIPLEで選択したやつを、一定件数表示させ、
前頁、次頁で送るのがうまくいきません。
ちなみに
a href=\"$script?mode=serch&page=next&SELECTDATA=$SELECT"
を、次頁に貼り付けてます。
ページ送りをはずすと問題ないんですが?
どうも、SELECTDATAの区切りの判断に原因があるみたいとは思うんですが、
そこから先が(?_?)です。
おだづげを。
0760nobodyさん
03/03/17 17:59ID:???そもそも言わんとしてることがさっぱりわからん。
> うまくいきません。
どう、うまくいかないのさ?
> ページ送りをはずすと問題ないんですが?
はずしたら、「前頁、次頁で送る」という用件を満たさないんじゃねーの?
0761bloom
03/03/17 18:05ID:A0XLzQcG0762nobodyさん
03/03/17 18:23ID:6C47WdHmすんません。
FROMで条件を選択させる簡易データーベースなんですが、
単数選択だと問題なく表示されます。前頁、次頁の送りも問題ありません。
ところが、複数選択すると1件も表示されなくなります。
>はずしたら、「前頁、次頁で送る」という用件を満たさないんじゃねーの?
そのとおりです。選択自体は問題ないといいたかったので。
0763nobodyさん
03/03/17 18:31ID:???0764nobodyさん
03/03/17 18:31ID:???$SELECT にどんな文字列になってるのかも示さずに
>どうも、SELECTDATAの区切りの判断に原因があるみたいとは思うんですが、
>そこから先が(?_?)です。
なんて書かれても答えれないですー。
0766nobodyさん
03/03/17 18:53ID:???そんな説明で満足いく解答が返ってくると思うか普通?
それすらも判らないんだから、まず無理。
0768nobodyさん
03/03/17 19:43ID:6C47WdHmなんせ、CGIはじめた馬ツ鹿なもんで・・。
sub search {
・・・
&repeate;
#ここで、P1をPRINTさせると、(AとBで検索した場合)AB と表示される
#「次頁」をクリックすると、ここで終了してしまう。
if ($i == 0) {
print "<P><LI>該当する内容がありません\n";
} else {
・・・
if ($next < $i) {
print "<a href=\"$script?mode=search&page=$next&P1=$P1\> 次頁 </a>\n";
・・・}
}
#改行が多すぎるとしかられたので、その1
0769nobodyさん
03/03/17 19:44ID:6C47WdHm#------------------
sub repeate {
$start = $page + 1;
$end = $page + 12;
$P1 = $in{'P1'};
・・・
@P1M = split(/\0/,$P1);
$flag = 1;
foreach (@P1M){
if ($_ ne "指定なし" && $_ ne $p1){
$flag = 0;
}else{
$flag = 1;
last;
}
}
if (!$flag) { next; }
・・・
こんなんで、いいでしょうか?自分としたら(AとBで検索した場合)AB の区切り文字が認識されずにABで検索されてしまっているんでは?
と思ってんですが。じゃぁSPLITは?
と、こんがらがっているんですが。
やっぱ、説明になってないですか?
0770nobodyさん
03/03/17 19:53ID:???$P1と$p1は違う変数。もし分かってやってるとしても、紛らわしくてバグの原因になるので
こういう命名法はやめたほうがいい。
アドバイスできなくてすまん。
0771nobodyさん
03/03/17 20:02ID:???>なんせ、CGIはじめた馬ツ鹿なもんで・・。
お前無茶苦茶言われてる理由がわかんねぇのか?
CGI初心者は歓迎だよ。お前がコミュニケーション初心者だからだよ。
例えお前がCGIのプロだったとしてもそんな質問の仕方したら同じように叩かれる。
0772nobodyさん
03/03/17 20:10ID:YHcQyyodファイルと、その他の入力項目も同時にPOSTしており、
サーバー側で、入力のエラーチェックもやっています。
入力エラーを判断すると、エラーのHTMLを出力します。
ユーザーには、ブラウザの戻るボタンで、入力画面に戻らせようと
考えているのですが、IE6では「ページの有効期限切れ」が表示されてしまい、
入力画面に戻ることができません。
IEの仕様ということは解っているのですが、何とか回避する方法はないのでしょうか?
やはり、入力値を保存しといて、それを元に再表示するしかないんすかねぇ・・・
0773nobodyさん
03/03/17 20:27ID:???0775nobodyさん
03/03/17 20:32ID:6C47WdHm有難うございました。
0776nobodyさん
03/03/17 21:07ID:???送られてきたデータをどうやって変数に入れてるかわからないからこんな回答でがまんしる。
@P1M = split(/\0/,$P1);
$flag = 1;$SELECT_DATA = "";
foreach (@P1M){
$SELECT_DATA .= "P1=$_&";
if ($_ ne "指定なし" && $_ ne $p1){
$flag = 0;
送られてきたときの P1=aaa&P1=bbb&P1=ccc& の形に戻して$SELECT_DATA に入れて
次のページへのリンクには
print "<a href=\"$script?mode=search&page=$next&$SELECT_DATA\"> 次頁 </a>\n";
(multipleの\0区切りはcgi-libかな?)
0777nobodyさん
03/03/17 21:17ID:???> #ここで、P1をPRINTさせると、(AとBで検索した場合)AB と表示される
質問するときは、文章で説明するんじゃなくて、
ソース「そのもの」と結果「そのもの」を明示してよ。
AとBが選択されていたなら、追加した print 文による結果は
...&SELECTDATA=A&SELECTDATA=B&...
みたいな感じになったはず。これを「このまま」書いて質問して欲しいの。
質問ではこれがいきなり AB になってるから、途中で何をやっているやら
回答する側だってサパーリなの。。。
0778nobodyさん
03/03/17 21:57ID:???質問する前にそこでちゃんとした質問文にする、と。
#しかしアフォな質問の仕方しかできないやつは↑のスレを利用するなんて考えもしないだろうな。
0779nobodyさん
03/03/17 22:30ID:???0780nobodyさん
03/03/17 22:33ID:???0781nobodyさん
03/03/17 22:34ID:???Expires: ヘッダを付けるか、mod_exipres 組み込んで、いろいろといぢってみるとか?
やったこと無いのでこれ以上はマニュアル参照キボンヌ。
0782nobodyさん
03/03/17 22:38ID:???このスレの楽しみかたの一つなのですテヘテヘ。
0783nobodyさん
03/03/17 22:38ID:???わざわざ別ページにしないで、入力画面の上にでも
エラーメッセージ出せばいいじゃないの
エラー項目に印でもつけてどこがエラーか教えれば十分でしょ
0784nobodyさん
03/03/17 22:46ID:6pGOeCWh「インターネットショップのためのCGI&受注管理」
http://www.amazon.co.jp/exec/obidos/ASIN/4871938883/ref=pd_bxgy_img_2/250-2312092-8829042
0785772 [解決]
03/03/17 23:25ID:???>>781
その辺、いろいろやってみました・・・が、だめでした。
>>783
あ。その手があったか・・・
でも、たった今、再表示するロジック書き終わったとこです・・・
明日書きゃよかった・・・ウワァァン!
0786nobodyさん
03/03/18 03:19ID:???って感じのことをしたいのですが、
たとえば、↓のようにしたとき、
<input type="checkbox" name="hoge" value="0">
<input type="checkbox" name="hoge" value="1">
複数を選択することができない(しても意味ない)ですよね?
それで、色々検索したんですけど、
<input type="checkbox" name="hoge[]" value="0">
<input type="checkbox" name="hoge[]" value="1">
↑こんなんでやるみたいだって事はわかったんですが、
それ以上はわかりませんでした。
少しでもいいんで、助けていただけないでしょうか?
0788nobodyさん
03/03/18 03:37ID:???チェックボックスは複数選択できる
nameは同じ項目のチェックボックスなら同じ名前にする
hogeでもいいけど、後の[]はなんだ?いらない
valueは送信文字列で数字でも単語でもいい
他に送信ボタンなんかも必要
で、これを何で受け取って処理するわけ?
0789nobodyさん
03/03/18 03:45ID:???<input type="checkbox" name="hoge" value="0">
<input type="checkbox" name="hoge" value="1">
<input type="checkbox" name="hoge" value="2">
<input type="checkbox" name="hoge" value="3">
で、2つ目と3つ目を選択したとき、
値はどう入るんでしょうか?
hoge=1,2ってなるんですか?
0790nobodyさん
03/03/18 03:46ID:???<input type="checkbox" name="hoge_1" value="1">て感じか。
最近perl弄ってないから忘れたが、hoge[]て使えるのか?
0791nobodyさん
03/03/18 03:56ID:???hoge=1&hoge=2となる。
同じnameが複数出てくるわけ。
cgi-lib.plなどでは、これを\0区切りで分解してくれる。
0792nobodyさん
03/03/18 04:05ID:???なるほど解りました
で、最終的に全ての値を@hogeに入れたいんですが・・・
どのようにすればいいのでしょうか?
#そろそろウザイですよね?すいません
■ このスレッドは過去ログ倉庫に格納されています