当前位置: 编程技术>php
本页文章导读:
▪php下用cookie统计用户访问网页次数的代码
如何创建 cookie? setcookie() 函数用于设置 cookie。 注释:setcookie() 函数必须位于 <html> 标签之前。 创建您的第一个PHP cookie 当您创建一个cookie,使用函数setcookie,你必须指定三个参数。这.........
▪简单的PHP留言本实例代码
config.php 代码如下: <?php $conn = @mysql_connect("localhost","root","") or die("数据库连接出错!"); mysql_select_db("gb",$conn); mysql_query("set names 'GBK'"); ?> add.php 代码如下: <?php include("config.php"); if($_POST['s.........
▪php 上一篇,下一篇文章实现代码与原理说明
实现原理: 就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章。 实例的sql语句如下: $id就是当面文章的id select * from news where id&.........
[1]php下用cookie统计用户访问网页次数的代码
来源: 互联网 发布时间: 2013-11-30
如何创建 cookie?
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。
创建您的第一个PHP cookie
当您创建一个cookie,使用函数setcookie,你必须指定三个参数。这些参数是setcookie(名称,值,过期):
姓名:您的Cookie的名称。您将使用此名称以后检索你的cookie,所以不要忘记它!
价值:在您的cookie中存储的值。共同价值观是用户名(字符串)和最后的访问时间(日期)。
到期:日期时,Cookie将过期,被删除。如果您没有设置此过期日期,那么它将被视为一个会话cookie被删除,并重新启动浏览器时。
在这个例子中,我们将创建一个Cookie,它存储用户上次访问频率来衡量人们回访我们的网页。我们希望人们忽视超过两个月采取返回到网站,所以我们将设置Cookie的到期日期中的两个未来个月!
<?php
//Calculate 60 days in the future
//seconds * minutes * hours * days + current time
$inTwoMonths = 60 * 60 * 24 * 60 + time();
setcookie('lastVisit', date("G:i - m/d/y"), $inTwoMonths);
?>
如果你不能走在这个例子中有所涉及的日期计算。重要的是你知道如何设置了一个cookie,通过指定的三个重要参数:名称,价值和到期日期。
检索你的新鲜曲奇
如果你的cookie的尚未到期的,让我们从该用户的个人电脑是使用恰当的关联数组名为$ _COOKIE中。你的存储cookie的名称是关键,将让您找回您的存储cookie的值!
<?php
if(isset($_COOKIE['lastVisit']))
$visit = $_COOKIE['lastVisit'];
else
echo "You've got some stale cookies!";
echo "Your last visit was - ". $visit;
?>
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
如果浏览器不支持 cookie 该怎么办?
如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。
创建您的第一个PHP cookie
当您创建一个cookie,使用函数setcookie,你必须指定三个参数。这些参数是setcookie(名称,值,过期):
姓名:您的Cookie的名称。您将使用此名称以后检索你的cookie,所以不要忘记它!
价值:在您的cookie中存储的值。共同价值观是用户名(字符串)和最后的访问时间(日期)。
到期:日期时,Cookie将过期,被删除。如果您没有设置此过期日期,那么它将被视为一个会话cookie被删除,并重新启动浏览器时。
在这个例子中,我们将创建一个Cookie,它存储用户上次访问频率来衡量人们回访我们的网页。我们希望人们忽视超过两个月采取返回到网站,所以我们将设置Cookie的到期日期中的两个未来个月!
代码如下:
<?php
//Calculate 60 days in the future
//seconds * minutes * hours * days + current time
$inTwoMonths = 60 * 60 * 24 * 60 + time();
setcookie('lastVisit', date("G:i - m/d/y"), $inTwoMonths);
?>
如果你不能走在这个例子中有所涉及的日期计算。重要的是你知道如何设置了一个cookie,通过指定的三个重要参数:名称,价值和到期日期。
检索你的新鲜曲奇
如果你的cookie的尚未到期的,让我们从该用户的个人电脑是使用恰当的关联数组名为$ _COOKIE中。你的存储cookie的名称是关键,将让您找回您的存储cookie的值!
代码如下:
<?php
if(isset($_COOKIE['lastVisit']))
$visit = $_COOKIE['lastVisit'];
else
echo "You've got some stale cookies!";
echo "Your last visit was - ". $visit;
?>
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
如果浏览器不支持 cookie 该怎么办?
如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据
[2]简单的PHP留言本实例代码
来源: 互联网 发布时间: 2013-11-30
config.php
<?php
$conn = @mysql_connect("localhost","root","") or die("数据库连接出错!");
mysql_select_db("gb",$conn);
mysql_query("set names 'GBK'");
?>
add.php
<?php
include("config.php");
if($_POST['submit']){
//在这里的时候,忘记message里还有个字段lastdate没有写,导致插入数据不成功。找了好久才找出错误。
$sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
mysql_query($sql);
echo "成功";
}
?>
<form action="/blog_article/add.html" method="post">
用户:<input type="text" name="user" /><br>
标题:<input type="text" name="title" /><br />
内容:<textarea name="content"></textarea><br />
<input type="submit" name="submit" value="提交" />
</form>
view.php
<?php
include("config.php");
?>
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
<?php
$sql="select * from message order by id desc";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
//NND。我在wampserver默认环境下,使用<?=$row[title]?>这种语法,就是读取不出内容来。非要用这种才可以。郁闷。又是好久才琢磨出来
<tr bgcolor="#eff3ff">
<td>标题:<?php echo $row[title];?> 用户:<?php echo $row[user];?></td>
</tr>
<tr bgColor="#ffffff">
<td>内容:<?php echo $row[content];?></td>
</tr>
<?php
}
?>
</table>
然后还有个数据库的SQL。
CREATE TABLE `message` (
`id` tinyint(1) NOT NULL auto_increment,
`user` varchar(25) NOT NULL,
`title` varchar(50) NOT NULL,
`content` tinytext NOT NULL,
`lastdate` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
代码如下:
<?php
$conn = @mysql_connect("localhost","root","") or die("数据库连接出错!");
mysql_select_db("gb",$conn);
mysql_query("set names 'GBK'");
?>
add.php
代码如下:
<?php
include("config.php");
if($_POST['submit']){
//在这里的时候,忘记message里还有个字段lastdate没有写,导致插入数据不成功。找了好久才找出错误。
$sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
mysql_query($sql);
echo "成功";
}
?>
<form action="/blog_article/add.html" method="post">
用户:<input type="text" name="user" /><br>
标题:<input type="text" name="title" /><br />
内容:<textarea name="content"></textarea><br />
<input type="submit" name="submit" value="提交" />
</form>
view.php
代码如下:
<?php
include("config.php");
?>
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
<?php
$sql="select * from message order by id desc";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
//NND。我在wampserver默认环境下,使用<?=$row[title]?>这种语法,就是读取不出内容来。非要用这种才可以。郁闷。又是好久才琢磨出来
<tr bgcolor="#eff3ff">
<td>标题:<?php echo $row[title];?> 用户:<?php echo $row[user];?></td>
</tr>
<tr bgColor="#ffffff">
<td>内容:<?php echo $row[content];?></td>
</tr>
<?php
}
?>
</table>
然后还有个数据库的SQL。
代码如下:
CREATE TABLE `message` (
`id` tinyint(1) NOT NULL auto_increment,
`user` varchar(25) NOT NULL,
`title` varchar(50) NOT NULL,
`content` tinytext NOT NULL,
`lastdate` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
[3]php 上一篇,下一篇文章实现代码与原理说明
来源: 互联网 发布时间: 2013-11-30
实现原理:
就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章。
实例的sql语句如下:
$id就是当面文章的id
select * from news where id<$id order by id desc limit 0,1
select * from news where id>$id order by id desc limit 0,1
--
-- 表的结构 `string_find`
--
CREATE TABLE IF NOT EXISTS `string_find` (
`id` int(4) NOT NULL auto_increment,
`charList` varchar(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- 导出表中的数据 `string_find`
--
INSERT INTO `string_find` (`id`, `charList`) VALUES
(1, ''),
(2, 'baidu'),
(5, 'www.baidu.com'),
(6, 'www.');
好了万事俱备了,下面来看一下操作方法
mysql_connect('localhost','root','root') or die(mysql_error());
mysql_select_db('cc');
mysql_query("set names 'gbk'");
$cid =5;//是你当前文章的编号
$sql ="select * from string_find where id>$cid order by id desc limit 0,1"; //上一篇文章
$sql1 ="select * from string_find where id<$cid order by id asc limit 0,1";//下一篇文章
$result = mysql_query( $sql );
if( mysql_num_rows( $result ) )
{
$rs = mysql_fetch_array( $result );
echo "上一篇".$rs[0];
}
else
{
echo "没有了";
}
$result1 = mysql_query( $sql1 );
if( mysql_num_rows( $result1 ) )
{
$rs1 = mysql_fetch_array( $result1 );
echo "下一篇".$rs1[0];
}
else
{
echo "没有了";
}
以下是别的网友写的文章。
由于我希望访客在浏览网页的时候需要看到上一主题,下一主题的标题,所以必定是要在数据库中查询出来的了,可以通过limit限制来取,比如,我的博客是按照ID自动增量的,那么可以通过查找大于或者小于当前ID来取
$UpSQL="SELECT * FROM `blog` WHERE `ID`<$id ORDER BY `ID` DESC LIMIT 0,1";
$DownSQL="SELECT `ID`,`Title` FROM `blog` WHERE `ID`> $id ORDER BY `ID` ASC LIMIT 0,1";
再通过查询,取出数据
如果只是单一的"上一篇","下一篇"那么就没有必要查询了,这样是不必查询了,但也许用户点击之后会看到,这已经是首页了或者这已经是末页了,呵呵
switch($act) {
case "Up":
$SQL="SELECT * FROM `blog` WHERE `ID`< $id ORDER BY `ID` DESC LIMIT 0,1";
break;
case 'Down':
$SQL="SELECT * FROM `blog` WHERE `ID`> $id ORDER BY `ID` ASC LIMIT 0,1";
break;
default :
$SQL="SELECT * FROM `blog` WHERE `ID`= $id LIMIT 0,1";
break;
}
通过传递一个动作来实现上一主题,下一主题
就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章。
实例的sql语句如下:
$id就是当面文章的id
select * from news where id<$id order by id desc limit 0,1
select * from news where id>$id order by id desc limit 0,1
--
-- 表的结构 `string_find`
--
CREATE TABLE IF NOT EXISTS `string_find` (
`id` int(4) NOT NULL auto_increment,
`charList` varchar(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- 导出表中的数据 `string_find`
--
INSERT INTO `string_find` (`id`, `charList`) VALUES
(1, ''),
(2, 'baidu'),
(5, 'www.baidu.com'),
(6, 'www.');
好了万事俱备了,下面来看一下操作方法
代码如下:
mysql_connect('localhost','root','root') or die(mysql_error());
mysql_select_db('cc');
mysql_query("set names 'gbk'");
$cid =5;//是你当前文章的编号
$sql ="select * from string_find where id>$cid order by id desc limit 0,1"; //上一篇文章
$sql1 ="select * from string_find where id<$cid order by id asc limit 0,1";//下一篇文章
$result = mysql_query( $sql );
if( mysql_num_rows( $result ) )
{
$rs = mysql_fetch_array( $result );
echo "上一篇".$rs[0];
}
else
{
echo "没有了";
}
$result1 = mysql_query( $sql1 );
if( mysql_num_rows( $result1 ) )
{
$rs1 = mysql_fetch_array( $result1 );
echo "下一篇".$rs1[0];
}
else
{
echo "没有了";
}
以下是别的网友写的文章。
由于我希望访客在浏览网页的时候需要看到上一主题,下一主题的标题,所以必定是要在数据库中查询出来的了,可以通过limit限制来取,比如,我的博客是按照ID自动增量的,那么可以通过查找大于或者小于当前ID来取
$UpSQL="SELECT * FROM `blog` WHERE `ID`<$id ORDER BY `ID` DESC LIMIT 0,1";
$DownSQL="SELECT `ID`,`Title` FROM `blog` WHERE `ID`> $id ORDER BY `ID` ASC LIMIT 0,1";
再通过查询,取出数据
如果只是单一的"上一篇","下一篇"那么就没有必要查询了,这样是不必查询了,但也许用户点击之后会看到,这已经是首页了或者这已经是末页了,呵呵
代码如下:
switch($act) {
case "Up":
$SQL="SELECT * FROM `blog` WHERE `ID`< $id ORDER BY `ID` DESC LIMIT 0,1";
break;
case 'Down':
$SQL="SELECT * FROM `blog` WHERE `ID`> $id ORDER BY `ID` ASC LIMIT 0,1";
break;
default :
$SQL="SELECT * FROM `blog` WHERE `ID`= $id LIMIT 0,1";
break;
}
通过传递一个动作来实现上一主题,下一主题
最新技术文章: