猿问

有无好的写法?

<?php
$x1=$_POST["x1"];
$x2=$_POST["x2"];
$x3=$_POST["x3"];
$x4=$_POST["x4"];
$x5=$_POST["x5"];

function insertData(){
    $query_insert = "insert into english (`f1`,`f2`,`f3`,`f4`,`f5`) 
                     values('$x1','$x2','$x3','$x4','$x5')"; 
    $con->query($query_insert);
    do some  other ting;
}
?>

这也太繁琐了哈

<?php
function insertData(){
    global $_POST;
    extract($_POST);
    $query_insert = "insert into english (`f1`,`f2`,`f3`,`f4`,`f5`) 
                     values('$x1','$x2','$x3','$x4','$x5')"; 
    $con->query($query_insert);
    do some  other ting;
}
?>

extract($_POST); 不安全,淘汰。

<?php
function insertData(){
    $query_insert = "insert into english (`f1`,`f2`,`f3`,`f4`,`f5`) 
                     values('$_POST["x1"]','$_POST["x2"]','$_POST["x3"]','$_POST["x4"]','$_POST["x5"]')"; 
    $con->query($query_insert);
    do some  other ting;
}
?>

这样也很ugly,请问,有无最好的办法?
要简洁,要漂亮

长风秋雁
浏览 404回答 5
5回答

BIG阳

<input name = "form['x']"> <input name = "form['y']"> ... 这样取一个$_POST['form']就能取到全部的。但是实际上还要做后端的验证,还需要做验证的封装(参考主流的一些框架),否则还是要单独的一个个判定。
随时随地看视频慕课网APP
我要回答