| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
为什么post一个form的string在另一页面变了?http://www.iyit.net 日期:2006-10-6 15:13:55 来源:iyit.net收集 点击: |
我的中有'字符,但是form中的数据到另一个页面用$_post读出来后所有的'都变成了\' !!!???? 为什么? --------------------------------------------------------------- 等了好一会没人回答,所以找了一下,呵呵, 应是这样了, php 和 html 有很多相互作用:php 能生成 html,html 可以向 php 传递信息。 1. 当我通过表单/url 传值时需要用什么编码/解码方法? 2. 我在试用 <input type="image"> 标记,但是没有 $foo.x 和 $foo.y 变量,它们哪去了? 3. 怎样在 html 的 <form> 中建立数组? 4. 怎样从可多选的 html 的 select multiple 标记中得到所有结果? 1. 当我通过表单/url 传值时需要用什么编码/解码方法? 在几个环节上编码方式很重要。假定你有 string $data,其中包含了你想通过非编码方式传递的字符串,那这是相关步骤: html 解析。要指定一个任意的字符串,你必须将其放在双引号中,并用 htmlspecialchars 处理整个值。 url:url 由几部分组成。如果你希望自己的数据被当作其中一项来解释,你必须用 urlencode() 对其编码。 例子 51-1. 隐藏的 html 表单单元 <?php echo "<input type=hidden value=\"" . htmlspecialchars($data) . "\">\n"; ?> 注: 用 urlencode() 来处理 $data 是错误的,因为是浏览器的责任来 urlencode() 数据。所有流行的浏览器都能正确处理。注意不论何种方法(例如 get 或 post)都会这样。不过你只会在用 get 请求时注意到这一点,因为 post 请求通常是隐藏的。 例子 51-2. 等待用户编辑的数据 <?php echo "<textarea name=mydata>\n"; echo htmlspecialchars($data)."\n"; echo "</textarea>"; ?> 注: 数据会按照预期的显示在浏览器中,因为浏览器会解释 html 转义符号。 当提交时,不论是 get 或者 post 方法,数据都会被浏览器进行 urlencode 来传输,并直接被 php urldecode。所以最终你不需要自己处理任何 urlencoding/urldecoding,全都是自动处理的。 --------------------------------------------------------------- 有些站点禁止post内容包含',因为这通常跟一些脚本语言、sql的有冲突,所以往往做些过滤 --------------------------------------------------------------- 这是因为magic_quotes_runtime 开关被打开了,系统自动加上的。 可用get_magic_quotes_runtime函数检查,set_magic_quotes_runtime函数设置 --------------------------------------------------------------- addslashes (php 3, php 4 ) addslashes -- quote string with slashes description string addslashes ( string str) returns a string with backslashes before characters that need to be quoted in database queries etc. these characters are single quote ('), double quote ("), backslash (\) and nul (the null byte). 注: magic_quotes_gpc is on by default. stripslashes (php 3, php 4 ) stripslashes -- un-quote string quoted with addslashes() description string stripslashes ( string str) returns a string with backslashes stripped off. (\' becomes ' and so on.) double backslashes are made into a single backslash ----------------------------------------------- 用stripslashes函数处理一下就好了, 不需要去改php.ini的设置. 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:<<< 是什么意思 下一篇:我怎么才能让留言时间和北京时间对应呀?它显示的是服务器时间,怎么改呀? 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 相关文章 | ||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||