使用者提交表單的時候會出現多個變數,如何對變數每一個變數進行非空判斷,並在所有變數均為非空後才把所有資料錄入資料庫。
我只知道可以使用empty()進行辨別並輸出提示但是不知道如何?
所有變數均為非空後才把所有資料錄入資料庫。
如下,我用switch可以實現在有未填項時輸出提示,但是無法實現
所有變數均為非空後再錄入資料。
getData( $sql ); $name = strip_tags( $_REQUEST['name'] ); $reviewer = $_REQUEST['reviewer']; $review = $_REQUEST['review']; $sql = "INSERT INTO `remark` ( `name`, `review`, `reviewer`, `time`) VALUES ('" . $name . "' , '" . $review . "' , '" . $reviewer . "' , NOW() ) "; $mysql->runSql($sql); if ($mysql->errno() != 0) { die("Error:" . $mysql->errmsg()); } $mysql->closeDb(); echo $mysql->errmsg() ?>
回複內容:
使用者提交表單的時候會出現多個變數,如何對變數每一個變數進行非空判斷,並在所有變數均為非空後才把所有資料錄入資料庫。
我只知道可以使用empty()進行辨別並輸出提示但是不知道如何?
所有變數均為非空後才把所有資料錄入資料庫。
如下,我用switch可以實現在有未填項時輸出提示,但是無法實現
所有變數均為非空後再錄入資料。
getData( $sql ); $name = strip_tags( $_REQUEST['name'] ); $reviewer = $_REQUEST['reviewer']; $review = $_REQUEST['review']; $sql = "INSERT INTO `remark` ( `name`, `review`, `reviewer`, `time`) VALUES ('" . $name . "' , '" . $review . "' , '" . $reviewer . "' , NOW() ) "; $mysql->runSql($sql); if ($mysql->errno() != 0) { die("Error:" . $mysql->errmsg()); } $mysql->closeDb(); echo $mysql->errmsg() ?>
function is_empty_variable($variable){ return (!isset($variable) || trim($variable)==='');}
如果是$_REQUEST數組的話:
foreach($_REQUEST as $key => $value){ if(is_empty_variable($value)) { throw new \Exception("{$key} 為空白"); }}
$error = array( "name" => "名稱必填", "reviewer" => "使用者名稱必填", "review" => "評論必填");foreach($error as $name => $str) { if(!isset($_REQUEST[$name]) || trim($_REQUEST[$name]) === "") die($str);}
說個題外的,也許你會有啟發
isset($_REQUEST['name']) && $_REQUEST['name']