2017年12月28日 星期四

PHP學習之路_計數器

先設兩個檔案
p5.php 顯示人數頁
p5.txt 紀錄人數的記事本

先在p5.php
寫一個開頭 參觀人數:
然後到p5.txt
寫入一個起始的人數值: 1223

然後回到p5.php開始寫語法
在<!DOCTYPE html PUBLIC的上端開始
會用到的三個語法分別是
fopen 打開
fgets 獲得
fclose 關閉

$file=fopen("p5.txt","r");  //a是加一筆.r是讀取.w是覆蓋
fgets($file);
fclose($file);


然後再<body加入呼叫語法

<?php
echo "$file"
?>

上傳後檢視.會發現錯誤為
參觀人數 : Resource id #3

原來,之所以有錯誤,是因為我們這裡並沒有把抓起的資料建立成一個變數,
$file只是把檔案開啟後的變數而已,並沒有把開啟的檔案讀出來

所以改成這樣

session_start();
$file=fopen("p5.txt","r");
$num=fgets($file);
fclose($file);

<body>
參觀人數:
<?php
echo "$num"
?>
</body>


這時候會看到計數器有數字了 但是不會動作
因為我們沒有給他跳數字的語法
<?php
$file=fopen("p5.txt","r");
$num=fgets($file);
fclose($file);

$num++;
$file=fopen("p5.txt","w");
fwrite($file,$num);
fclose($file);

?>

這時候會動了.
但是同一個IP一直按就會跳
所以我們要加入一個session_start()的指令
下面則是寫一段if語法,告訴電腦如果come不是v
(第一次瀏覽的話come會沒東西,所以不會是v),
則執行num++,也就是計數器加一,接著把它的come設成v,
這樣在網友沒有關閉瀏覽器的情況下,他的come就會是v,
<?php
session_start();
$file=fopen("p5.txt","r");
$num=fgets($file);
fclose($file);
if($_SESSION['come']!="v"){
$num++;
$file=fopen("p5.txt","w");
fwrite($file,$num);
fclose($file);
$_SESSION['come']="v";
}

?>


原出處
原出還有教圖片數字的使用歐

沒有留言: