解释它有点困难,但如果你不能得到它,请不要投票! 我建立了一个调查系统,我的问题来自数据库。我想动态验证它们,所以我想一想:
$query = $db -> query('SELECT * FROM radio');
$issetradio = '';
while($row = $query -> fetch(PDO::FETCH_ASSOC)){
$issetradio .= '&&isset($_POST["'.$row['value'].'"])';
}
$issetradio = substr($issetradio,2); // returns "isset($_POST['1']) && isset($_POST['2'])"
现在我希望这个$ issetradio在if语句中进行验证,我希望它是:
if(isset($_POST['1']) && isset($_POST['2']))
问题是$ issetradio是文本语法,它输入如下:
if($issetradio) // if('isset(['1']) && isset([''])')
谢谢大家!
答案 0 :(得分:1)
它不会那样工作(你可以使用eval()
但不要这样做!)
只需使用简单循环和其他变量:
$query = $db -> query('SELECT * FROM radio');
$ok=true;
while($row = $query -> fetch(PDO::FETCH_ASSOC)){
if(!isset($_POST["'.$row['value'].'"]))
$ok=false;
}
if($ok) {...}