免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2623 | 回复: 7
打印 上一主题 下一主题

我想知道下面代码为什么执行一次后就发生乱码,并且不能继续运行, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-20 09:56 |只看该作者 |倒序浏览
<?php
$name=$_POST[name];
$txt=$_POST[txt];
if($name&&$txt){

$txt=nl2br($txt);
$file=fopen("7.php","r+");
fwrite($file,"<b>".$name.date("Y-m-jH:i:s")."</b><br/>".$txt."<br/><hr>");
fclose($file);
header('refresh:0');
}
?>
<html>
<form method=post action="">
用户<input type=text name="name"><br/>
内容<textarea name="txt" cols="40" rows="6"></textarea><br/>
<input type=submit value="提交"><input type=reset>
</form>
<hr>
</html>

-----------------------
这段代码所在的文件就是7.php

论坛徽章:
0
2 [报告]
发表于 2007-08-20 11:08 |只看该作者
楼上代码与挥刀自宫有异曲同工之妙

论坛徽章:
0
3 [报告]
发表于 2007-08-20 11:35 |只看该作者
要仔细看手册啊

  1. <?php

  2. if(!empty($_POST['name'])&&!empty($_POST['txt'])){
  3.    
  4. $name=$_POST['name'];
  5. $txt=$_POST['txt'];

  6. $txt=nl2br($txt);
  7. $old = file("7.php");
  8. $file=fopen("7.php","wb");
  9. fwrite($file,"<b>".$name.date("Y-m-jH:i:s")."</b><br/>".$txt."<br/><hr>\n");
  10. foreach($old as $value)
  11. {
  12.     fwrite($file,$value);
  13. }
  14. fclose($file);
  15. header('refresh:0');
  16. }
  17. ?>
  18. <html>
  19. <form method=post action="">
  20. 用户<input type=text name="name"><br/>
  21. 内容<textarea name="txt" cols="40" rows="6"></textarea><br/>
  22. <input type=submit value="提交"><input type=reset>
  23. </form>
  24. <hr>
  25. </html>
复制代码

论坛徽章:
0
4 [报告]
发表于 2007-08-20 23:35 |只看该作者
哈哈
你这个程序有意思

论坛徽章:
0
5 [报告]
发表于 2007-08-21 19:22 |只看该作者
$file=fopen("7.php","r+");
上面不是打开7.php可读可写,并且指针在7.php文件最前面吗
fwrite($file,"<b>".$name.date("Y-m-jH:i:s")."</b><br/>".$txt."<br/><hr>");
上面这句就应该是把字符串加到文件头

为什么程序只运行一次就不能运行了?

论坛徽章:
0
6 [报告]
发表于 2007-08-21 21:41 |只看该作者

回复 #5 songshu07 的帖子

不会运行后自己再打开文件看啊。
叫你去看手册也不看,终于知道猪是怎么死的了。

论坛徽章:
0
7 [报告]
发表于 2007-08-21 23:42 |只看该作者
重复发帖。
而且这个不是之前已经回答过了吗?文件写入是覆盖模式,而不是插入模式。需要写入文件头,先把整个文件读出来,然后加入需要加入的东西,再整个写入文件。

想知道什么是覆盖模式,打开记事本,随便输入些什么东西,然后把光标移动到开头,按键盘 INSERT,随便打几个字试试。

论坛徽章:
0
8 [报告]
发表于 2007-08-24 11:39 |只看该作者
谢谢大家了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP