php 如何进行变量非空判断
巴扎黑
巴扎黑 2017-04-10 15:09:29
[PHP讨论组]

用户提交表单的时候会出现多个变量,如何对变量每一个变量进行非空判断,并在所有变量均为非空后才把所有数据录入数据库。
我只知道可以使用empty()进行辨别并输出提示但是不知道如何实现
所有变量均为非空后才把所有数据录入数据库。
如下,我用switch可以实现在有未填项时输出提示,但是无法实现
所有变量均为非空后再录入数据。

<?php
//输出提示
switch ($_REQUEST)
{ 
case empty($_REQUEST['name']):
echo" 名程必填";
case empty($_REQUEST['reviewer']):
echo" 用户名必填"; 
case empty($_REQUEST['review']):
echo" 评论必填";
}      



 //录入数据
    $mysql = new SaeMysql();
    $sql = "SELECT * FROM `remark` LIMIT 10";
    $data = $mysql->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()
    ?>   
巴扎黑
巴扎黑

全部回复(4)
大家讲道理
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']

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号