※<?php ?> 省略
「index.php」
<form method="POST" action="a.php">
$gaku = $tanka2*$mai;
<input name="" type="submit" value="自動見積り" />
</form>
この中にでてくる「$gaku」をa.phpに反映させる方法として
以前に下記の方法を紹介して頂きました。
<form method="POST" action="a.php">
<input type="hidden" name="gaku" value="{ $gaku }" />
$gaku = $tanka2*$mai;
<input name="" type="submit" value="自動見積り" />
</form>
しかし、a.php内で
<?= $_POST['gaku'] ?>と呼び出すと { $gaku } と表示されます。
どうしたら解決できるのでしょうか。
よろしくお願い致します。
<?php ?>を省略せずに書くと
<form method="POST" action="a.php">
<?php
$gaku = $tanka2 * $mai;
?>
<input type="hidden" name="gaku" value="<?php echo $gaku; ?>" />
<input name="" type="submit" value="自動見積り" />
</form>
では如何でしょうか
0になってしまうのは$tanka2と$mai(単価と枚数でしょうか)に値が入っていないからです。
ご質問の{$gaku}と表示されてしまう原因は
<input type="hidden" name="gaku" value="{$gaku}" />
を
<input type="hidden" name="gaku" value="<?php echo $gaku; ?>" />
にしたら解決するんじゃないでしょうか
>0になってしまうのは$tanka2と$mai(単価と枚数でしょうか)に値が入っていないからです。
それはさすがにわかります。
値は入っている前提です。
質問内容を見る限り、quinaさんの回答で問題ないように見えます。
勘違いという可能性もありますので、一度、下記のようにデバッグをしてみてはいかがでしょうか?
<form method="POST" action="a.php">
var_dump($tanka2);
var_dump($mai);
$gaku = $tanka2 * $mai;
?>
<input type="hidden" name="gaku" value="<?php echo $gaku; ?>" />
<input name="" type="submit" value="自動見積り" />
</form>
もしくは、下記のように実際に数値を入れてみては如何でしょうか?
送信する前にもvalueに値が入っているかどうかブラウザからソースを確認してみてください。
<form method="POST" action="a.php">
$gaku = 20 * 10;
?>
<input type="hidden" name="gaku" value="<?php echo $gaku; ?>" />
<input name="" type="submit" value="自動見積り" />
</form>
回答1のようにしても0になるんですね?
回答1で、
$gaku = $tanka2 * $mai;
を
$gaku = 10;
にした場合、10になりますか?
ならないのなら、タイプミスとかそういうのですよ?
どこか勘違いしてると思います。
有難うございます。
教えて頂いた通りに書き直しましたが、0になります。