LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1330|回复: 7

一个简单的计数器问题?

[复制链接]
发表于 2006-11-13 17:31:05 | 显示全部楼层 |阅读模式
脚本:
<?php
Header("Content-type:image/gif");

$file = fopen( jsq, r);
$str = fgets( $file, 10) + 0;
$str++;
$s3 = fclose ( $file);
$file = fopen( jsq, w);
$s1 = fputs( $file, $str);
$s2 = fclose( $file);

$font = 20;
$im = imagecreate( 300,200);
$black = imagecolorallocate( $im,175,175,175);
$col = imagecolorallocate($im,75,20,225);
$s4 = imagefill( $im,0,0,$black);
$start = (imagesx( $im)-16.6*7)/2;
$s5 = imagestring( $im,$font,$start,85,"You're $str!!!",$col);
$s6 = imagegif( $im);
$s7 = imagedestroy( $im);

php?>
我先将jsq文件中输入一个0,然后在浏览器里打开php脚本显示为1 刷新后显示3 再刷新为5   
而jsq中的数为2   刷新 4    刷新 6
 楼主| 发表于 2006-11-13 17:33:11 | 显示全部楼层
请问错在哪里?
回复 支持 反对

使用道具 举报

发表于 2006-11-13 19:00:30 | 显示全部楼层
首先, $file = fopen( jsq, r); ==> $file = fopen("jsq", "r");, 字符串要加引号. 其次, 有php?>结束标签吗?

最后, 回答你的问题:
你的程序没有任何逻辑问题, 问题出在浏览器. 浏览器会向服务器发送再次请求(我不知道为什么), 但只显示第一次请求的结果. 如果你写一个html文件调用<img src="test.php"/>, 计数就没有问题.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-14 09:53:55 | 显示全部楼层
谢谢 ideawu的支持!
回复 支持 反对

使用道具 举报

发表于 2006-11-14 21:10:45 | 显示全部楼层
真是奇怪,我测试了这个程序,发现没有异常
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-15 15:30:17 | 显示全部楼层
今天我又测了一下这个脚本
apache服务器和脚本在我的电脑上
在我的电脑上用浏览器打开时还是每次都加2
不过用同事的电脑访问时每次加1
不知道是为什么
回复 支持 反对

使用道具 举报

发表于 2006-11-15 18:25:17 | 显示全部楼层
你同事和你用相同的浏览器吗? 我用Firefox.
回复 支持 反对

使用道具 举报

发表于 2006-11-17 03:26:25 | 显示全部楼层
我的konqueror
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表