火星来的菜鸟问题===>用php怎么建立服务端的变量?用$serv = 1;那每次请求这个页面的时候都会把$serv重置成1! 如果是ASP.NET就好办.你可以在上面加上判断,如果是返回的请求而面,你就不执行它. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 包进那个页的时候可以使用include_once("my.server.php");进行只包一次即可。其实你的问题问的蛮有趣的,让人看不太懂~ if(!isset($serv )){ $serv =1;}不是楼主是不是这个意思? //我贴出源码,帮我分析分析<?php//DynamicUpdate.server.php$counter =1;$message = '';$task = $_GET['task'];if (strcmp($task, "reset") == 0) { $counter = 1;} else { switch ($counter) { case 1: $message = "Steve walks on stage"; break; case 2: $message = "iPods rock"; break; case 3: $message = "Steve says Macs rule"; break; case 4: $message = "Change is coming"; break; case 5: $message = "Yes, OS X runs on Intel - has for years"; break; case 6: $message = "Macs will soon have Intel chips"; break; case 7: $message = "done"; break; } $counter++;}echo $message;?>//------------------------------------webclient第一次发出请求url:DynamicUpdate.server.php?task=reset把$counter置为1第二次及以后url:DynamicUpdate.server.php?task=foo每次这个请求过来$counter的值总是被设置为1,因此这个页面总输出Steve walks on stage我想让$counter的值在服务段保存,这样就可以循环输出其他字符串但是我不知道怎么让$counter的值在服务段保存。 把counter传到客户端保存再传回服务器端client.php?counter=$counterserver.php?counter=$_GET['counter'] 回楼上,如果有很多webclient同时访问呢?好像不好了阿~~~ 哦,不是.php里只能保存到数据库或文件了,没有跨页面跨用户的变量 <?php$a=1;$b=2;$a=$a+$b;echo $a;?>如果两个人在几乎同一时间访问这个程序,正当一个访问者快执行到了$a=$a+$b;时候,另一访问者刚好执行$a=1;那么,此时输出的结果是什么呢?? 要不就是PHP是锁定执行的?在第一个访问者执行完毕之前不同时受理第二个访问者? 回复人:helloyou0(你好!) ( 一星(中级)) 信誉:100 2006-10-18 8:44:24 得分:0? 你这个可以用session吧.说的对。 session怎么用阿?能不能举个非常非常非常简单的例子阿?泻~~~泻~~~~^_^ 1.php<?session_start(); //启动sessionsession_register("name"); //在session中注册name global $name; $name = "this"; echo "$name"; echo "<a href="2.php">指向</a>";?>2.php<?session_start(); //启动session echo "$name"; //$name传过来了?> 改成这样你看行不行<?php//DynamicUpdate.server.phpsession_start();$message = '';$task = $_GET['task'];if ($task == "reset") { $_SESSION['counter'] = 1;} else { switch ($_SESSION['counter']) { case 1: $message = "Steve walks on stage"; break; case 2: $message = "iPods rock"; break; case 3: $message = "Steve says Macs rule"; break; case 4: $message = "Change is coming"; break; case 5: $message = "Yes, OS X runs on Intel - has for years"; break; case 6: $message = "Macs will soon have Intel chips"; break; case 7: $message = "done"; break; } $_SESSION['counter']++;}echo $message;?> 请允许我以最高分贝感谢yangyu112654374(Young) 和woonmay() !yangyu112654374(Young)简单通俗易懂……的示例使我对session有了初步,影响深刻的认识!^_^woonmay() 的解决方案使我的程序能够正常的运转!非常的开心~~^0^ 但是,这个session在服务段持续多久呢?那如果这个过期了怎么办?如果有很多人(2个以上)向DynamicUpdate.server.php发送请求DynamicUpdate.server.php?task=foo,$_SESSION['counter']++ 是不是会为每个请求都作一次自加?比如有100个请求,那是不是会做100次自加? session 持续多久是由你来定的,关于这方面的东西你先看看php手册。其实说白了session 也是用文件来构造一个变量,保存在服务器端的。这里不用session也可以用文件,数据库等等完成你所需要的功能。可能session相对来说简单点。有100次的请求当然会累加100次,但你可以在你的程序作个判断嘛。 【SQL注入】关于MySql数据库order by后注入点的疑问 类里面想用global怎么办? 怎样取消tab键的切换功能 svn的存储路径在哪里?我想添加一个项目,不知道怎么弄呢? php有没有差不多别的语言lastIndexOf的功能啊, apache + php 问题,高手给看看 上传图片出错,这段代码我以前用的时候没报错 Redhat 7.3编译PHP4。3.3错误如下:...... 请问如何用表单的onChange更新页面? iis+php安装错误,十万火急 用户刷新一下又把前一页的数据插入了数据库,我该怎么控制? 请问有没有类似百度知道这类型的php程序?
include_once("my.server.php");进行只包一次即可。其实你的问题问的蛮有趣的,让人看不太懂~
{
$serv =1;
}不是楼主是不是这个意思?
<?php
//DynamicUpdate.server.php
$counter =1;
$message = '';
$task = $_GET['task'];
if (strcmp($task, "reset") == 0) {
$counter = 1;
} else {
switch ($counter) {
case 1: $message = "Steve walks on stage"; break;
case 2: $message = "iPods rock"; break;
case 3: $message = "Steve says Macs rule"; break;
case 4: $message = "Change is coming"; break;
case 5: $message = "Yes, OS X runs on Intel - has for years"; break;
case 6: $message = "Macs will soon have Intel chips"; break;
case 7: $message = "done"; break;
}
$counter++;
}
echo $message;
?>
//------------------------------------
webclient第一次发出请求
url:DynamicUpdate.server.php?task=reset
把$counter置为1
第二次及以后
url:DynamicUpdate.server.php?task=foo
每次这个请求过来$counter的值总是被设置为1,因此这个页面总输出
Steve walks on stage
我想让$counter的值在服务段保存,这样就可以循环输出其他字符串
但是我不知道怎么让$counter的值在服务段保存。
client.php?counter=$counter
server.php?counter=$_GET['counter']
$a=1;
$b=2;
$a=$a+$b;
echo $a;
?>如果两个人在几乎同一时间访问这个程序,正当一个访问者快执行到了$a=$a+$b;时候,另一访问者刚好执行$a=1;那么,此时输出的结果是什么呢??
在第一个访问者执行完毕之前不同时受理第二个访问者?
? 你这个可以用session吧.说的对。
泻~~~泻~~~~
^_^
<?
session_start(); //启动session
session_register("name"); //在session中注册name
global $name;
$name = "this";
echo "$name";
echo "<a href="2.php">指向</a>";
?>2.php
<?
session_start(); //启动session
echo "$name"; //$name传过来了
?>
//DynamicUpdate.server.php
session_start();
$message = '';
$task = $_GET['task'];
if ($task == "reset") {
$_SESSION['counter'] = 1;
} else {
switch ($_SESSION['counter']) {
case 1: $message = "Steve walks on stage"; break;
case 2: $message = "iPods rock"; break;
case 3: $message = "Steve says Macs rule"; break;
case 4: $message = "Change is coming"; break;
case 5: $message = "Yes, OS X runs on Intel - has for years"; break;
case 6: $message = "Macs will soon have Intel chips"; break;
case 7: $message = "done"; break;
}
$_SESSION['counter']++;
}
echo $message;
?>
yangyu112654374(Young)简单通俗易懂……的示例使我对session有了初步,影响深刻的认识!^_^
woonmay() 的解决方案使我的程序能够正常的运转!非常的开心~~^0^
其实说白了session 也是用文件来构造一个变量,保存在服务器端的。
这里不用session也可以用文件,数据库等等完成你所需要的功能。
可能session相对来说简单点。
有100次的请求当然会累加100次,但你可以在你的程序作个判断嘛。