*vote.inc.phpで、選択肢の文字列に'.'を含んでいると投票してもカウンタが増えない -ページ: BugTrack -投稿者: [[ぱんだ]] -優先順位: 低 -状態: 完了 -カテゴリー: その他 -投稿日: 2002-12-13 (金) 09:38:30 -バージョン: **メッセージ ([[練習用ページ]]より) #vote(1.もんた[0],2.アキヲ[0]) -$HTTP_POST_VARSに入ってきた時点で'vote_1.もんた'が'vote_1_もんた'に化けている。これはApache or PHPの問題? -- [[ぱんだ]] --Apache/1.3.26 で PHP/4.1.2 ですよね。で、HTML上は、問題ないんですけど、どう見て、そうなっていると分かったんですか? --[[upk]] perlとPHPで同じことをしてみました。 -perl #!/usr/bin/perl read(STDIN,$buf,$ENV{'CONTENT_LENGTH'}); $str = ''; foreach $pair (split(/&/,$buf)) { ($key, $val) = split(/=/, $pair); $key =~ tr/+/ /; $key =~ s/%([0-9a-fA-F]{2})/pack('C', hex($1))/eg; $val =~ tr/+/ /; $val =~ s/%([0-9a-fA-F]{2})/pack('C', hex($1))/eg; $str .= " [$key] => $val\n"; } print <<__HTML__ Content-type:text/html <html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>test</title> </head> <body> <pre>$str</pre> <form method="post"> <input name="vote_1.もんた" value="投票" type="submit"> </form> </body> </html> __HTML__ --結果 <pre> [vote_1.もんた] => 投票 </pre> -PHP <html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>test</title> </head> <body> <pre><?php print_r($HTTP_POST_VARS) ?></pre> <form method="post"> <input name="vote_1.もんた" value="投票" type="submit"> </form> </body> </html> --結果 <pre>Array ( [vote_1_もんた] => 投票 ) </pre> PHPでは、name="vote_1.もんた"でsubmitしたのに'vote_1_もんた'が入ってきます。 ---- -$argをencode()を通してやり取りするようにしてみました。(177.diff) -- [[ぱんだ]] SIZE(10){2002-12-13 (金) 09:58:44} #comment