
PHP表单传递的值变了,为什么?
我在表单页:echo$sql;<formname="form1"method="post"action="daap.php"><inputtype="hidden"nam...
我在表单页:
echo $sql;
<form name="form1" method="post" action="daap.php">
<input type="hidden" name="ws" value="<?=$sql?>">
<input name="daochu" type="submit" id="daochu" value="导出">
在接收页:
echo $ws;
运行后,表单页显示$sql的结果是select * from team where tcl>'15'
接收页显示$ws的结果变成了select * from team where tcl>\'15\'
导致数据库查询无法正常进行
这是为什么? 展开
echo $sql;
<form name="form1" method="post" action="daap.php">
<input type="hidden" name="ws" value="<?=$sql?>">
<input name="daochu" type="submit" id="daochu" value="导出">
在接收页:
echo $ws;
运行后,表单页显示$sql的结果是select * from team where tcl>'15'
接收页显示$ws的结果变成了select * from team where tcl>\'15\'
导致数据库查询无法正常进行
这是为什么? 展开
6个回答
展开全部
检查
1、php页面之前,是不是在html页面上js做了变化
2、php页面入口程序是不是做了 变量的过滤,使最终得值变化了
3、变量含有特殊或者特殊符号,php引擎做了默认处理
这个是字符转义了,魔术转换
提醒:这是很不安全得做法,把sql语句当做表单变量
1、php页面之前,是不是在html页面上js做了变化
2、php页面入口程序是不是做了 变量的过滤,使最终得值变化了
3、变量含有特殊或者特殊符号,php引擎做了默认处理
这个是字符转义了,魔术转换
提醒:这是很不安全得做法,把sql语句当做表单变量
展开全部
这个是页面转义了. 才能正确传递的.
你可以用urlencode编码后传递. 到接收页面 urldecode解码回来
你可以用urlencode编码后传递. 到接收页面 urldecode解码回来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php.ini中开启了
Magic Quotes GPC
Magic Quotes GPC
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在不同页面之间进行传值操作时要注意,如果传输的值中间又特殊字符,一定要将特殊字符处理后再传值,否则会发生改变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
被转义了, 找到php.ini文件
修改
magic_quotes_gpc=off 重启下就可以了
修改
magic_quotes_gpc=off 重启下就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是转义字符的问题 输出的 或者从想从数据库读取的时候 把转义字符去掉 可以在接受页面 echo $ws=stripslashes($_POST['ws']); 试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询