2016-11-19 39 views
0

在一個表單中我有一個無線電,其中一個值是一個特定的API密鑰,另一個無線電打開一個文本輸入以輸入自定義api密鑰。使用設置後的值作爲php變量

爲了區分動作中的兩個輸入,它們被設置爲不同的名稱。

我的問題是如何將PHP變量設置爲等於不爲空的後置值。

例如,如果輸入「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">

感謝您的幫助!

回答

1

使用三元運算符的例子:

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

即相當於:

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

我還以爲@Nytrix答案是更好因爲它處理$ _POST ['p']和$ _POST ['a]都爲空的情況。可能發生的情況。 – TimBrownlaw

+0

在這種情況下,'$ apiKey'也會最終變爲空,在很多情況下,這些都是可以的。如果我們正在做出假設,我也會說使用表單發送API密鑰可能並不是一個好主意。但是這個問題越來越遠離原來的問題;) – Nico

0

這是什麼if語句爲或switch陳述。

這裏是你的問題

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