カレッヂ |
質問者 やす
投稿日 2/10(月) 00:18:46
はじめまして。 今、CGIにこってまして、色々本とかWEB上で検索したりとかで探してみたんですけど、 良くわからず、ココに頼ってしまたんですけど。 A.cgiのクッキー取得部分。 sub get_cookie{ $cooks = $ENV{'HTTP_COOKIE'}; $cooks='' unless($cooks =~s/.*$cookie_name=(.*)waoend.*/$1/); ($cname,$c_email,$c_url,$cnt) = split(/<>/, $cooks); } B.cgiのクッキー取得部分。 sub get_cookie { local($key, $val, @cook, %tmp); @cook = split(/;/, $ENV{'HTTP_COOKIE'}); foreach (@cook) { ($key, $val) = split(/=/); $key =~ s/\s//g; $tmp{$key} = $val; } %ck = split(/<>/, $tmp{"$cookname"}); $c_name = $ck{'name'}; $c_pass = $ck{'pass'}; $c_email = $ck{'email'}; } B.cgiで取得した名前($c_name)をA.cgiで表示させるにはどうしたら良いんでしょう? 説明不足でしたらすみません。よろしくお願い致します。
プロバイダ参照:http://www.obi.ne.jp/ |
回答者 呑兵衛@大阪
[削除]
投稿日 2/11(火) 18:24:10
お答え http://www.rescue.ne.jp/CGI-BBS/beginners/cgi_lib/20020527111421.shtml |
質問者 やす
[削除]
投稿日 2/11(火) 23:12:52
呑兵衛さんレス有り難う御座います。 え〜〜っと、説明不足のようでした^^;すみません。 A.cgiから飛ばすのではなくて、B.cgiのcookieをA.cgiで取得したいのですが・・・ 例えば、A.cgiはアクセス解析で他のB.cgi(BBS)のクッキーに書きこんだ名前を表示したいんですけど A.cgiの配布サイトで改造のサポートをお願いした所、「方針ぐらいまでしかお答えできません」 って言われて・・・自分なりに色々調べたんですけど、 A.cgiのクッキー取得部分の$cnameにB.cgiの名前部分を入れれば良いってわかったんです。 でA.cgiでのB.cgiのクッキー取得方法って言うか・・・記述方法と言うか・・・ 今、自分で書いてみて、ローカルでテストしてもエラーも無く、サーバーにUPしてみたんですけど、 反映されなくって困っているんです。ちなみに書いたのは、 # 名前集計機能の使用(0=OFF / 1=ON) $get_name = 1; (略) if($get_name == 1){ &get_cookie; if($cname eq ""){ &get_yasucookie; } } (略) sub get_pocketcookie{ $cooks = $ENV{'HTTP_COOKIE'}; $cooks='' unless($cooks =~s/.*$cookie_name=(.*)waoend.*/$1/); ($cname,$c_email,$c_url,$cnt) = split(/<>/, $cooks); } sub get_yasucookie{ local($key, $val, @cook, %tmp); @cook = split(/;/, $ENV{'HTTP_COOKIE'}); foreach (@cook) { ($key, $val) = split(/=/); $key =~ s/\s//g; $tmp{$key} = $val; } %ck = split(/<>/, $tmp{'profile'}); $cname = $ck{'name'}; $c_pass = $ck{'pass'}; $c_email = $ck{'email'}; } こんな感じなんですけど・・・ どうかよろしくお願い致します。 |
質問者 やす
[削除]
投稿日 2/11(火) 23:16:12
すみません訂正です。 # 名前集計機能の使用(0=OFF / 1=ON) $get_name = 1; (略) if($get_name == 1){ &get_cookie; if($cname eq ""){ &get_yasucookie; } } (略) sub get_cookie{ $cooks = $ENV{'HTTP_COOKIE'}; $cooks='' unless($cooks =~s/.*$cookie_name=(.*)waoend.*/$1/); ($cname,$c_email,$c_url,$cnt) = split(/<>/, $cooks); } sub get_yasucookie{ local($key, $val, @cook, %tmp); @cook = split(/;/, $ENV{'HTTP_COOKIE'}); foreach (@cook) { ($key, $val) = split(/=/); $key =~ s/\s//g; $tmp{$key} = $val; } %ck = split(/<>/, $tmp{'profile'}); $cname = $ck{'name'}; $c_pass = $ck{'pass'}; $c_email = $ck{'email'}; } |
返信(回答)する
Web裏技 |