#1221(かつ氏)の書き込みを引用します: >メールの転送は、CGIを使ってできるのですか?? >Iモードのメールアドレスから自分の持ってるメールアドレス >の転送などは、CGI,SSIでできるのでしょうか? >もし、知っている方がいればお願いします! CGIはWebサーバ(プロバイダ側のホームページがおいてある場所)が、 Webブラウザからの「ページの中身をおしえてくれ〜」という要求に応じて プログラムを起動するための仕組みなので メールの「自動転送」をお考えなら、ちょっと方向がちがうかも。 メールの自動転送を簡単にやるなら サーバの自分のホームディレクトリに .forwardというファイルを置いておけばOK。 この辺のことはUnix(Linux)に関する知識なので 「ホームディレクトリ」とか.forwardファイルの書き方は Webで検索してみると出てくると思いますよ〜 勘違いがありましたらごめんなさい。
メールの転送は、CGIを使ってできるのですか?? Iモードのメールアドレスから自分の持ってるメールアドレス の転送などは、CGI,SSIでできるのでしょうか? もし、知っている方がいればお願いします!
#1219(Gao氏)の書き込みを引用します: >御教授してくださったやり方をやってみたのですが >自分のホストをどうしても解析してしまいますTT >どうすればよろしいのでしょうか? > >13行目に >if ($host eq '自分のホスト名') {exit;} > >をいれても解析対象になってしまうのです。。。 > >是非とも自分のを対象外にするやり方を御教授して頂きたいです。。。 >それでは宜しくお願いいたします。 > > >>access3.plの13行目あたりに >>$host = $ENV{"REMOTE_ADDR"}; >>if ($ENV{"HTTP_FORWARDED"} =~ / for (.*)/) { >> $host = $1; >>} >>if ($host eq 'ppi01-1770.din.or.jp') {exit;} ダイヤルアップの場合は、そのたびに ホスト名が変わってしまうので 難しいかと思います。 ドメイン指定の方法じゃないと無理かと… 今回の場合、Gaoさんはどのように ホスト名を指定していらっしゃるのでしょうか? 自分のホスト名はどのように検索しましたか?
御教授してくださったやり方をやってみたのですが 自分のホストをどうしても解析してしまいますTT どうすればよろしいのでしょうか? 13行目に if ($host eq '自分のホスト名') {exit;} をいれても解析対象になってしまうのです。。。 是非とも自分のを対象外にするやり方を御教授して頂きたいです。。。 それでは宜しくお願いいたします。 >access3.plの13行目あたりに >$host = $ENV{"REMOTE_ADDR"}; >if ($ENV{"HTTP_FORWARDED"} =~ / for (.*)/) { > $host = $1; >} >if ($host eq 'ppi01-1770.din.or.jp') {exit;}
#1217(水原麗名氏)の書き込みを引用します: >既に忘れ去られていそうな(笑)水原にゃん。 そんなことないと思います(笑 >Cookieヘッダはブラウザまで届かないと効力を発揮しないんですが >この場合サーバー側で処理されてしまうので実はCookieの効力を発揮できてません。 >つまりSSIから呼ぶ場合はこれ以外の手段でCookieを書く必要があります。 >Cookieの詠み書きは3種類。 >* HTMLのタグ。METAタグを使います >* Javascript。どうだっけ。(笑) >* HTTPヘッダ。CGIで使ってるやつです。 >つまりJavascriptを使うことになるんじゃないかと思いますが…。 >やり方は調べないと分かりません。 >余裕があったら調べておきます。 date = document.cookie; でdataにcookieデータを取得 document.cookie = "〜"; でcookieの設定
既に忘れ去られていそうな(笑)水原にゃん。 #1216(sai氏)の書き込みを引用します: >>index.shtmlにカウンタを呼び出すタグを書いていると思いますが、どういう風に書いていますか? >>それと、スクリプトの拡張子ですが、まさか*.cgiじゃないですよね? > >cgiじゃ駄目なんでしょうか?(^-^; >cgiで呼び出してます。。 >SSIテキストカウンターとかもcgi作ってるんですが・・ >駄目なのかな・・ >一応正常に動いてます。。 > >> index.shtmlにカウンタを呼び出すタグを書いていると思いますが、 >> どういう風に書いていますか? > >XREAと言うレンタルサーバを借りているのですがここの場合、 >include vitualじゃないと駄目らしいので以下になっています。 > ><!--#include virtual="./c_conuter.cgi"--> > ↑この形式の場合はcgiで呼び出すことになります。 もちろんcontent-typeも必要です。 >直接呼び出した場合は動くんですよね。。 >でもSSIからだと動かない・・ Cookieヘッダはブラウザまで届かないと効力を発揮しないんですが この場合サーバー側で処理されてしまうので実はCookieの効力を発揮できてません。 つまりSSIから呼ぶ場合はこれ以外の手段でCookieを書く必要があります。 Cookieの詠み書きは3種類。 * HTMLのタグ。METAタグを使います * Javascript。どうだっけ。(笑) * HTTPヘッダ。CGIで使ってるやつです。 つまりJavascriptを使うことになるんじゃないかと思いますが…。 やり方は調べないと分かりません。 余裕があったら調べておきます。
#1213(sai氏)の書き込みを引用します: >クッキーは正常に動作しています。 〜中略〜 >以下はSSIからの呼び出しです。 >http://sai.s1.xrea.com/cgi_html/count/c_conuter/index.shtml > >cgiを直接呼び出した場合は正常に動きます。 >http://sai.s1.xrea.com/cgi_html/count/c_conuter/c_conuter.cgi index.shtmlにカウンタを呼び出すタグを書いていると思いますが、どういう風に書いていますか? それと、スクリプトの拡張子ですが、まさか*.cgiじゃないですよね? >ソースをTXTにしました。 ローカルサーバでは、たしかに動きました。 ただし、直接呼び出した場合ですが・・・
#1211(sai氏)の書き込みを引用します: >CGIのみの呼び出しでは上手く動作しますが、SSIから呼び出した場合現在の >カウントのみ表示でカウントがアップしません。 >原因は恐らくクッキーへの書きこみが出来てないのだと思いますが・・ Cookieが出来ていますか?(ファイルとして) >print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n"; >print "Content-Type: text/plain;\n\n"; print "Content-Type: text/html;\n\n"; で試してみましたか?
#1207(タカマン氏)の書き込みを引用します: >どんなに頑張ってもできませんでした。 >あきらめるのも悔しいけど、自力ではもう限界〜(^_-) >テキストでアップしましたので宜しくお願いします。 > >http://www.sumire.com/~zinpati/cgi-bin/minibbs2/bbs.txt > >http://www.sumire.com/~zinpati/cgi-bin/minibbs2/ if ($mode eq 'write') { #書き込みモードなら の前(80行目あたりに) $next = (split(/¥t/, $logs[0]))[4] + 10; if($next > $yen){ &error(”$nextより高い値段を入力して下さい。”); close(FILE); exit; } を追加すればいいと思います。 $next は次の人が指定できる最低金額です。 ただこれはあくまで例なので 変更には柔軟に対応して下さい。
#1203(タカマン氏)の書き込みを引用します: >大変あつかましいですが、ミニBBSを改造して >仲間内でのオークション作っています。 >うはくさんのお陰でほぼイメージどうりの物が >出来たのですが??一つ大事なことを忘れていました。 >それはAさんが100円で次にBさんが200円と値をつければ、 >ログ数を1つに設定しているので最終値が200円に >表示しますが、その後Cさんが150円と書き込めば >200円が150円に下がってしまいます。 >ログ数が1つなので簡単にできるのではと安易に考えましたが >ダメでした。 >現在の高値以下はエラーにする方法がありましたら >教えてください。 >変数 $textを$yen に変更しています。 >どうか宜しくお願いします。 書き込むときにチェックすればokだと思います。 でも上記CGIがどんな感じなのかイメージがわかないので(汗:ばかですまんでし URLとか教えてください。
#1202(Gao氏)の書き込みを引用します: >>ppi01-1770.din.or.jp の部分は自分のホストに置き換えて下さい。 >自分のホストなんですが、 >初めの部分の上記の場合でしたら、 > >ppi01-1770の部分なんですが、微妙に数字が変わっているんです。。。 >後の部分のドメインの部分は、変わりはないんですが。。。(^^; >この場合は、どうすればよいのでしょうか? ああ…ダイヤルアップ接続でしたか。すいません。 そうなると無理な気がします… (ドメインが一緒のひとはみんなカウントしない方法を使うってのも強引だし(汗)) 少なくても僕にはわからないです(^_^; 役に立てなくてすいません PS ・本人はそのページにはアクセスしない(汗 ・本人がアクセスするときは http://www.hoge.com/~hoge/index.html?count=no みたいにパラメータを渡してアクセスするとか… しか方法は浮かばないです
#1199(うはく氏)の書き込みを引用します: > >まず2.について >bbs.cgiの113行目からの >### HTML文書の出力:書き込まれたメッセージを新しい順に >foreach $line (@logs) { > >で@logから新しい順に一行づつ切り出して表示しているので >@logを逆順にしてしまえば古い順に表示できます。 >逆順にするには reverse を使えばいいので > >### HTML文書の出力:書き込まれたメッセージを古い順に >foreach $line (reverse @logs) { >にすれば出来ます。 > >1.について >bbs.cgiの86〜107行目を切り取り、129行目あたりに貼り付けるだけで出来そう。 >って思ったけどログの出力のときに同じ名前の変数を使ってしまっているので >表示がおかしくなってしまいます。 >そこで今回は、114行目あたりのログ出力時に用いる変数をlocalにしてみました。 > >まとめ >86行目〜107行目 ><form method="POST" action="$self"> >〜 ></form> >を切り取り、128行目の ><hr> >の下あたりに貼り付け。 > >116行目の > ($date, $name, $addr, $text) = split(/¥t/, $line); >を > local($date, $name, $addr, $text) = split(/¥t/, $line); >にする。 >の2点で解決できます。 > > >ミニBBSにおいては一応確認はしましたが、何か弊害があったらご報告願います。 >(ミニBBS以外では全く確認してないです…) うはくさん、ありがとう御座いました。 ちゃんと動作しています(感激〜です) 大変あつかましいですが、ミニBBSを改造して 仲間内でのオークション作っています。 うはくさんのお陰でほぼイメージどうりの物が 出来たのですが??一つ大事なことを忘れていました。 それはAさんが100円で次にBさんが200円と値をつければ、 ログ数を1つに設定しているので最終値が200円に 表示しますが、その後Cさんが150円と書き込めば 200円が150円に下がってしまいます。 ログ数が1つなので簡単にできるのではと安易に考えましたが ダメでした。 現在の高値以下はエラーにする方法がありましたら 教えてください。 変数 $textを$yen に変更しています。 どうか宜しくお願いします。
[トップページに戻る] | 管理人 : キャメル |