首页 >> 读书频道 >> 电脑 >> 关于使用文本域(TextArea)的一个问题
 
· 如何统计在线人数
· date.inc.php
· 模拟SQL Server
· PHP中的常量
· Apache+php3+
· Windows 2000
· 对《PHP的面向对象编程
· PHP4调用JavaBe
· 谈谈如何在PHP中加入自
· 我学php从自动摇奖系统
· 如何集成Linux、Ap
· session 的生命周
 
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

关于使用文本域(TextArea)的一个问题


查看有无更新版本

关键字:PHP 2006-9-4

 

我在使用表单处理信息时发现,对文本域的处理不正确。例如下面的一个表格:

--------------------------------------------------------------------------------
test.html
<html>
<head>
<title> TextArea Test </title>
</head>
<body bgcolor="#FFFFFF">
<form method="post" action="test.php">
文件名<input type="text" name="filename" value="test.txt"><br>
内容:<br>
<textarea name="content" cols="80" rows="20">"aaa" \"bbb\"</textarea><br>
<input type="submit" name="Submit" value="写好了">
<input type="reset" name="Submit2" value="重写">
</form>
</body>
</html>
test.php
<?
$fp=fopen($filename, "w");
fwrite($fp, $content);
fclose($fp);
echo "OK";
?>
--------------------------------------------------------------------------------
上面的例子是用来测试的,主要是想完成用户可以输入一个文件名,然后可以输入文件的内容。确认后
可以在服务器上保存文件。下面简单地说明一个两个文件的内容。
test.html 中有一个表单,里面有一个文本框和一个文本域。文本框用来输入要保存的文件名,文本域
用来输入文件的内容。文件名缺省设为"test.txt",文件内容缺省设为"aaa" \"bbb\"。表单的动作为"post",
执行文件为"test.php"。
test.php则很简单。打开指定文件,写入文件内容,关闭文件,输出"OK"。
原来我想文件内容应该是"aaa" \"bbb\",但结果并不是这样,而是\"aaa\" \\\"bbb\\\"!在每一个双
引号(")和反斜线(\)(其实还有单引号和空(nul))前都加上了一个转义用的反斜线。这是为什么? 于是,我
查询了PHP中文手册,看到关于PHP.ini的配置中关于magic_quotes_gpc和magic_quotes_runtime的说明,我
知道了是因为PHP给自动处理了。这样,我就将PHP.ini配置中的magic_quotes_gpc和magic_quotes_runtime
设成了off,结果就正确了。
但是如果服务器我无法改动怎么办?于是又查阅了一下字串符处理函数,我发现stripslashes()函数就
可以完成这个工作。这样首先把PHP.ini改成原来的样子,再修改test.php如下:
--------------------------------------------------------------------------------
<?
$fp=fopen($filename, "w");
$content=stripslashes($content);
fwrite($fp, $content);
fclose($fp);
echo "OK";
?>
--------------------------------------------------------------------------------
再检查结果,完全符合我的需要!
还有要注意的是,如果你想做一个修改文件内容的应用。如,首先把文件内容读出来,放入到文本域中,
用户可以进行修改。那么当文件中有特殊的符号,如"<",">","&" 符等,直接显示就会与实际内容不符。
没关系,PHP还提供了htmlspecialchars()函数将特殊字符转换成HTML 的字串格式,这样显示与处理都是正
确的了。
这是我在处理文本域时发现的一个问题,希望能对你有帮助!

关于使用文本域(TextArea)的一个问题

[ 1 ]
关于使用文本域(TextArea)的一个问题 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑