Dengan perkembangan Internet, semakin banyak laman web memerlukan sistem pengurusan kandungan (CMS) yang lengkap untuk mengurus dan menyelenggara kandungan tapak. Modul statistik capaian adalah salah satu komponen CMS yang sangat penting. Modul ini boleh membantu pentadbir laman web memahami status capaian tapak untuk lebih memahami keperluan pengguna laman web dan meningkatkan kualiti operasi tapak web. Dalam artikel ini, saya akan memperkenalkan cara menggunakan PHP untuk membangunkan modul statistik akses dalam CMS.
Pertama, kita perlu mereka bentuk jadual pangkalan data untuk menyimpan data capaian tapak web. Jadual ini mempunyai medan berikut:
Berikut ialah kod SQL untuk jadual ini:
BUAT JADUAL access_statistics
(
id
int(11) BUKAN NULL AUTO_INCREMENT,
date
tarikh BUKAN NULL,
pageviews
int(11) BUKAN NULL,
visitors
int(11) BUKAN NULL,
new_visitors
int(11) BUKAN NULL,
KUNCI UTAMA (id
)
) ENGINE=CARSET LAALA InnoDB=utf8mb4;
Selepas mereka bentuk jadual pangkalan data, kita perlu menulis kod untuk mengira data capaian dan menyimpan data dalam pangkalan data.
Dalam CMS, kami biasanya mempunyai fail masukan untuk memproses permintaan halaman, seperti index.php. Kita boleh menulis kod statistik dalam fail ini. Secara khusus, kita perlu menambah kod berikut pada index.php:
// Sambung ke pangkalan data
$servername = "localhost";
$username = "your_username";
$ password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Dapatkan alamat IP pelawat
$ip = $_SERVER['REMOTE_ADDR'];
// Tentukan sama ada ia baharu pelawat
$sql = "SELECT * FROM access_log
WHERE ip
= '$ip'";
$result = $conn->query($sql);
if ($result- > ;num_rows == 0) {
$new_visitor = 1;
} lain {
$new_visitor = 0;
}
// Rekod data akses
$sql = "MASUKKAN KE DALAM access_statistics
( date
, pageviews
, visitors
, new_visitors
)
NILAI (CURDATE(), 1, 1, $new_visitor)
PADA KEMASKINI KUNCI DUA pageviews
= pageviews
+ 1, visitors
= visitors
+ 1, new_visitors
= new_visitors
+ $new_visitor";
$conn->query($sql);
// Tutup sambungan pangkalan data
$conn->close();
Dalam kod di atas, kami mula-mula menyambung ke pangkalan data dan mendapatkan alamat IP pelawat semasa. Kemudian, kami menanyakan pangkalan data berdasarkan alamat IP untuk menentukan sama ada ia adalah pelawat baharu. Jika ia adalah pelawat baharu, tetapkan nilai $new_visitor kepada 1, jika tidak, tetapkan kepada 0.
Akhir sekali, kami memasukkan sekeping data akses ke dalam pangkalan data. Jika sudah ada data capaian yang sepadan untuk tarikh ini, cuma tambahkan 1 pada paparan halaman, bilangan pelawat dan bilangan pelawat baharu masing-masing.
Selepas melengkapkan statistik data, kita perlu memaparkan data statistik di latar belakang CMS supaya pentadbir laman web boleh melihatnya.
Pertama, kita perlu menulis fail PHP untuk menanyakan data statistik dalam pangkalan data. Kodnya adalah seperti berikut:
//Sambung ke pangkalan data
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = " your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Data pertanyaan
$sql = "PILIH * DARI access_statistics
ORDER OLEH date
DESC LIMIT 30";
$result = $conn->query($sql) ;
// Simpan data dalam tatasusunan
$data = tatasusunan();
manakala ($baris = $result->fetch_assoc()) {
$date = date("Y-m-d", strtotime($row["date"])); $pageviews = $row["pageviews"]; $visitors = $row["visitors"]; $new_visitors = $row["new_visitors"]; $data[] = array("date"=>$date, "pageviews"=>$pageviews, "visitors"=>$visitors, "new_visitors"=>$new_visitors);
}
// Output data JSON
echo json_encode($data);
// Tutup sambungan pangkalan data
$conn->close();
Dalam kod di atas, Kami menanyakan jadual statistik akses untuk data 30 hari terakhir dan menyimpan data dalam tatasusunan PHP. Kemudian, kami menukar tatasusunan ke dalam format JSON dan mengeluarkannya supaya halaman hujung hadapan boleh memanggil antara muka untuk mendapatkan data.
Seterusnya, kita boleh menulis halaman HTML untuk memaparkan data. Halaman ini perlu memasukkan carta untuk memaparkan maklumat seperti bilangan lawatan, bilangan pengguna yang melawat dan bilangan pengguna baharu. Kita boleh menggunakan beberapa rangka kerja bahagian hadapan yang popular seperti Bootstrap dan jQuery untuk membina halaman ini dengan cepat.
Secara khusus, kami boleh menggunakan perpustakaan carta sumber terbuka seperti Chart.js untuk melaksanakan carta dan menggunakan kaedah ajax dalam jQuery untuk memanggil antara muka PHP yang ditulis di atas untuk mendapatkan data.
Melalui langkah di atas, kami boleh melengkapkan modul statistik akses mudah supaya pentadbir laman web dapat memahami dengan lebih baik status akses tapak. Sudah tentu, ini hanyalah contoh mudah, dan anda boleh menambah baik kod mengikut keperluan sebenar anda, seperti menambah fungsi seperti statistik trafik untuk halaman yang berbeza.
Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan modul statistik akses dalam CMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!