首页 > php代码 > 关于使用文本域(TextArea)的一个问题

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

我在使用表单处理信息时发现,对文本域的处理不正确。例如下面的一个表格:

---------------------------------------------------------------
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如下:

文章网址:http://www.phprm.com/code/d2768f2ba6e8854eed39df188ebd0615.html

随意转载^^但请附上教程地址。

标签:none

发表留言