![]() |
| カレッヂ |
質問者 やす
投稿日 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裏技 |