mont blanc 146 fountain pen mont blanc 100 year mont blan mont blac watches mont blac mont balnc monster replica watches monaco replica watches milus replica watches millenium replica watches mido watches mido watch michele replica watches mens watches replica mens watches mens watch mens tank watch mens swiss watches mens swiss watch mens replica watches mens replica rolex 6993 mens luxury watches mens luxury watch mens designer watches mens designer watch mens corum watches mens breitling with diamonds reproduction replica copy men watches men watch men swiss watches men swiss watch men designer watches men designer watch men cartier watches

由于dreamhost默认已经安装了svn的客户端和服务端,我在这里就不再说明如何安装

客户端使用想必大家已经非常熟悉

svn checkout http://****.**

服务端配置更加简单,首先你必须具有ssh权限

这里假设账号为test,密码为testp,绑定的域名为www.m-ko.cn    ,svn的目录为/home/test/svntest

最好把目录放在自己用户的目录下,具体原因我就不说了。

登录后直接在你自己的账号目录

创建 一个文件夹 mkdir svntest

建立svn服务端 svnadmin create svntest

ok,至此,服务器端配置完毕

接下来就是客户端

svn客户端配置如下

选择 配置->网络->ssh 填入 TortoisePlink.exe -l xxx -pw xxx

-l 用户名

-pw 密码

按照上面的例子我的配置为  TortoisePlink.exe -l test-pw testp

(这里的用户名密码就是你ssh的用户名密码,要想查看详细参数信息找到TortoisePlink.exe双击即可)

保存

接下来就和普通操作一样了,选择一个文件夹checkout

地址是:svn+ssh://[用户名]@[网址]/home/[用户名]/[SVN仓库路径]

按照上面的例子,我的checkout地址是 svn+ssh://test@m-ko.cn/home/test/svntest

这样的方式是对服务器改动最少,最easy的方式。

比普通svn的方式客户端多配置一个ssh而已。

这样你就可以拥有属于自己的svn服务器啦。

八月 19th, 2010

不知道该怎么说

No Comments, 预约客, by 侯小贝.

好乱!太乱了。不知道该怎么说也不知道该说什么。

从来不研究星座的,今天看了一下觉得竟然那么的准确!事情一件一件发生在我身上,不信命都不行!

根据中国足球的现状,我为中国足球队设计了一套战术打法,简称为圆环套圆环法。让我们忘掉433还是442这些无聊的数字吧,从此,足球场上只有一种几何图形,就是圆环。除守门员以外,其他10个队员手臂扣手臂,围成一个圆圈,其中,找两个射门准的面对圆心,其他的,都背对圆心。摆出此阵以后,守门员以手抛球的方法把球抛到这个圆环里,然后,整个圆环开始向对方球门缓缓移动,对手一定束手无策,因为他们根本看不清楚哪个是执球队员哪个是无球队员,稍一接触,就会犯规。当这个圆环移动到离开对方球门的距离小于1米的时候,靠近球门的队员两条大腿一分,现出空挡,然后由面对圆心的两个射手中的一个突发冷箭,命中率应该可以高于99%。这个阵法虽然移动缓慢,但是在90分钟里,进他个10几20个球还是可以的!
这个只是圆环套圆环法的第一层境界,如果对手是日本,韩国这样二流队,全取三分应该没有什么问题,但是如果碰到巴西、阿根廷这样的一流队,就要进行队型变化,变化如下:10个人分成两组,第一种是分成一个4人圈和一个6人圈,6人圈把4人圈圈在中间,这样可以使防御力提高一倍,更加坚不可破;另外一种是分成两个独立的5人圈,两个5人圈交替前进,只要队员腿够粗,对方根本不知道球在哪个5人圈里面,防不胜防!结合这两套战术,干掉巴西也只是小case。
当然,对方要破这一套战术,也是有可能的,办法有两个,第一,所有球员排成一线,挡住球门,第二,对方加上守门员在内组成11个人的大圆环,包住我方的圆环。这样的话,场上的比分会是0:0,每场取一分,中国要世界杯出线应该也是没有问题的,总比现在这样好!
我觉得第一套战术还可以再强化一点,整个圆环,可以直接移动到对方球门以内,绝对没问题,这样可以避免离球门1米时候再出现意外,球踢飞了!!切记,切记!

七月 6th, 2010

3大巨星的离开

No Comments, 预约客, by 侯小贝.

作者:猪头
(本文只针对Discuz论坛系统讨论,由于软件包更新速度比较快,你看本贴的时候可能已经是使用新版本的软件包了,安装方法可能不一致,详细请查看软件包的README文件)

测试环境:理想论坛(55188).
理想论坛为国内人气最旺的股票论坛,注册会员已超过100万,并以每月60000人的速度稳定递增,每日页面访问量超过200万,并保持稳定增长的趋势,60分钟在线平均约2万多人,最高记录3万3千多。 目前主题超过30万,帖子接近1千万,数据库大小5.8GB,附件总大小大约150GB
之前理想论坛有三台服务器,两台WEB服务器以及一台数据库服务器,访问已经渐渐出现瓶颈,在猪头的建议下,站长决定增加一台服务器放数据库,另外三台做 WEB,并且对原有的服务器的操作系统进行升级。
硬件具体情况
MySQL服务器: DualXeon 5335/8GB内存/73G SAS硬盘(RAID0+1)/CentOS5.1-x86_64/MySQL5
三台WEB服务器如下:
N1. Dual Xeon 3.0 2GB 内存
N1. Dual Xeon 3.0 4GB 内存
N1. Dual Xeon 3.0(双核) 4G内存
另外有三块300G的SCSI硬盘准备做RAID5,用来存放附件,四台机器通过内网连接

猪头考虑过的解决方案如下:
1. ZEUS + PHP5 + eAccelerator
2. squid + Apache2 + PHP + eAccelerator
3. nginx + PHP(fastcgi) + eAccelerator
4. nginx + Apache2 + PHP + eAccelerator

第一个方案,属于比较完美的,而且很稳定,但是最大的问题是ZEUS是收费软件,用盗版总会受良心责备的,所以暂时押后做候补方案
第二个方案,squid转发请求给Apache2,很多网站都采用这种方式,而且效率也非常高,猪头也测试了一下,但是问题非常严重,因为squid是把文件缓存起来的,所以每一个访问过的文件,squid都要把它打开,理想论坛拥有150G的附件,而且访问量巨大,这种情况下只有打开squid,机器很快就会因为打开文件过多而拒绝响应任何请求了,看来也不适合,只适合缓存文件只有几百M以内的网站.
第三个方案,猪头对第三个方案的测试结果是访问量大的时候,PHP经常会出现bad gateway,看来通过TCP连接Fastcgi执行PHP的方法不够稳定,猪头也测试了通过Unix Socket连接执行PHP,同样还是不稳定.

对比之下,猪头目前使用了第四种解决方案.

Apache2的安装。
(由于服务器采用FreeBSD7,所以大部分软件将会通过ports安装)
由于Apache2只需要处理PHP请求,所以其他模块基本上都不需要,所以不要选择安装其他模块,即使rewrite也不需要,因为rewrite将会在nginx上面实现,如果熟悉,还可以修改Makefile删掉不需要的部分,这样经过优化之后,apache将会以最稳定最高效的方式处理PHP请求

cd /usr/ports/www/apache20
make install clean

修改httpd.conf(这里仅列出要修改/增加的部分)
vi /usr/local/etc/apache2/httpd.conf
把KeepAlive On修改为KeepAlive Off,在下面添加
ServerLimit 2048
MaxClients增加到512
Listen 127.0.0.1:81 #由于httpd服务器不需要对外开放,仅仅处理nginx转发过来的PHP请求,所以仅仅需要监听本地的端口.
另外增加对PHP的支持
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
至于添加虚拟主机的部分将不再罗嗦,注意虚拟主机也监听本地81端口就可以了

PHP5的安装(GD库等模块请提前装好)
cd /usr/ports/lang/php5
修改一下Makefile,把需要的东西加上去吧
本来应该有这样一段的

CONFIGURE_ARGS= \
–with-layout=GNU \
–with-config-file-scan-dir=${PREFIX}/etc/php \
–disable-all \
–enable-libxml \
–with-libxml-dir=${LOCALBASE} \
–enable-reflection \
–program-prefix=””

我们要把它修改成

CONFIGURE_ARGS= \
–with-layout=GNU \
–with-config-file-scan-dir=${PREFIX}/etc/php \
–disable-all \
–enable-libxml \
–with-libxml-dir=${LOCALBASE} \
–enable-reflection \
–program-prefix=”” \
–with-config-file-path=/etc –enable-mbstring –enable-ftp –with-gd –with-jpeg-dir=/usr/local –with-png-dir=/usr/local –enable-magic-quotes –with-mysql=/usr/local –with-pear –enable-sockets –with-ttf –with-freetype-dir=/usr/local –enable-gd-native-ttf –with-zlib –enable-sysvsem –enable-sysvshm –with-libxml-dir=/usr/local –with-pcre-regex –enable-xml

make install clean
cp work/php-5.2.5/php.ini-dist /etc/php.ini

安装eAccelerator
cd /usr/ports/www/eaccelerator
make install clean
把以下部分添加到php.ini尾端:

extension_dir=”/usr/local/lib/php/20060613/”
extension=”eaccelerator.so”
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.shm_size=”64″
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”60″
eaccelerator.shm_prune_period=”60″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.keys=”shm_and_disk”
eaccelerator.sessions=”shm_and_disk”
eaccelerator.content=”shm_and_disk”

建立缓存目录以及修改权限

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator
chown nobody:nobody /tmp/eaccelerator

nginx的安装以及配置

cd /usr/ports/www/nginx
make install

有几个module是我们需要的,要选上

HTTP module
http_addition module
http_rewrite module
http_realip module
http_stub_status module

其他的看自己需要了
修改配置文件
vi /usr/local/etc/nginx/nginx.conf

user nobody nobody;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid /var/log/nginx.pid;
events {
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
limit_zone one $binary_remote_addr 10m;
#log_format main ‘$remote_addr – $remote_user [$time_local] $request ‘
# ‘”$status” $body_bytes_sent “$http_referer” ‘
# ‘”$http_user_agent” “$http_x_forwarded_for”‘;
sendfile off;
tcp_nopush off;
#keepalive_timeout 0;
keepalive_timeout 10;
gzip off;

server {
listen 80;
server_name www.55188.net www.55188.com www1.55188.com www2.55188.com 55188.com 55188.net www.55188.cn 55188.cn bbs.55188.net bbs.55188.com bbs.55188.cn;
index index.html index.htm index.php;
root /home/www;
access_log /dev/null combined;
limit_conn one 5;#限制一个IP并发连接数为五个
error_page 404 /404.html;
error_page 403 /403.html;
location /status {
stub_status on;
access_log off;
auth_basic “NginxStatus”;
auth_basic_user_file conf/htpasswd;
}

#在根目录使用Discuz6.0 rewrite规则,如果你的论坛在二级目录下面,则要相应修改location
location / {
rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page\%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 last;
rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;
break;
error_page 404 /404.html;
error_page 403 /403.html;
}

#对附件做防盗链,没有正确的referer将会返回403页面
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
valid_referers none blocked server_names *.55188.net *.55188.com;
if ($invalid_referer) {
rewrite ^/ http://www.55188.com/403.html;
}
}

#转发PHP请求到本地的81端口,让Apache处理.
location ~ \.php$ {
proxy_pass http://127.0.0.1:81;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header Content-Type;
}
}

}

测试一下你的配置文件是否都正确

/usr/local/sbin/apachectl configtest
/usr/local/sbin/nginx -t

都没问题的话就启动服务器吧

/usr/local/sbin/apachectl start
/usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx.conf

浏览一下主页,应该正常了

后继讨论,
1.数据库.
数据库的编译安装不再重复讨论,仅仅讨论环境,由于理想论坛的数据库比较大,而且发展比较快,所以要作比较前一点的预算,硬盘需要使用15K RPM的SAS硬盘做RAID0+1,操作系统需要使用64位版本,因为服务器需要8GB内存,要注意的时,使用了64位系统之后部分比较老的软件可能你无法找到64位的版本,这台机器就专门做MySQL服务器吧,如果数据库超过10G,应该考虑MySQL_Cluster

2.附件.
因为有三台服务器做WEB,所以附件要使用nfs的方式通过内网进行共享,至于如何设置nfs这里不再讨论,如果有不明白的请将学费交给Google

3.WEB.
由于三台机器硬件配置不一致,所以有必要考虑一下负载平衡的问题,nginx本身附带有负载平衡的功能,但是如果启用负载平衡的功能的话,每台机器都将会把客户端请求的数据缓存到本机,这样增加了硬盘的IO,对于理想论坛的访问量来说,这是个不小的开销,最后我们是使用DNS查询的方式来分配流量, 通过不同的A记录,配置好点的机器,多分一条A记录,配置差的就少一条A记录,这样从整体上看,流量分配应该比较平衡.

4.关于nginx并发连接
猪头给nginx限制了每个IP的并发连接,因为对于大论坛来说,总是比较出名的,不说人家攻击你什么的.采集都特别多,如果不限制,很容易出问题,经常会导致PHP罢工.

以上只是猪头愚见,如果有其他进展,猪头会更新本贴,如有疑问或者不同见解,欢迎提出讨论

当然还有很多很疯狂的方法,例如说把WEB文件(附件除外)全部放内存里面,MYSQL如果小于5G,也可以全部放内存里面,不过这些方法都是太极端的了,优化效果须然好,但是风险很大。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

优化之后的效果
由于还有两台机器升级没完成,只帖一下其中一台WEB的状况了。目前
Active connections: 1143
server accepts handled requests
1211445 1211445 6221785
Reading: 67 Writing: 136 Waiting: 940

Apache最优化要关闭不用的模块,因为httpd请求全部让nginx处理了,Apache仅仅需要处理PHP就可以了,目前我开启的模块
LoadModule access_module libexec/apache2/mod_access.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so

autoindex negotiation以及rewrite这些应该都关闭的,但是要做相应的修改.目前跑起来绝对比Fastcgi要好

转载自 http://www.discuz.net/thread-882980-1-2.html

五月 14th, 2010

心痛的纠结

2 Comments, 小芬, by xiaofen.

也许,一个人活着就是为了要工作:

也许,一个人活着就是为了要生活:

也许,一个人活着就是为了要享受。

每个人的想法会不一样,所以每个人的命运也就不会一样,我也一样,我有想法,但是就是不能得到实现。

之所以心痛,会是因为某些纠结

我不愿意做林中鸟,喜欢被释怀的感觉,

不会愿意做每天重复着同样工作的机器人,喜欢自由的感觉。

更加不会愿意做被人驾驭的千里马,喜欢释放的感觉。

五月 11th, 2010

纪念死去的灵魂

4 Comments, 小芬, by xiaofen.

 
  
   似曾的感觉都已离去:
   唯有落寞的伤感云绕着。
   不知道这世界,带给我的除了幸福;快乐以外,是不是我真的什么都不缺了:
   心灵的羽翼,轻轻的飘荡,想找一大树停栖,外面却始终是喧嚣的人们,虽然不愿意去看看,但死了都难受。
   沉封,久久的锁着我,未曾放手去遨游,去眺望。有些狼狈,有些凄楚,这样的形象会得到人的怜悯吗;会有好心人来同情吗;可怜的孩子啊 ;狼的本性 ;羊的心情;这样会挣扎着死去,死去后会遭人唾弃:
    有时候连呼吸都哽咽;眼泪哭之而止,所有的一切彷若空虚:
    冥冥之中上帝在惩罚着我;是不是我犯了太多的错啊;玩的太离谱啊 ;我只是这样来慰藉自己;在也找不到任何的理由再责骂别人。

五月 7th, 2010

回不来的青春!

2 Comments, 预约客, by 侯小贝.

一去不复返的青春,很怀念!

五月 2nd, 2010

梦想是需要勇气和代价的

1 Comment, 预约客, by 侯小贝.

是不是每个人都有自己的梦想我不清楚.但是我一直都有梦想,
虽然这个梦想对我来说太远.
每个人去做去实现梦想的时候是需要非常大的勇气
也会付出很大的代价.
去做任何事都不是那么容易,去完成自己的梦想更是不容易.
为了完成侯小贝的梦想,需要一个团队.
团队最重要的不是团队中某个人有特别突出的能力,而是大家每个人都发挥出了自己的特长,做到了自己应该做的东西.在这上面我觉得巴萨的队长普约尔做的很好,巴萨的队长每次都是那么全力的奔跑,尽力的拼抢,无论球队领先或落后,他依然做他应该做的东西.他是我的榜样!
每个队员都做好自己应该做的,每个人都完成自己应该做的.这就是一个好的团队,小贝认为这就是我心中完美的团队.
现实的残酷会让每一个有梦想的人望而却步,追梦需要勇气.
既然有梦就去追吧!勇敢的去做梦,勇敢的去追梦.去完成属于自己的多彩人生.

侯小贝走在寻找自己梦想的路上…

四月 27th, 2010

PHP如何读取COOKIES

No Comments, PHP, by 侯小贝.

察看浏览器的 Cookies
  让我们来看看保存在浏览器中的内容。如果你用的是 IE5 ,在 windows 目录下有一个 cookies 的目录,里面有很多文本文件,文件名都是类似于 wudong@15seconds[1].txt 这样的,这就是浏览器用来保存值的 cookies 了。在以前的 IE 版本中, cookies 的内容是可以察看的,但现在内容已经被编码了。在浏览器得到一个 Web 页面之前,它会先看这个页面的域名,是否在 cookie 中存在,如果有相比配的,浏览器会先把匹配的 cookie 传送到服务器,然后才接受处理服务器传送过来的页面。
  先举个 cookies 应用的例子:当我连接到 m-ko.cn 时,浏览器在接受第一个页面之前会把它以前设置的 cookies 的内容传送给 m-ko.cn。然后 m-ko.cn 对传送过来的内容加以检查,看看在数据库中有没有相关资料,在匹配之后,在为我建立一个定制的页面传送到过来。
======================
为 cookies 赋值
必须在服务器传送任何内容给客户浏览器之前为 Cookies 赋值。要做到这一点, cookies 的设置就必须放在 < HEAD> 标签内:

< ?php
setcookie("CookieID", $USERID);
?>
< HTML>
< BODY>
< /BODY>
< /HTML>
   setcookie 函数一共有六个参数,用逗号来分隔:
cookie 的名称,是一个字符串,例如: “CookieID” 。其间不允许有冒号,逗号和空格。这个参数是必须的,而其它的所有参数都是可选的。如果只有这一个参数被给出,那么这个 cookie 将被删除。
cookie 的值,通常是一个字符串变量,例如: $USERID 。也可以为它赋一个 ?? 来略过值的设置。
cookie 失效的时间。如果被省略(或者被赋值为零), cookie 将在这个对话期( session )结束后失效。这个参数可以是一个绝对的时间,用 DD-Mon-YY HH:MM:SS 来表示,比如: “24-Nov-99 08:26:00″ 。而更常用的是设置一个相对时间。这是通过 time() 函数或者 mktime 函数来实现的。比如 time()+3600 将使得 cookie 在一个小时后失效。
一个路径,用来匹配 cookie 的。当在一个服务器上有多个同名的 cookie 的设置,为避免混淆,就要用到这个参数了。使用 “/” 路径的和省略这个参数的效果是一样的。要注意的是 Netscape 的 cookie 定义是把域名放在路径的前面的,而 PHP 则与之相反。
服务器的域名,也是用来匹配 cookie 的。要注意的是:在服务器的域名前必须放上一个点( . )。例如: “.friendshipcenter.com” 。因为除非有两个以上的点存在,否者这个参数是不能被接受的。
cookie 的安全级,是一个整数。 1 表示这个 cookie 只能通过“安全”的网络来传送。 0 或者省略则表示任何类型的网络都可以。
=======
Cookies 和变量
  当 PHP 脚本从客户浏览器提取了一个 cookie 后,它将自动的把它转换成一个变量。例如:一个名为 CookieID 的 cookie 将变成变量 $CookieID.
Cookies 的内容被报存在 HTTP_COOKIE_VARS 数组中,你还可以通过这个数组和 cookie 的名称来存取指定的 cookie 值:
print $HTTP_COOKIE_VARS[CookieID];
==============
记住每一个用户
   回过头在来看看上面的 submitform.php3 文件,它的作用是把客户的姓名添加到数据库中,现在我想为它添加一些东西。我想为每个用户都分配一个唯一的用户标志,然后把这个标志放在 Cookies 中,这样每当用户访问我的网站的时候,通过 cookie 和其中的用户标志,我就能够知道他是谁了。
MySQL 能够被设置成为每一个新的纪录自动的分配一个数字,这个数字从 1 开始,以后每次自动加 1 。用一行 SQL 语句,你就可以轻松的为数据表添加这样的一个字段,我把它叫做 USERID:
ALTER TABLE dbname
ADD COLUMN
USERID INT(11) NOT NULL
PRIMARY KEY AUTO_INCREMENT;

  对这个字段我们作了一些特别的设置。首先,通过“ INT(11) ”定义它的类型为 11 位的整数;然后用“ NOT NULL ”关键字让这个字段的值不能为 NULL ;再用“ PRIMARY KEY ”把它设置为索引字段,这样搜索起来就会更快;最后,“ AUTO_INCREMENT ”定义它为自动增一的字段。
   当把用户的姓名插入到数据库后,就应该在他们的浏览器上设置 cookie 了。这时利用的就是刚才我们谈到的 USERID 字段的值 :
< ?php
mysql_connect (localhost, username, password);
mysql_select_db (dbname);
mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ("$first_name", "$last_name")");
setcookie("CookieID",
mysql_insert_id(),
time()+94608000,
"/"); /* 三年后 cookie 才会失效 */
?>
PHP 函数 mysql_insert_id() 返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值。这样,只要你不清除掉浏览器的 Cookies ,网站就会永远“记住”你了
==================
读取 cookie
  我们来写一个像 m-ko.cn 所作的那样的脚本。首先, PHP 脚本会先检查客户浏览器是否发送了 cookie 过来,如果是那样的话,用户的姓名就会被显示出来。如果没找到 cookie 的话,就显示一个表单,让客户登记他们的姓名,然后把他添加到数据库中,并在客户浏览其中设置好 cookie 。
   首先,先来显示 cookie 的内容:
< ?php
print $CookieID;
?>
然后,就可以把名字显示出来了:
< ?php
mysql_connect (localhost, username, password);
mysql_select_db (dbname);
$selectresult = mysql_query ("SELECT * FROM tablename WHERE USERID = "$CookieID"");
$row = mysql_fetch_array($selectresult);
echo " 欢迎你的光临 ", $row[first_name], "!";
?>


mont blanc 146 fountain pen mont blanc 100 year mont blan mont blac watches mont blac mont balnc monster replica watches monaco replica watches milus replica watches millenium replica watches mido watches mido watch michele replica watches mens watches replica mens watches mens watch mens tank watch mens swiss watches mens swiss watch mens replica watches mens replica rolex 6993 mens luxury watches mens luxury watch mens designer watches mens designer watch mens corum watches mens breitling with diamonds reproduction replica copy men watches men watch men swiss watches men swiss watch men designer watches men designer watch men cartier watches