帮忙写个PHP小程序

当浏览者第一次访问这个页面的时候。页面上记住这个浏览者的IP。并用JS的alert输入"欢迎光临".然后,当这个IP再次访问这个页面的时候,就不弹出这个对话框了!<?ph... 当浏览者第一次访问这个页面的时候。页面上记住这个浏览者的IP。并用JS 的alert 输入"欢迎光临" . 然后,当这个IP再次访问这个页面的时候,就不弹出这个对话框了!

<?php
function cs(){
$ip=$_SERVER['REMOTE_ADDR'];
static $scs=0;
$scs+=1;
if ($scs=1)
echo "这里用JS弹出欢迎光临";
else
echo "什么也不做";
}
cs();
?>

写到这儿,我就不知道怎么写了, 当用户刷新一次页面。$cs就+一次,怎么写?
这个程序怎么写?
展开
 我来答
汲职0GL3f6
2011-09-05 · TA获得超过987个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:421万
展开全部
这里我必须纠正一下你个观点:
static只是静态变量。也就是说他不会因为循环而自动递增。
他没有什么特别的属性,和其他的变量一样,程序执行完成后会自动销毁的。

还有无视上面的,一楼的用cookie和session的不靠谱
二楼的在乱说话
三楼的在开玩笑

我为什么这么说:首先cookie,。好的,的确cookie可以实现,但是不靠谱,因为有些用户会关闭cookie,从而导致你的程序失效。
那session就更加不靠谱了,因为session只是记录本次的你与服务器的会话。一旦关闭了网页或者是到时间了,session就会自动消失。

“我用你这个PHP代码放到我的管理站点下预览,出现的是“这里用JS弹出欢迎光临”,这与你想要出现“欢迎光临”,不符合,所以应该先把前面的文字去掉,然后针对你的问题,你试试将"$scs+=1"里面的“+”去掉试试,呵呵,不对的话,等解决后,留言告诉我哈,我Q574153007 ”我是不懂他想什么= =估计是理解错了。

如果你想保存用户ip地址。

你需要用到文本文件或者是数据库(我推荐数据库)。

我是按照数据库的写法给你。。别告诉我你没安装MySQL

数据库代码给你(粘贴复制到MySQL命令行里就行了):
create database data;
//新建数据库

use data;
//打开数据库

create table fw(
f_id int primary key not null auto_increment,
f_ip varchar(15) not null
);
//创建fw数据表。f_id是主键,f_ip是存放ip的字段

PHP程序:
<?php
function cs(){
mysql_connect("localhost",root","123");
//连接mysql:主机名localhost,用户名root,密码123。看情况你自己改改
mysql_select_db("data");
//选择数据库data。
$ip=$_SERVER['REMOTE_ADDR'];
$query=mysql_query("
SELECT f_ip FROM fw
WHERE f_ip='$ip'");
//执行查询。查找和登录人一样的ip.
if(mysql_num_rows($query) == 0)
//如果数据库里没有这条记录
{
echo "这里用JS弹出欢迎光临";
$insert=mysql_query("
INSERT INTO fw(f_ip) values('$ip')
");
//对数据表fw插入这个ip地址。
}
else
echo "什么也不做";
}
cs();
?>

这是我用文本文件写的:(比较简单,最好用数据库,因为数据库可以实现的功能更多。)
<?php
function fw()
{
header("Content-Type: text/html; charset=utf-8"); //声明文档的字符集
$ip=$_SERVER['REMOTE_ADDR'];
//把ip地址保持为变量
$open=fopen("fw.txt","a+");
//如果没有fw.txt会自动创建,否则只是打开
$file=file('fw.txt');
//把fw.txt文件每一行保持为数组
foreach($file as $val)
//使用foreach循环,把数组里的每一个元素赋予$val
{
if($val == $ip)
//用户曾经登录过
{
$check=1;
//保存一个标记
break;
//跳出循环
}
}
if($check == 1)
//如果标记存在,也就表示用户登录过
echo '什么也不提示';
else
{
//这表示第一次登录
echo 'js的欢迎登录';
fwrite($open,"\r\n".$ip);
//写入ip地址。\r\n是换行
}
}
fw();
//执行函数
?>
xp12315
2011-09-04 · TA获得超过660个赞
知道小有建树答主
回答量:491
采纳率:0%
帮助的人:450万
展开全部
哥们你误区了吧。。。PHP运行完就自己销毁了 怎么记录? 记录要通过cookie, 或者session来记录

<?php
function test() {
if($_COOKIE['is_visited']) {
$message = '什么也不做';
} else {
$message = '欢迎光临';
setcookie('is_visited', '1', time()+3600);
}

return $message;
}

echo test();
?>

随手写的。。自己测试一下。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-04
展开全部
我用你这个PHP代码放到我的管理站点下预览,出现的是“这里用JS弹出欢迎光临”,这与你想要出现“欢迎光临”,不符合,所以应该先把前面的文字去掉,然后针对你的问题,你试试将"$scs+=1"里面的“+”去掉试试,呵呵,不对的话,等解决后,留言告诉我哈,我Q574153007
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔之梦魇在家6C
2011-09-04 · 超过22用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:55.8万
展开全部
<?php
session_start();
if (isset($_SESSION['count'])) {
$_SESSION['count']++;
} else {
$_SESSION['count'] = 1;
echo "这里用JS弹出欢迎光临";
}
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式