-2

次の通貨を変換する通貨コンバーターをphpでプログラムする必要があります。

EUR -> USD
EUR -> GBP

コードは適切な構造で明確でなければなりません。私のコードは次のようになります。

index.php では、html 入力を次のように記述します。

                <select name="fT">
                    <option value="euro-usd@EUR-USD">EUR -> USD</option>
                    <option value="euro-gbp@EUR-GBP">EUR -> GBP</option>
                <select>
                   <input type="text" name="amount" id="amount" value="">
                   <input type="submit"/>

convert.php は次のようになります。

<?php
include ("functions.php");
$fT = $_POST['fT'];
$amount = $_POST['amount'];

$valueAndText = explode('@', $fromTo);
$fromTo = $valueAndText[0];
$text = explode('-', $valueAndText[1]);
$from = $text[0];
$to = $text[1];

echo convertCurr($fT, $amount) ;
?>

このコードを改善するための提案はありますか?

4

2 に答える 2

2

プロジェクトからすべてのハードコードを削除してみてください。

それらを構成ファイルに移動し、プロジェクトに含めます。これにより、コーディング部分を変更せずにいつでも変更できます。

完全な変数名を意味するものを使用し、大きくしすぎないようにしてください。

コードを説明したり、コードをより簡単に理解したりするための小さなコメントを追加してみてください。他の人

が見なければならない主なことは、

コードを読みやすくすることです。

于 2012-08-13T11:17:52.937 に答える
1

変更ごとに置き換えることができる構成ファイルに株価を配置できます。DBではなくファイルにデータを保存したいと考えています。

構成ファイルは次のようになります。

<?php
 $config['usd-eur']=1.2;
 $config['usd-gbp']=0.5;
?>

このファイルに config.php という名前を付け、スクリプトと共に配置してからインクルードします。

<?php
 require_once('config.php');
?>

$_POST 変数に関しては、MySQL および XSS 攻撃から身を守るためにそれらをエスケープする必要があります。

この機能を使用できます:

<?php
function filter($data) {
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
    $data = stripslashes($data);

$data = mysql_real_escape_string($data);

return $data;
}?>

次に、POST 変数をループします。

foreach($_POST as $key => $value) {
 $mydata[$key] = filter($value);
}

もう一度言いますが、$fromto 変数の選択を検出するために実行する処理の量です。

なぜそうしないのですか:

<select name="fromTo">
  <option value="1">(EUR) ---> (USD)</option>
  <option value="2">(EUR) ---> (GBP)</option>
</select>

次に、Switch-Case ステートメントを実行します

<?php
 switch($mydata['fromTo']){
  case 1:
   $from='euro';
   $to='usd';
   break;
  case 2:
   $from='euro';
   $to='gbp';
   break;
 }

それが役立つことを願っています。

于 2012-08-13T11:27:43.863 に答える