显示当前在线人数
介绍:
我们可以通过程序来显示当前的数据。
注重的两点:1.必须把下列代码放到扩展名为.PHP的文件中;2.在你的服务器上运行代码时,你的服务器必须支持MYSQL数据库。
代码如下:
下列代码放到你想显示信息的地方。
<?php
//EDIT THIS
$server = "localhost";
$db_user = "database username";
$db_pass = "database password";
$database = "database";
$timeoutseconds = 300;
//STOP EDITING
$timestamp = time();
$timeout = $timestamp-$timeoutseconds;
mysql_connect($server, $db_user, $db_pass);
$insert = mysql_db_query($database, "INSERT INTO useronline VALUES
('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
if(!($insert)) {
print "Useronline Insert Failed > ";
}
$delete = mysql_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout");
if(!($delete)) {
print "Useronline Delete Failed > ";
}
$result = mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'");
if(!($result)) {
print "Useronline Select Error > ";
}
$user = mysql_num_rows($result);
mysql_close();
if($user == 1) {
print("$usern");
} else {
print("$usern");
}
?>
最后在MYSQL中修改你的 username 和 passwords
PHP最有用的特性之一是它能够自动将表单中的变量值赋予PHP变量。这使得表单处理变得非常快捷。
因此,假如你送出一个内含输入栏位值的表单如下:
<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">
当你用PHP处理此页面,$name变量的值就会是 Glen Morris。
因此,你可以用如下的方式把值打印出来:
echo "Hi $name!";
或者像这样测试其值:
if ($name == "Glen Morris") { echo "Please check your email."; }
这有一个用PHP处理基本表单的很好方法。例如,我们需要做一个简单的问卷调查,要求填写者必须填写他们的姓名,电子邮件地址,并回答一些我们感爱好的问题。
首先,我们会将页面拆成两个函数。因此,我们只需要写一个 PHP页面并用程序逻辑去控制对用户的显示内容就可以了,而不是写两个单独的网页(一个针对表单部分,另外一个针对处理表单的CGI脚本)。
显示表单
第一个函数用来显示表单:
<?php
functiondisplay_form() {
global $PHP_SELF;
?>
<FORM TARGET="<?php echo $PHP_SELF; ?>" METHOD=GET>
Name: <INPUT TYPE=TEXT NAME="name"><BR>
Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie
<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar
<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella
Favorite Times to Eat Cheese:
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="m">Morning
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="n">Noon
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="d">Dinner
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="l">Late night
<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">
<INPUT TYPE=SUBMIT VALUE="Thanks!">
</FORM>
<?php
}
?>
导读:
正则表达式在网络编程中的运用
[前言:]在我们编写WEB程序时,经常会判定一个字符串的有效性,如;一个串是否是数字、是否是有效的Email地址等等。假如不使用正则表达式,那么判定的程序会很长,并且轻易出错,假如使用正则表达式,这些判定就是一件很轻松的工作了。本文全面介绍正则表达式的慨念、格式。并以在PHP、ASP中的应用实例增加读者的感性熟悉。正则表达式的应用很广,需要大家在学习和实践中不断的总结。
正则表达式简介
简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。在网络编程中应用广泛,如PHP脚本语言或是JavaScript、VBScript这样的客户端脚本语言都提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。
正则表达式可以让用户通过使用一系列的非凡字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。
举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确,假如通过正则表达式验证用户邮件地址的格式正确,用户所填写的表单信息将会被正常处理;反之,假如用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。由此可见正则表达式在WEB应用的逻辑判定中具有举足轻重的作用。在后面我们会举例具体介绍。
正则表达式形式一般如:/love/,其中位于"/"定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入"/"定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的"元字符"。所谓元字符就是指那些在正则表达式中具有非凡意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。较为常用的元字符包括: " ,"*,?以及{}",或者"s,S,d,w和W"等等。为了能够方便用户更加灵活的设定匹配模式,正则表达式答应使用者在匹配模式中利用[]界定匹配于某一个范围的字符而不局限于具体的字符。
除了我们以上的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。较为常用的定位符包括: "^", "$", "b" 以及 "B"。
假如我们希望在正则表达式中实现类似编程逻辑中的"或"运算,在多个不同的模式中任选一个进行匹配的话,可以使用管道符 "|"。例如: 正则表达式中还有一个较为常用的运算符,即否定符 "[^]"。与我们前文所提到的定位符 "^" 不同,否定符 "[^]"规定目标对象中不能存在模式中所规定的字符串。一般来说,当"^"出现在 "[]"内时就被视做否定运算符;而当"^"位于"[]"之外,或没有"[]"时,则应当被视做定位符。
最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符""。例如:/Th*/,该正则表达式将会与目标对象中的"Th*"而非"The"等相匹配。
正则表达式的语法规则和标记
现在我们正式进入则表达式的学习,我会根据实例结合讲解正则表达式的用法,看完后你就会觉得写UBB代码如此简单了,只要你一步一步的跟着我学 看完本文章后你就成为UBB高手了。激动人心的就是你能写出自已的UBB标签来了,再也不用到别人那里去拷贝现成的代码和模板了。 还好VBScritp5.0给我们提供了"正则表达式"对象,只要你的服务器安装了IE5.x,就可以运行了.
字符描述:
^符号匹配字符串的开头。例如:
^abc 与"abc xyz"匹配,而不与"xyz abc"匹配
$符号匹配字符串的结尾。例如:
abc$ 与"xyz abc"匹配,而不与"abc xyz"匹配。
注重:假如同时使用^符号和$符号,将进行精确匹配。例如:
^abc$ 只与"abc"匹配
*符号匹配0个或多个前面的字符。例如:
ab* 可以匹配"ab"、"abb"、"abbb"等
符号匹配至少一个前面的字符。例如:
ab 可以匹配"abb"、"abbb"等,但不匹配"ab"。
?符号匹配0个或1个前面的字符。例如:
ab?c? 可以且只能匹配"abc"、"abbc"、"abcc"和"abbcc"
.符号匹配除换行符以外的任何字符。例如:
(.) 匹配除换行符以外的所有字符串
x|y匹配"x"或"y"。例如:
abc|xyz 可匹配 "abc"或 "xyz",而"ab(c|x)yz"匹配 "abcyz"和"abxyz"
{n}匹配恰好n次(n为非负整数)前面的字符。例如:
a{2} 可以匹配"aa",但不匹配"a"
{n,}匹配至少n次(n为非负整数)前面的字符。例如:
a{3,} 匹配"aaa"、"aaaa"等,但不匹配"a"和"aa"。
PHP,作为命令行工具,它对于 Web 页面来说一直都非常可靠。
当然,只是可以 在命令行中使用 PHP 当然不是这样做的最佳理由。但是,在开始以这种方式用 PHP 进行试验时可能很快就会发现调试现有脚本将变得前所未有地简单。由主要输出和极少逻辑组成的 PHP 程序都将变得令人难以置信地简单。除此之外,还可以使用所有 PHP 知识来完成以前从未想过使用 PHP 完成的任务。事实上,确实没有任何事能阻止您使用 PHP 作为几乎所有给定编程项目的全能王。
安装
安装十分简单扼要,它甚至可能都不需要非凡安装任何内容。开始时先在命令行中尝试一个简单的 PHP 脚本。您可以使用现有 PHP 脚本,也可以尝试使用以下代码。本例是基于 Linux 的,但是类似的原理也适用于其他系统。
首先,确认 PHP 可执行文件的位置
想必很多人都对正则表达式都头疼.今天,我以我的熟悉,加上网上一些文章,希望用常人都可以理解的表达方式.来和大家分享学习经验.
开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明
"^The": 开头一定要有"The"字符串;
"of despair$": 结尾一定要有"of despair" 的字符串;
那么,
"^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配
"notice": 匹配包含notice的字符串
你可以看见假如你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边
接着,说说 '*', ' ',和 '?',
他们用来表示一个字符可以出现的次数或者顺序. 他们分别表示:
"zero or more"相当于{0,},
"one or more"相当于{1,},
"zero or one."相当于{0,1}, 这里是一些例子:
"ab*": 和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串("a", "ab", "abbb", 等);
"ab ": 和ab{1,}同义,同上条一样,但最少要有一个b存在 ("ab", "abbb", 等.);
"ab?":和ab{0,1}同义,可以没有或者只有一个b;
"a?b $": 匹配以一个或者0个a再加上一个以上的b结尾的字符串.
要点, '*', ' ',和 '?'只管它前面那个字符.
你也可以在大括号里面限制字符出现的个数,比如
"ab{2}": 要求a后面一定要跟两个b(一个也不能少)("abb");
"ab{2,}": 要求a后面一定要有两个或者两个以上b(如"abb", "abbbb", 等.);
"ab{3,5}": 要求a后面可以有2-5个b("abbb", "abbbb", or "abbbbb").
现在我们把一定几个字符放到小括号里,比如:
"a(bc)*": 匹配 a 后面跟0个或者一个"bc";
"a(bc){1,5}": 一个到5个 "bc."
还有一个字符 '│', 相当于OR 操作:
"hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;
"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;
"(a│*c": 匹配含有这样多个(包括0个)a或b,后面跟一个c 的字符串;
一个点('.')可以代表所有的单一字符,不包括"n"
假如,要匹配包括"n"在内的所有单个字符,怎么办?
对了,用'[n.]'这种模式.
"a.[0-9]": 一个a加一个字符再加一个0到9的数字
"^.{3}$": 三个任意字符结尾 .
中括号括住的内容只匹配一个单一的字符
"[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样);
"[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); 一般我们都用[a-zA-Z]来指定字符为一个大小写英文
"^[a-zA-Z]": 匹配以大小写字母开头的字符串
"[0-9]%": 匹配含有 形如 x% 的字符串
",[a-zA-Z0-9]$": 匹配以逗号再加一个数字或字母结尾的字符串
你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 作为开头 "%[^a-zA-Z]%" 匹配含有两个百分号里面有一个非字母的字符串.
要点:^用在中括号开头的时候,就表示排除括号里的字符
为了PHP能够解释,你必须在这些字符面前后加'',并且将一些字符转义.
不要忘记在中括号里面的字符是这条规路的例外
相关文章
- 这篇文章主要为大家详细介绍了jQuery实现广告显示和隐藏动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-07-05
- 为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢?下面通过本文给大家介绍JavaScript实现表单密码的隐藏和显示,需要的朋友参考下...2016-03-03
- 这是一个非常精确的,通过php实现统计在线人数的方法,想知道怎么实现的请耐心阅读。<?php $filename='online.txt';//数据文件 $cookiename='VGOTCN_OnLineCount';//cookie名称 $onlinetime=600;//在线有效时间,单位:...2015-10-23
- 想在网页中动态地显示当前系统的时间,找了好多,不过都是一些停在那里不动的。。。不过皇天不负有心人,终于让我找到了...2020-06-25
- 这篇文章主要介绍了C#实现动态显示及动态移除图片方法,对于C#的初学者了解图像操作有一定的帮助,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了解决druid监控页面SQL不显示的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-19
- 这篇文章主要介绍了javascript点击按钮实现隐藏显示切换效果,以一个完整的实例为大家分析了js点击按钮实现隐藏显示切换的功能,感兴趣的小伙伴们可以参考一下...2016-02-05
- 下面小编就为大家分享一篇c# 获得当前绝对路径的方法(超简单),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- 最近要做个网页图片批量下载工具,然后需要一个页面显示网页上的所有图片供用户勾选,再根据勾选的内容来下载指定图片,其中就涉及到要到同时显示多张图片,本文就来介绍一下...2021-06-11
- 这篇文章主要介绍了R语言-在一张图上显示多条线的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了C#实现让窗体永远在窗体最前面显示,功能非常实用,需要的朋友可以参考下...2020-06-25
- 本篇文章是对c#中任务栏隐藏与显示的实现方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
android中ToolBar设置NavigationIcon图标不显示、失败、没反应,绝对管用
ToolBar工具昨天介绍过相关的教程今天我们来看看关于android中ToolBar设置NavigationIcon图标不显示、失败、没反应,绝对管用问题的解决办法。 最近开发android ap...2016-10-02- 下面小编就为大家分享一篇C#实现将一个字符串进行翻转显示的6种方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- C# 字符串多行显示、文本换行以textbox为例讲为大家详细介绍并附演示效果图及演示代码,感兴趣的朋友可以了解下,或许对你学习字符串换行有所帮助...2020-06-25
- 这篇文章主要介绍了解决Echarts 显示隐藏后宽度高度变小的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-19
- 这篇文章主要介绍了C#实现鼠标移动到曲线图上显示值的方法,是C#的WinForm窗体程序设计中非常实用的技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要为大家详细介绍了Matlab使用Plot函数实现数据动态显示方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
- 这篇文章主要为大家详细介绍了JQuery实现隐藏和显示动画效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-14
- 如果你碰到php 不显示错误的话可能是你php.ini中把错误提示给关了,解决办法很简单我们只要把php.ini中的display_error = off改成on即可。 解决办法 1、php.ini里...2016-11-25