*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

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.094 sec.

OSDN