【问题标题】:PHP - calculate (Switch Case)PHP - 计算(切换案例)
【发布时间】:2016-10-09 13:29:17
【问题描述】:

我正在做一些关于转换的工作,但实际上我正在学习 PHP =D 中的 switch case 语句

当我选择我的国家时,我可以申请优惠率。

这是 HTML

<select class="form-control" name="devise">
        <option name="pays" value="USA">USA</option>
        <option name="pays" value="EUR">EUR</option>
        <option name="pays" value="JPY">JPY</option>
</select>

这里是 PHP

if (isset($_POST['conversion'])){
if(!is_numeric($_POST['montant'])){
    echo('<div class="alert alert-danger  style="display:none;">veuillez insérer un nombre</div>');
    exit();
} else if(isset($_POST['pays'])){
    $devise = $_POST['devise'];
    $montant = $_POST['montant'];
    switch($pays){
        case 'USA':
            $resultConvert = $montant *  1.3;
            echo('<div class="alert alert-success"  style="display:none; role="alert">dollar</div>');
            break;
        case 'EUR':
            $resultConvert = $montant * 1.2;
            echo('<div class="alert alert-success" style="display:none; role="alert">euro</div>');
            break;
        case 'JPY':
            $resultConvert = $montant * 1.5;
            echo('<div class="alert alert-success"  style="display:none; role="alert">yen</div>');    
            break;
        default:
            echo('<div class="alert alert-danger style="display:none;">Veuillez choisir une devise</div>');
    }
    return $resultConvert;
} 

} 我想返回 $resultConvert,但我没有来自服务器的错误。我试图 var_dump() 它,但它什么也没显示。

感谢您的帮助。我想知道我在哪里做错了。

附:转化率不对,我只想用好的设备展示好的结果。

【问题讨论】:

  • 请在提问之前进行最少的调试。这意味着查看每个变量以查看是否包含预期值并将这些值写入问题中。也看看这个页面:stackoverflow.com/questions/12769982/…
  • 您需要提供更多代码。您在 switch 中使用了 $pays,但我们不知道 $pays 是什么,它没有在这部分代码中定义。
  • 这里switch($pays){你需要switch($_POST['pays']){!
  • 如果你在一个函数(或一个包含的php)中,你只能return smth。所以你可能想在这里回显$resultConvert。
  • 我正在编写代码,我将进行最少的调试,然后编辑问题。我会在 10 分钟内展示整个表格 XD 但是谢谢你的提议

标签: php switch-statement


【解决方案1】:

替换

switch($pays){ 

与

switch($_POST['pays']){

【讨论】:

  • 我以另一种方式找到了解决方案。我宣布 $pays = $_POST['pays'];在 switch 之前,所以 switch($pays)。然后我将select的名称修改为“pays”,并从options中删除了“name”属性。
  • 两种方式都可以,顺便说一句,不要按原样采用 $_POST 变量,始终对其进行验证、清理和转义 html。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
相关资源
最近更新 更多