-2

解释起来有点困难,但如果你不能理解,请不要投反对票!我建立了一个调查系统,我的问题来自数据库。我想动态验证它们,所以我考虑了一下:

$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([''])')

谢谢你们 !

4

1 回答 1

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) {...}
于 2013-07-28T20:51:10.383 回答