<td><input type=\"hidden\" name=\"number\" value=\"$data[$element]\"><input type=\"submit\" value=\"変更\"></td><td>$reception_data[$element]</td>
上記のコードで$data[$element]を渡すようにしているのですが
データには0しか入っていないようです。
後ろの<td>$data[$element]</td>にはちゃんと数字が表示されているのですが
うまく渡されない原因がわかりません。
value=\"$data[$element]\"の部分をvalue=\"50\"などにするとちゃんと数字が渡っているので
記述のミスではないようです。
原因がよくわかりません。アドバイスいただければと思います。
そのコード断片が入ったPHPファイルが実行されたときに「$data[$element]」の値が「0」になってしまっているだけではないでしょうか?そのタイミングで「$data[$element]」にはどのような値を入れる処理をしているのか確認してみると良いと思われます。
hidden の方は「$data[$element]」で後ろのは「$reception_data[$element]」で変数名が違いますが、それぞれに値が入っているのですよね?
「渡す」の意味がどちら向きなのかよく分かりませんが、hidden を text にするとか、適当なところで echo などで表示してみても 0 ならそもそも $data[$element] の値がおかしいのでしょう。
hiddenをtextにしても
echoでみても数字は入っているようです。
引き続き調べてみます。
ありがとうございました。
変数のスコープに問題は無いですか?
$data , $element 共に確認されてはどうでしょう。
念の為、実際に使っているすぐ近くで
var_dump($element); var_dump($data); var_dump($data[$element]);
してみると、思惑通りの値がチャンと格納されているかが確認できると思います。
ただし、表示は思いっきり乱れる場合があるので、ソースで確認する必要があるかも知れませんが。
ありがとうございます。
こちらで確認したら
数字が入っている場合と入ってない場合が確認できました。
なぜかはまだわかりませんが
教えていただいた関数とても役にたちました。
ありがとうございます。
「後ろの
「$reception_data[$element]」と勘違いしていると言う事はないでしょうか?
すいません。
書き間違えです。
両方同じ変数です。
次のように記述しても変化ないですか?
echo "<input type=¥"hidden¥" value=¥"{$data[$element]}¥" />";
もう少し全体的なコードを提示しないと回答する側も原因がつかみにくいと思いますよ。
上記のようにしたら表示はかわりましたが
動作には変化がないようです。
もう少し調べてみたいと思います。
ありがとうございました。
ソースで確認しても
入っていたので問題はないと思ったのですが
渡す瞬間の処理が見れないので
原因の追求は少しかかりそうです。
ありがとうございました。