【问题标题】:Use set post value as php variable使用设置的帖子值作为 php 变量
【发布时间】:2017-04-02 23:51:14
【问题描述】:

在一个表单中,我有一个单选,其中一个值是特定的 API 密钥,另一个单选打开文本输入以输入自定义 api 密钥。

为了和action中的两个input区分开来,设置了不同的名字。

我的问题是如何将 PHP 变量设置为等于不为空的 post 值。

例如,如果输入“a”有一个设定值,那么$apikey = $_POST['a'] 但如果“a”为空且“p”有值则$apikey = $_POST['p']

这是表单中将要使用的两个值的代码:

<input type="radio" name="a" id="apibeta" value="###APIKEY###" onclick="javascript:hide();" required />

<input id='yes' name="p" class="form-control" placeholder="Personal API Key" type="text">

感谢您的帮助!

【问题讨论】:

    标签: php forms post input var


    【解决方案1】:

    这就是if 语句或switch 语句的用途。

    这是一个与您的问题有关的示例

    <?php
    if(isset($_POST['a'])){
        //do something with that
    }elseif(isset($_POST['p'])){
        //p has the value
    }else{
        //neither have a value. 
    }
    ?>
    

    【讨论】:

      【解决方案2】:

      使用三元运算符:

      $apiKey = !empty($_POST['a']) ? $_POST['a'] : $_POST['p'];
      

      相当于:

      if (!empty($_POST['a'])) {
          $apiKey = $_POST['a'];
      } else {
          $apiKey = $_POST['p'];
      }
      

      【讨论】:

      • 我原以为@Nytrix 的答案会更好,因为它处理 $_POST['p'] 和 $_POST['a] 都为空的情况。可能发生的情况。
      • 在这种情况下,$apiKey 最终也会为空,这在许多情况下是可以的。如果我们做出假设,我还会说使用表单发送 API 密钥一开始可能不是一个好主意。但这离原来的问题越来越远了;)
      猜你喜欢
      • 2020-10-11
      • 1970-01-01
      • 2013-05-19
      • 2013-06-05
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      相关资源
      最近更新 更多