天天看點

php統計網站/html頁面浏覽通路次數程式 解決php中Cannot send session cache limiter 的問題的方法

鏈枃绔犳潵缁欏ぇ杩欎粙缁嶄簡php鑷繁鍐欑殑涓€浜涘父鐢ㄧ殑缃戠珯缁熻浠g爜鍐欐硶锛岀敤鏃犳暟鎹簱鐨勪笌浣跨敤鏁版嵁搴撳強html闈欐€侀〉闈㈡祻瑙堣祫娆℃暟缁熻浠g爜锛屽ぇ瀹跺彲杩涘叆鍙傝€冦€?

瀹炰緥1

鐩存帴浣跨敤txt鏂囦歡杩涜缁熻鐨勪唬鐮?

聽浠g爜濡備笅 澶嶅埗浠g爜

<?php

session_start();//瀹氫箟session锛屽悓涓€IP鐧誨綍涓嶇瘡鍔? $filepath = 'count.txt';

if ($_SESSION['temp'] == '')//鍒ゆ柇$_SESSION[temp]鐨勫€兼槸鍚︿負绌?鍏朵腑鐨則emp涓鴻嚜瀹氫箟鐨勫彉閲? {

聽if (!file_exists($filepath))//妫€鏌ユ枃浠舵槸鍚﹀瓨鍦紝涓嶅瓨鍦ㄥ垰鏂闆緩璇ユ枃浠跺苟璧嬪€間負0

聽{

聽$fp = fopen($filepath,'w');

聽fwrite($fp,0);

聽 fclose($fp);

聽 counter($filepath);

聽}else

聽{

聽 counter($filepath);

聽}

聽$_SESSION['temp'] = 1;//鐧誨綍浠ュ悗,缁?_SESSION[temp]璧嬩竴涓€?

}

echo '娆㈣繋鏉ュ埌鎳掍漢绔欓暱绱犳潗缃戠珯锛屾偍鏄湰绔欑<font color="#FF0000">'.file_get_contents($filepath).'</font>浣嶈瀹?;

//counter()鏂規硶鐢ㄦ潵寰楀埌鏂囦歡鍐呯殑鏁闆瓧

function counter($f_value)

{

聽//鐢╳妯″紡鎵撳紑鏂囦歡鏃朵細娓呯┖閲岄潰鐨勫唴瀹癸紝鎵€浠ュ厛鐢╮妯″紡鎵撳紑锛屽彇鍑烘枃浠跺唴瀹癸紝淇濆瓨鍒闆彉閲? 聽$fp = fopen($f_value,'r') or die('鎵撳紑鏂囦歡鏃跺嚭閿欍€?);

聽$countNum = fgets($fp,1024);

聽fclose($fp);

聽$countNum++;

聽$fpw = fopen($f_value,'w');

聽fwrite($fpw,$countNum);

聽fclose($fpw);

}

//娉ㄩ噴涓嬮潰涓€琛屽彲浠ュ疄鐜闆悓涓€IP鐧誨綍涓嶇瘡鍔犳晥鏋滐紝娴嬭瘯鏃跺彲浠ユ墦寮€

session_destroy();

?>

涓婇潰浣跨敤鐨勬槸txt鏂囦歡锛屼笅闈㈡垜浠潵浠嬬粛涓€涓猰ysqlmysql鏁版嵁搴撴搷浣滃疄渚?

聽浠g爜濡備笅 澶嶅埗浠g爜

CREATE TABLE `mycounter` (聽

`id` int(11) NOT NULL auto_increment,聽

`Counter` int(11) NOT NULL,聽

`CounterLastDay` int(10) default NULL,聽

`CounterToday` int(10) default NULL,聽

`RecordDate` date NOT NULL,聽

PRIMARY KEY (`id`)聽

) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ;

鍑芥暟

聽浠g爜濡備笅 澶嶅埗浠g爜

<?PHP聽

public function ShowMyCounter(){聽

//瀹氫箟鍙橀噺聽

$IsGone = FALSE;聽

//璇誨彇鏁版嵁聽

$querysql = "SELECT * FROM `mycounter` WHERE id = 茋' ";聽

$queryset = mysql_query($querysql);聽

$row = mysql_fetch_array($queryset);聽

//鑾峰緱鏃堕棿閲徛? $DateNow = date('Y-m-d');聽

$RecordDate = $row['RecordDate'];聽

$DateNow_explode聽= explode("-",$DateNow);聽

$RecordDate_explode = explode("-",$RecordDate);聽

//鍒ゆ柇鏄惁宸茶繃鍘諱竴澶┞? if( $DateNow_explode[0] > $RecordDate_explode[0]) $IsGone = TRUE;聽

else if( $DateNow_explode[0] == $RecordDate_explode[0] ){聽

if( $DateNow_explode[1] > $RecordDate_explode[1] ) $IsGone = TRUE;聽

else if( $DateNow_explode[1] == $RecordDate_explode[1] ){聽

if( $DateNow_explode[2] > $RecordDate_explode[2] ) $IsGone = TRUE;聽

}else BREAK;聽

}else BREAK;聽

//鏍規嵁IsGone杩涜鐩稿簲鎿嶄綔聽

IF($IsGone) {聽

$RecordDate = $DateNow;聽

$CounterToday = 0;聽

$CounterLastDay = $row['CounterToday'];聽

$upd_sql = "update mycounter set RecordDate = '$RecordDate',CounterToday = '$CounterToday',CounterLastDay = '$CounterLastDay' WHERE id = 茋' ";聽

mysql_query($upd_sql);聽

}聽

//鍐嶆鑾峰彇鏁版嵁聽

$querysql = "SELECT * FROM `mycounter` WHERE id = 茋' ";聽

$queryset = mysql_query($querysql);聽

$Counter = $row['Counter'];聽

$CounterToday = $row['CounterToday'];聽

$CounterLastDay = $row['CounterLastDay'];聽

if($row = mysql_fetch_array($queryset) ){聽

if( $_COOKIE["user"] != "oldGuest" ){聽

$Counter = ++$row['Counter'];聽

$CounterToday = ++$row['CounterToday'];聽

$upd_sql = "update mycounter set counter = '$Counter',CounterToday = '$CounterToday' WHERE id = 茋' ";聽

$myquery = mysql_query($upd_sql);聽

}聽

echo "鎬昏闂噺锛?.$Counter;聽

echo "聽

";聽

echo "浠婃棩娴侀噺锛?.$CounterToday;聽

echo "聽

";聽

echo "鏄ㄦ棩娴侀噺锛?.$CounterLastDay;聽

}else{//濡傛灉鏁版嵁搴撲負绌烘椂锛岀浉搴旂殑鎿嶄綔聽

}聽

}聽

?>

褰撶劧锛岄渶瑕佸湪鏂囦歡绗竴琛屽紑濮嬪啓鍑哄涓嬩唬鐮侊細

聽浠g爜濡備笅 澶嶅埗浠g爜

<?PHP聽

session_start();聽

if( !isset($_COOKIE["user"]) ){聽

setcookie("user","newGuest",time()+3600);聽

}else {聽

setcookie("user","oldGuest");聽

}聽

?>

濡傛灉鏄潤鎬侀〉闈㈡垜浠笂闈㈢殑鏂規硶鏄笉鍙互瀹炵幇鐨勶紝浣嗕笅闈㈠啀涓句竴涓笉閿欑殑缁熻瀹炰緥

聽浠g爜濡備笅 澶嶅埗浠g爜

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<mce:script language="javascript" src="count.php?aid=1&t=show" mce_src="count.php?aid=1&t=show"></mce:script>

<mce:script language="javascript" src="count.php?aid=1" mce_src="count.php?aid=1"></mce:script>

</head>

<body>

聽<h1>php缁熻闈欐€乭tml椤甸潰娴忚璁塊棶娆℃暟浠g爜</h1>

聽<hr>

</body>

</html>

count.php浠g爜

聽浠g爜濡備笅 澶嶅埗浠g爜

<?php

聽聽聽 $aid聽 = isset( $_GET['aid'] )?$_GET['aid']:'';

聽聽聽 $t = isset( $_GET['t'] )?$_GET['t']:'';

聽if(intval( $aid )){

聽聽if( $t =='show' ){

聽聽聽 echo "document.write('杩欓噷鏄樉绀烘祻瑙堟鏁?鍙互浠庢暟鎹簱璇誨嚭鏉?);";

聽聽}

聽聽else{

聽聽聽 $conn = mysql_connect('localhost','root','root') ;

聽聽聽 $sql = "Update count set click_num = click_num+1 where aid ='$aid'";

聽聽聽 mysql_db_query('db_test',$sql,$conn);

聽聽}

聽}

?>

鏁版嵁搴?

聽浠g爜濡備笅 澶嶅埗浠g爜

--

-- 琛ㄧ殑缁撴瀯 `count`

--

CREATE TABLE IF NOT EXISTS `count` (

聽 `id` int(11) NOT NULL auto_increment,

聽 `aid` int(11) default NULL,

聽 `click_num` int(11) default NULL,

聽 PRIMARY KEY聽 (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ;

瑙e喅php涓瑿annot send session cache limiter 鐨勯棶棰樼殑鏂規硶

浠婂ぉ鍦ㄤ嬌鐢╬hp聽鐨剆ession聽鐨勬椂鍊欙紝鍑虹幇浜嗕互鍓嶅氨閬囪浣嗘槸鍙堣В鍐充笉浜嗙殑闂锛屽湪椤甸潰涓婂嚭鐜闆涓嬫彁绀猴細聽

Warning:聽session_start()聽[function.session-start]:聽Cannot聽send聽session聽cache聽limiter聽-聽headers聽already聽sent聽(output聽started聽at聽E:\php\code\admin.php:1)聽in聽E:\php\code\logolist\adminlogo.php聽on聽line聽2聽

涓婄綉鎼滀簡涓€涓嬶紝鏈変漢璇存槸鍥犱負鍦╯ession_start();聽璇彞涔嬪墠鏈夊叾浠栫殑html浠g爜锛屼絾鏄垜鐨剆ession_start();聽宸茬粡鍦ㄥ仛鍓嶉潰浜嗐€偮?

杩樻湁鐨勮鏄洜涓烘病鏈夎缃畇ession聽淇濆瓨璺緞锛岄渶瑕佷慨鏀筽hp.ini涓殑session.save_path聽=聽"C:/phpsession"聽[鍚庤竟鐨勮礬寰勮嚜宸辮缃紝骞朵笖瑕佷繚璇佸瓨鍦ㄣ€俻hp.ini聽鏂囦歡涓€鑸簲浣嶄簬绯葷粺鐩?Windows聽鐩綍涓嬮潰]聽

浣嗘槸鎴戝仛濡備笂璁劇疆涔嬪悗杩樻槸浼氭湁杩欎釜鎻愮ず銆傚悗鏉ョ粡杩囧弽澶嶆祴璇曪紝缁堜簬瑙e喅闂銆偮?

瑙e喅鍔炴硶锛毬?

淇敼php.ini涓殑session.auto_start聽=聽0聽涓郝爏ession.auto_start聽=聽1聽

繼續閱讀