欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php过滤空值的有关问题

程序员文章站 2022-05-31 12:29:56
...
php过滤空值的问题
php过滤空值的有关问题这个要死的POST,已经忽视了IF判断直接把空值写入数据库了

PHP接收端:


if($_GET['do'] =='add'){
if(!isset($_POST['porgnum']) && empty($_POST['porgnum'])){
echo '未填写登录名!';
}else if(!isset($_POST['porgname']) && empty($_POST['porgname'])){
echo '未填写昵称!';
}else if(!isset($_POST['ppasswd']) && empty($_POST['ppasswd'])){
echo '未填写密码!';
}else{
$orgid =$_POST['porgnum'];
$orgname =$_POST['porgname'];
$passwd =$_POST['ppasswd'];
$author =$_POST['pauthor'];
$con = mysql_connect(DB_HOST,DB_USER,DB_PASSWD);
mysql_select_db(DB_NAME,$con);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
if(!mysql_query("INSERT INTO `".DB_PRE."menber` (orgnum, orgname, passwd, power) VALUES ('$orgid', '$orgname', '$passwd', '$author')")){
die('错误!代码:' .mysql_error());
}else{
echo '注册成功!';
};
mysql_close($con);
};


PHP表单:


登录名
名称
新密码
12




JQUERY:


function new_org(){
var orgnum = j('#orgnum').val();
var orgname = j('#orgname').val();
var passwd = j('#passwd').val();
var author = j('#author').val();
j.ajax({
type:"POST",
url:"action.php?do=add",
data:{
porgnum:orgnum,
porgname:orgname,
ppasswd:passwd,
pauthor:author
},
dataType:"html",
cache:false,
async:false,
error:function(){
alert("发送失败!");
},
success:function(msg){
j('.admin_display').html(msg);
alert(orgnum);
}
});
};


能正常注册,写入数据库,但是,如果前端的iput不输入,直接提交,接收端会无视前端POST过来的“空值”,暂且称为“空值”吧,我也不知道是什么值,反正接收端已经无视这个空值,直接写入数据库了,大神们,求解脱,我已经块暴走了……
------解决思路----------------------
这里无论如何都会执行到else代码里面去呀 你可以在最后一个else 输出一个值调试下 我想问题应该在这里
------解决思路----------------------
if(!isset($_POST['porgnum']) && empty($_POST['porgnum'])){
这个就不对了
应该是 if(isset($_POST['porgnum']) && empty($_POST['porgnum'])){
$_POST['porgnum'] 存在且为空

按你写的,如果 $_POST['porgnum'] 不存在的话,不就进到 else 分支了吗?
其他类同
------解决思路----------------------
你没理解isset是什么意思,把&&换成或者(
------解决思路----------------------

------解决思路----------------------
这个完全是你自己疏忽了或者对isset没有理解
------解决思路----------------------
isset 检查变量是否定义。
没有定义放入变量当然可以认为是空
但值为空的变量也是变量呀
所以逆命题不成立
php过滤空值的有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频