编码问题 写个JavaScript加密程序啊,将tongji里的value加密后提交。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在你的admin.php页面获取tongji时候加:$tongji = base64_encode($_POST['tongji']);其它的不加就直接:$site = $_POST['site'];注意在读数据的时候加了base64_encode要用base64_decode来解码 这个行不通的 就是因为提交的时候 有部分特殊符号让提交的数据不完整 后来我想到用base64_encode编码来解决这个错误 那用js,首先在客户端编码一下,再传服务端.http://www.phpchina.com/html/81/n-33481.html这里面有js的base64_encode方法,可以与php里面base64_encode相互转换。 理论上,post上传默认是base64_encode;所以不是传值的问题,而是你接值后入数据库时数据库自动给处理了所以,入库前最好转义,一般加addslashes(),处理过,不会有问题 这个是tongji这个里头包含&这个符号 比如一个统计代码http://wjkljls.com/1.php?id=32343&user=3434这样子 就出现了错误 http://wjkljls.com/1.php?id=32343后面的就取不到了 实在编码不了 只有换个获取或者说在post前 将tongji这个输入的把&替换成#号 让在调用了时候我在替换回来问题是我不知道怎么加代码<input name="tongji" type="text" size="20" >要把&替换成# 如果是表单POST上传,你在接收页打印一下print_r($_POST);就可以知道接收是否正常?如果你用get传值 比如一个参数是id="32343&3434" ,这时就要做编码处理了,一般将它转为实体即比如:echo '<a href=a.php?id='.htmlspecialchars(urldecode('32343&3434')).' >aaa</a>';这个将&变成实体,可以传过去,接收页自动解码,不要处理print_r($_GET);看看便知 我测试了一上,在Post表单中上传时.在input中输入&aaa等,接收正常,不会丢失aaa内容 花了点时间实测了一下:结论如下:如果POST传值,&能作为字串传过去如果GET传值,要将&编码,用urlencode即可//测试下面的echo ' <a href="b.php?id='.urlencode('32343&3434').'&b=4" > aaa</a>';echo ' <a href="b.php?id='.urlencode('32343&3434&b=4').'" > aaa</a>';echo ' <a href="b.php?id=32343&3434&b=4" > aaa</a>';接收页b.phpprint_r($_GET); 我在一个表单中插入了记录,显示正常你在一个表单中测下,输入 aaa&bbbb,接收打印Print_r($_POST); 高手请进:php调用串口dio_open("com1:",O_NOCTTY)程序无输出反应 求一个正则表达式 乱码问题 江湖救急。出错信息提示,何解? 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 关于动态网页语言处理返回xml格式数据的问题 PHP实现网站保存快捷桌面方式 MYsql总是出以下的错,当我更新一个记录时: 关于php页面的刷新 php中utf16be编码转换成utf8可行吗? 第一次发帖,关于后台输出前台的。 看到个有趣的招聘,大家来做下这些题目吧 php 生成pdf?
$tongji = base64_encode($_POST['tongji']);
其它的不加就直接:
$site = $_POST['site'];
注意在读数据的时候加了base64_encode要用base64_decode来解码
这个行不通的 就是因为提交的时候 有部分特殊符号让提交的数据不完整 后来我想到用base64_encode编码来解决这个错误
http://www.phpchina.com/html/81/n-33481.html
这里面有js的base64_encode方法,可以与php里面base64_encode相互转换。
这个是tongji这个里头包含&这个符号 比如一个统计代码http://wjkljls.com/1.php?id=32343&user=3434这样子 就出现了错误 http://wjkljls.com/1.php?id=32343后面的就取不到了 实在编码不了 只有换个获取或者说在post前 将tongji这个输入的把&替换成#号 让在调用了时候我在替换回来问题是我不知道怎么加代码
<input name="tongji" type="text" size="20" >
要把&替换成#
如果你用get传值 比如一个参数是id="32343&3434" ,这时就要做编码处理了,一般将它转为实体即
比如:echo '<a href=a.php?id='.htmlspecialchars(urldecode('32343&3434')).' >aaa</a>';
这个将&变成实体,可以传过去,接收页自动解码,不要处理
print_r($_GET);看看便知
花了点时间实测了一下:
结论如下:如果POST传值,&能作为字串传过去如果GET传值,要将&编码,用urlencode即可//测试下面的
echo ' <a href="b.php?id='.urlencode('32343&3434').'&b=4" > aaa</a>';
echo ' <a href="b.php?id='.urlencode('32343&3434&b=4').'" > aaa</a>';
echo ' <a href="b.php?id=32343&3434&b=4" > aaa</a>';接收页
b.php
print_r($_GET);
我在一个表单中插入了记录,显示正常
你在一个表单中测下,输入 aaa&bbbb,接收打印Print_r($_POST);