[PHP-users 13310] Linux と Win で動きが違う

H.Watanabe php-users@php.gr.jp
Sat, 15 Feb 2003 13:40:19 +0900


はじめまして、わたなべと申します。

本MLの過去ログやマンモス本を参考にしながら、MySQLをつかったWEBデータ
ベースを構築しています。
過去ログには何度も助けられています、ありがとうございます。
しかし、今回はどうしても解らない現象にぶち当たり、有識者の皆様にアドバ
イスを頂きたく初投稿しました。よろしくお願いします。

(本題)
フォームのテキストボックス(配列)から文字列を取得し、SQL文を実行する
という、極々普通の処理をしているのですが・・・
テキストボックスからの値がLinuxの場合にのみ、先頭の4バイトがなくなっ
てしまいます。(Winの場合には正常に受け取れます。)
 例)テキストボックスに"12345"と入力すると、受け取った値は"5"

※配列にしなければ、正常に受け取れます。
グローバル変数を使用したり、$_POSTを使ったり受渡の方法もいろいろ試しま
したがダメでした。
下記のような、シンプルなコードで試しても症状は同じです。
両OSともPHP4.2.3で、phpinfo()の値も比較してみましたが、PHP Coreの値に
違いはありません。

すでに2日を費やしており、お手上げ状態です。
アドバイスの程よろしくお願いします。

(サンプルコード:sample.php)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>サンプル</title>
</head>

<body>
<FORM ACTION="sample.php" METHOD="POST">
文字を入力してください:<BR>
<INPUT TYPE="text" NAME="val[]" VALUE=""><BR>
<INPUT TYPE="text" NAME="val[]" VALUE=""><BR>
<INPUT TYPE="text" NAME="val[]" VALUE=""><BR>
<INPUT TYPE="submit" VALUE="送信">
</FORM>

<BR>

<?php
$val = $_POST[val];
	print "入力された値は、" . $val[0] . " です。<BR>";
	print "入力された値は、" . $val[1] . " です。<BR>";
	print "入力された値は、" . $val[2] . " です。<BR>";
?>
</body>
</html>