質問掲示板

CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。

新規発言一覧最新記事過去一覧 | 検索HOME
No.1082  Re:ついでにもうひとつお願いしたいんですが・・
発言者: moon
発言日: 2008 04/10 00:07
発言元: 61.245.45.46.er.eaccess.ne.jp
 
> 名前欄で、cookieを使用して再び名前を入力する手間を省くにはどの様にしたらよいのでしょうか?

rib.plに525行目辺り(と言うかどこでもいいけど)に以下追加

# レス名前用クッキーを読み込む
sub gmncook{

    @COOKIE=split(/;/, $ENV{'HTTP_COOKIE'});
    foreach (@COOKIE){
        ($name,$value) = split(/=/);
        $name=~ s/ //g;
        if($name eq "nikmn"){
            ($hn) = split(/\,/, $value);
            if ($hn) {
                $hn =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
            }
            last;
        }
    }

}

# レス名前用クッキーの発行
sub smncook {

    my $ck = 31;    # クッキー保存日数
    $hn = shift;

    ($secg,$ming,$hourg,$mdayg,$mong,
        $yearg,$wdayg,$ydayg,$isdstg) = gmtime(time + $res_ck*24*60*60);

    $yearg += 1900;
    if ($secg < 10) { $secg = "0$secg"; }
    if ($ming < 10) { $ming = "0$ming"; }
    if ($hourg < 10) { $hourg = "0$hourg"; }
    if ($mdayg < 10) { $mdayg = "0$mdayg"; }

    $month = ('Jan','Feb','Mar','Apr','May','Jun',
            'Jul','Aug','Sep','Oct','Nov','Dec')[$mong];
    $youbi = ('Sunday','Monday','Tuesday','Wednesday',
            'Thursday','Friday','Saturday')[$wdayg];
    $date_gmt = "$youbi, $mdayg\-$month\-$yearg $hourg:$ming:$secg GMT";

    if ($hn) {
        $hn =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
    } else {
        $hn = '';
    }

    print "Set-Cookie: nikmn=$hn; expires=$date_gmt\n";

    # 表示する場合不都合があるから戻しておく
    if ($hn) {
        $hn =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
    }

}


nik.cgi 454行目辺りに以下追加

    if ($in{'hn'}) {
        &smncook($in{'hn'});
    } else {
        &gmncook;
    }


3985行目くらいに追加した
    $tmp .= qq| <tr>\n|;
    $tmp .= qq| <td>\n|;
    $tmp .= qq|<tt>名前</tt> \n|;
    $tmp .= qq|<input type="text" size="60" name="hn" value="$in{'hn'}">\n|;
    $tmp .= qq| </td>\n|;
    $tmp .= qq| </tr>\n|;

の上に以下を追加

    $in{'hn'} = $hn unless $in{'hn'};

▼関連発言

1078:日記で、書込み項目の追加 [さくら] 04/09
 ├1079:Re:日記で、書込み項目の追加 [moon] 04/09
 └1080:改造できました〜 [さくら] 04/09
  └1081:ついでにもうひとつお願いしたいんですが [さくら] 04/09
   └1082:Re:ついでにもうひとつお願いしたいんで [moon] 04/10
    └1084:見事です♪ [さくら] 04/10 <

Pass 保存

CGIROOM