2016-05-27 6 views
0

私はSmartyテンプレートで非常に単純なフォームを作成するための助けを探していますが、これを行う方法に慣れていません。Smartyでフォーム

このフォームは、顧客がX平方メートルをカバーする必要がある製品のリットル数を計算します。

<form action="/calc.php" method="post"> 
<h4>How much area would you like to cover?</h4> 
<input type="number" name="area" min="1">&nbsp;m<sup>2</sup><br> 
<input type="submit"> 
</form> 

私は必要なリットルの数を計算しました。

$area = $_POST['area']; 
$coverage = $area/3.5; 
$litres = number_format($coverage/5,2); 

私は戻って、テンプレートにPHPファイルから値を渡す方法を誰かが私に言うことができますか?

私はこれを行うべきであるより良い方法はありますか?

更新: テンプレートスクリプトは以下のようになります。

<form action="/calc.php" method="post"> 
<h4>How much area would you like to cover?</h4> 
<input type="number" name="area" min="1">&nbsp;m<sup>2</sup><br> 
<input type="submit" style="margin-top:5px;"> 
</form> 

<p>You require {$litres_selected} Litres to cover an area of {$target_area} m<sup>2</sup></p> 

PHPスクリプトは以下のようになります。

<?php 

$area = $_POST['area']; 
$coverage = $area/3.5; 
$litres = number_format($coverage/5,2); 

$smarty_object->assign(array('litres_selected' => $litres)); 
$smarty_object->assign(array('target_area' => $area)); 

?> 

答えて

1

私は戻って、PHPファイルから値を渡す方法を誰かが私に言うことができますテンプレート ?

あなたはこのようにSmartyのにPHP変数を送信することができます

$smarty_object->assign(array('litres_selected' => $litres)); 

を次にSmartyのテンプレートで、あなたはこのように簡単にこれらの変数を取得することができます

{$litres_selected} 
+0

偉大な感謝を。私はスクリプトを更新しました。私の元の投稿に追加した更新されたセクションをご覧ください。これは正しいです?フォーム上でsubmitをクリックすると値が表示されません。 –

+0

コードは私にとってはうまく見えます。おそらく、変数の代わりにダミーの値を設定してテストすることができます。 $ smarty_object-> assign(array( 'litres_selected' => '5')); –