hiddenには文字制限があるのでしょうか?
質問者:ninakko あるフォームに備考欄をつけました。
その内容を確認画面に表示。
その後確認画面がOKをおされた場合備考の内容を
<form action="./index.php" method="post">
<input type="hidden" name="biko" value=<? echo $biko; ?>>
でメール送信するモジュールへとばしています。
このとき、届いたメールに備考の内容が26文字しかありませんでした。
これはhiddenの文字の上限なのでしょうか?

解決方法もわかる方がいらっしゃったら教えてください。

A 回答 (4件)

う~ん。


悪いところはありませんし、私の環境で試してみると、上手く動きました。
また、No2の方の言われる特殊文字を混ぜてもうまくいきます。

さて、問題は何でしょう(^^;
もうちょっと詳しいコードを書いたら(または、どこかにUPして、他の人が見られるようにしたら)いい回答が付くかも知れません。

現在の情報だけでは「何も問題がない」と言うのが答えですね。
    • good
    • 0

hiddenに文字数制限はないはずです。

思いついた原因を挙げておきます。

1.value属性の値が引用符で囲まれていない
通常、value="<? ... ?>"のように記述すると思われます。
引用符を省略できる場合もありますが、書いておいた方が無難です。
これについては参考URLを参照してください。

2.文字参照絡み
$bikoに">"という文字が含まれている場合、inputタグの終端と解釈されてしまいますので、
$bikoの内容をエスケープする必要があります。
例えば、>を&gt;に、"を&quot;にします。

参考URL:http://www.w3.org/TR/html4/intro/sgmltut.html#h- …
    • good
    • 0

hiddenに文字数制限があるのかどうかはわからないですが、


26字ではないです。
もっと長い文字列を渡しても大丈夫だったことがあります。
その渡した文字列の27文字目は、何ですか?
そこでひっかかってしまっているんじゃないでしょうか。

"'<>などの特殊文字なら、&gt;などに変換したほうがいいですよ。
ひっかかってしまうので。
    • good
    • 0

こんばんは



<?php
$mode=$_GET[mode];
if($mode=="") {
  print<<<EOF
<form action=$_SERVER[PHP_SELF]?mode=test method=post>
<input type=hidden name=biko value="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろ">
<input type=submit value=go>

EOF;
}else if($mode=="test") {
  $biko=$_POST[biko];
  print $biko;
}

?>


これを実行すると、正常に$bikoを表示しました。
hiddenの限界ではなく、メールモジュール側に問題があるのだと思います

この回答への補足

ありがとうございます。
よかったら何処を改善すればよいのか教えてください。
メールモジュールは以下のとおりです。

$mail_detail= "備考 :" . $biko;
mail("$sendto_email",$mail_title,$mail_detail,"From: ***@****.com\nContent-Type: text/plain; charset=ISO-2022-JP");

補足日時:2002/04/11 22:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報