Tip berguna

Cara menulis laman web hit counter pada PHP

Pin
Send
Share
Send
Send


Selamat hari! Saya fikir mereka masih ingat berapa baru-baru ini, selepas gangguan kecil di pelayan Google, banyak laman web juga terhempas.
Malah, keadaan ini boleh berlaku dengan mana-mana perkhidmatan di Internet, jadi lebih baik untuk selamat lagi.
Bagi kebanyakan organisasi, statistik lalu lintas tapak menjejaskan kerja pemasar yang menentukan bandar mana yang mempunyai permintaan yang lebih tinggi untuk produk, dsb. Tetapi bagaimana jika perkhidmatan statistik yang digunakan di laman web ini gagal sementara?

Terdapat penyelesaian: gunakan skrip anda untuk mengesan lawatan tapak dengan perkhidmatan pihak ketiga.

Skrip kami akan terdiri daripada tiga fail:

  • stat.php - Termasuk setiap halaman yang perlu dipantau
  • stat.log - fail di mana sejarah lawatan akan dirakam
  • seestats.php - fail untuk melihat statistik

Malah, sebarang nama fail boleh digunakan.


Untuk mengelakkan penggera stat.log secara manual setiap kali, buat fail untuk memaparkan statistik lawatan tapak:
Fail seestats.php


Itu sahaja! Sekarang, walaupun dengan kejatuhan liveinternet atau Yandex.Metrica, anda boleh mengetahui siapa yang datang ke laman web anda!

Artikel ini tidak tertakluk kepada komen, kerana pengarangnya belum menjadi ahli penuh masyarakat. Anda boleh menghubungi penulis hanya selepas dia menerima jemputan daripada salah seorang ahli komuniti. Sehingga saat itu, nama penggunanya akan disembunyikan oleh alias.

Popular

  • Rumah
  • ->
  • Bahan
  • ->
  • Laman web do-it-yourself hit counter di PHP dan MySQL

Reg.ru: domain dan hosting

Penyedia pendaftar dan penyedia terbesar di Rusia.

Lebih 2 juta nama domain dalam perkhidmatan.

Promosi, mel domain, penyelesaian perniagaan.

Lebih daripada 700 ribu pelanggan di seluruh dunia telah membuat pilihan mereka.

Kursus Percuma "Amalan HTML5 dan CSS3"

Pelajari kursus video langkah demi langkah secara percuma

mengenai asas susun atur adaptif

HTML5 dan CSS3 dari awal.

Rangka Kerja Bootstrap: Layout Adaptive Fast

Kursus video langkah demi langkah mengenai asas susunan adaptif dalam rangka kerja Bootstrap.

Belajar susun atur dengan mudah, dengan cepat dan cekap menggunakan alat yang berkuasa dan praktikal.

Layout untuk memesan dan mendapatkan wang.

Apa yang perlu anda ketahui untuk membuat laman PHP?

Jawapannya ada di sini. Hanya yang paling penting dan berguna untuk pemaju web pemula.

Ketahui cara membuat laman web berkualiti di hanya dalam 2 jam dan 27 minit!

Bina laman web anda dalam masa 3 jam dan 30 minit.

Selepas menonton video ini, anda akan mempunyai laman web yang sedia untuk digunakan pada komputer anda yang telah anda buat sendiri.

Anda hanya perlu mengisi dengan maklumat yang diperlukan dan mengubah reka bentuk (pilihan).

Ketahui asas-asas HTML dan CSS dalam masa kurang daripada 4 jam.

Selepas menonton video ini, anda akan berhenti melihat seram di kod HTML dan akan memahami bagaimana ia berfungsi.

Anda boleh membuat halaman HTML pertama anda dan memberi mereka rupa yang anda inginkan dengan CSS.

Kursus Laman Web WordPress Percuma

Mahu belajar CMS WordPress?

Dapatkan pelajaran mengenai reka bentuk dan susun atur laman web di WordPress.

Belajar untuk bekerja dengan tema dan potong susun atur.

Kursus video percuma pada reka bentuk reka bentuk laman web, susun atur dan pemasangan di WordPress CMS!

Mahu belajar JavaScript, tetapi tidak tahu cara mendekati?

Selepas melengkapkan kursus video, anda akan mempelajari perkara asas untuk bekerja dengan JavaScript.

Mitos tentang kerumitan bekerja dengan bahasa ini akan terbang, dan anda akan bersedia untuk mempelajari JavaScript pada tahap yang lebih serius.

* Tetikus untuk menjedakan menatal.

Laman web do-it-yourself hit counter di PHP dan MySQL

Saiz: 53.8 Mb.

Tempoh: 34 minit 25 saat

Dalam pelajaran ini, kita akan melihat bagaimana anda boleh membuat kaunter hit mudah untuk laman web anda. Satu contoh yang akan kami laksanakan di PHP menggunakan pangkalan data.

Jelas sekarang terdapat banyak penyelesaian siap sedia - bermula dari liveinternet dan mail.ru, dan berakhir dengan Yandex.Metrica.

Semua perkhidmatan ini menyediakan banyak maklumat statistik yang berbeza, tetapi saya masih secara berkala diminta untuk memberitahu anda bagaimana anda boleh membuat walaupun kaunter sederhana anda sendiri untuk lawatan ke laman web ini.

Kami tidak akan merekodkan puluhan dan ratusan parameter, seperti raksasa seperti Yandex. Saya akan menunjukkan kepada anda prinsip mewujudkan kaunter, dan jika anda mahu, anda boleh menambah lebih banyak fungsi di sana, jika perlu.

Semua sumber yang digunakan dalam pelajaran disertakan pada arkib bersama dengan tutorial video.

Anda boleh melihat pelajaran ini sekarang, atau memuat turunnya ke komputer anda dari pautan di atas.

Di bawah video, anda akan menemui versi teks ringkas untuk tutorial video ini.

Gambaran ringkas mengenai pelajaran (lihat video untuk butiran):

Apa yang kita perlukan?

1. 4 fail hampir sama memainkan peranan halaman yang berlainan di tapak (index.php, contacts.php, about.php dan uslugi.php)
2. . Fail akses untuk menetapkan pengekodan pelayan ke UTF-8
3. Folder css dengan stylesheet. Terdapat beberapa gaya mudah untuk halaman kami.
4. Folder Inc dengan memasukkan fail. Terdapat tiga daripada mereka:
- fail sambungan pangkalan data
- Satu fail yang akan disambungkan ke tempat yang betul pada halaman untuk memaparkan kaunter
- Skrip utama di mana logik kaunter didaftarkan
5. Folder admin dengan fail index.php. Dalam fail ini, kami dapat melihat statistik lawatan tapak

Bagaimana ia berfungsi?

1. Buat projek di Denver (atau pada pelayan sebenar)

Saya mencipta hos di Denver dengan nama itu statistik, dan dalam folder www adalah semua fail laman web.

2. Buat pangkalan data

Mari kita teruskan untuk mewujudkan asas di mana kita akan mendapat semua maklumat. Mari kita panggil dia statistik dan buat dua jadual di dalamnya.

Jika anda tidak mahu membuat jadual secara manual, anda boleh menggunakan dump pangkalan data (dilampirkan dalam bahan tambahan) dan laksanakan pertanyaan SQL pada tab SQL selepas membuat pangkalan data.

Jadi buat jadual pertama. Mari kita panggil dia ips - ia akan menyimpan pengenalpastian alamat IP dan alamat IP pelawat tapak sendiri.

Jadual ini akan mempunyai 2 medan:

- id_id (int (12), kunci utama, auto-tambahan) - pengenal alamat IP,
- ip_address (varchar (50)) - alamat IP pelawat itu sendiri.

Seterusnya kami buat jadual kedua. Mari kita panggil dia lawatan - ia akan menyimpan maklumat mengenai lawatan tapak.

Terdapat 4 medan dalam jadual:

visit_id (int (12), kunci utama, peningkatan auto) - pengecam lawatan,
tarikh (tarikh) - tarikh lawatan,
tuan rumah int (12) - bilangan tuan rumah (lawatan unik),
pandangan int (12) - bilangan hits (paparan halaman).

Akibatnya, asasnya akan kelihatan seperti ini:

3. Peruntukan asas

Sekarang pangkalan data dibuat, anda boleh beralih kepada beberapa perkara yang akan kami bangun ketika menulis skrip:

1. Kami akan menentukan pelawat unik dengan alamat IP. 1 alamat IP sama dengan 1 pengunjung unik (tuan rumah).

2. Lawatan 1 hari dengan alamat IP yang sama tidak meningkatkan jumlah pengunjung unik pada hari itu.

3. Apa-apa lawatan ke laman web pada hari itu meningkatkan kaunter lawatan (hits) sebanyak 1 (tidak kira sama ada ia dibuat dari alamat IP yang unik hari ini atau tidak).

4. Kami akan menentukan permulaan hari seperti berikut: apabila seseorang melawat tapak, kami akan memeriksa sama ada terdapat di dalam jadual lawatan sebarang catatan untuk tarikh hari ini. Jika tidak, maka pengunjung semasa adalah pelawat pertama pada hari ini.

5. Sekali sehari, jadual dengan alamat IP dibersihkan supaya kami boleh memasukkan alamat IP di dalamnya pada hari semasa dan mengumpul statistik pada lawatan hari ini ke laman web ini (ini dilakukan hanya dengan fakta bahawa ia telah diketahui bahawa yang pertama di dalam saat ini hari pelawat).

4. Kami menulis fail halaman laman (index.php, contacts.php, about.php dan uslugi.php)

Oleh kerana semua 4 fail halaman laman web hampir sama, kami akan mempertimbangkan hanya halaman index.php. Baki tiga halaman (contacts.php, about.php dan uslugi.php) hanya berbeza dalam tag tajuk dan h2di mana nama halaman lain ditulis.

Jadi fail index.php:

Pada mulanya kita menyertakan fail count.php, yang mengandungi semua logik kaunter.

Seterusnya adalah kemasukan helaian gaya dan markup ringkas. Ke blok div dengan id nav menu disertakan, dan hanya beberapa gaya mudah ditulis dalam lembaran gaya untuknya.

Di bahagian bawah, di hadapan tag penutup badan kita termasuk fail show_stats.php, yang mengandungi kod counter itu sendiri, iaitu fail ini telah menghasilkan secara langsung apa yang akan dipaparkan pada skrin.

I.e. pada setiap halaman di laman web kami akan memaparkan kaunter, dan ia akan menunjukkan berapa ramai pelawat dan pandangan unik hari ini. Kami akan menganalisis fail ini kemudian.

5. Kami menulis lembaran gaya (style.css)

Gaya, seperti yang anda lihat, sangat mudah. Kami menetapkan indentasi, saiz fon dan jenis huruf, keluarkan garis bawah untuk pautan dalam menu, dan tukar warna latar belakang apabila anda melayang ke atas item senarai.

Di samping itu, kami menggunakan harta itu paparan dengan nilai inline supaya menu kami mengambil pandangan mendatar dan bukannya menegak.

6. Kami menulis fail .htaccess

Sekiranya berlaku, buat fail dalam akar tapak .htaccess dengan satu arahan tunggal untuk menyatakan pengekodan UTF-8:

Langkah ini mungkin berlebihan jika pengekodan pelayan telah ditetapkan pada nilai ini.

7. Sambung ke pangkalan data (db.php)

Dalam fail db.php Parameter untuk menyambung ke pangkalan data ditentukan - host, nama pangkalan data, nama pengguna dan kata laluan.

Sambungan dibuat secara langsung dalam fail yang sama, dan pengecam sambungan dimasukkan ke pembolehubah $ db. Sekiranya berlaku kesilapan, mesej dipaparkan yang menyatakan bahawa tidak dapat disambungkan ke pangkalan data.

7. Kami menulis fail utama dengan logik (count.php)

Di bawah adalah kodanya, yang akan kami analisa secara ringkas:

Oleh itu, pertama kita memasukkan fail itu bd.php, menyediakan komunikasi dengan pangkalan data, selepas itu kita mula menulis kod utama.

Perkara pertama yang pertama, kita dapat dari pelbagai global $ _SERVER Alamat IP pengunjung dan simpan tarikh semasa.

Kami memerlukan tarikh untuk memeriksa sama ada sudah ada lawatan hari ini atau tidak - ini hanya langkah seterusnya kami.

Selanjutnya, kami hanya mempunyai 2 pilihan: sama ada belum ada lawatan hari ini, atau sudah ada lawatan hari ini.

Dalam kes pertama (jika belum ada lawatan lagi) dan pelawat semasa adalah yang pertama pada hari ini, kami membersihkan jadual dengan alamat IP.

Kami perlukan ini untuk mula mengumpul statistik sudah hari ini.

Di samping itu, kami memasukkan dalam pangkalan data alamat IP pengunjung semasa, dan dalam pangkalan data untuk hari semasa kami dimasukkan ke dalam bidang pandangan dan pelawat unik oleh unit, kerana ini adalah orang pertama yang membawa hari ini menjadi tuan rumah pertama dan pertama.

Pilihan kedua adalah ketika lawatan telah hari ini.

Dalam kes ini, kita periksa sama ada alamat IP dari mana panggilan sudah dalam pangkalan data sudah ada dalam pangkalan data. kita hanya perlu menimbangkan alamat IP unik dalam masa satu hari.

Jika ternyata alamat IP tersebut sudah ada hari ini, maka kami menambah +1 pada nilai paparan semasa dan tidak lebih lagi.

Jika tiada alamat IP seperti hari ini (iaitu pengunjung unik), maka kami menyimpan IPnya dalam pangkalan data dan mengemas kini nilai kedua-dua bilangan pelawat dan pandangan yang unik (iaitu meningkatkan nilai kedua-dua bidang dengan satu).

Pada fail ini count.php boleh dianggap disassembled.

8. Kami menulis fail yang memaparkan kaunter pada halaman (show_stats.php)

Fail show_stats.php kami gunakan pada setiap halaman untuk memaparkan maklumat statistik. Berikut adalah kodanya:

Seperti yang anda dapat lihat, fail ini lebih mudah.

Di sini kita hanya mendapatkan statistik untuk tarikh semasa dari pangkalan data, selepas itu kita menggunakan kekunci array yang dihasilkan $ baris untuk memaparkan jumlah pelawat unik (medan tuan rumah) dan pandangan (medan pandangan).

9. Buat fail panel admin (index.php dalam folder admin)

Dalam fail ini, kami akan membentangkan statistik lawatan dalam bentuk jadual.

Di samping itu, kami sedar kemampuan untuk menerima statistik untuk tempoh tertentu. Di bawah adalah kod fail index.php:

Sambungkan dahulu ke pangkalan. Kemudian kita membentuk dua pautan dengan parameter yang, apabila kita klik pada mereka, akan menerima data untuk selang waktu tertentu (dalam contoh: selama 1 hari dan 1 minggu).

Kami juga menyemak pelbagai global. $ _GET untuk kehadiran parameter yang diluluskan oleh kami (selang) dan, jika nilai parameter ini bukan nombor, kami memaparkan amaran yang sepadan.

Jika segala-galanya baik-baik saja, maka kami membuat permintaan pangkalan data, mengeluarkan semua rekod yang disusun mengikut tarikh dalam urutan terbalik dalam bilangan potongan yang dinyatakan dalam parameter selang.

Selepas itu kita memulakan gelung sementara dan di dalamnya kita membentuk baris jadual, memaparkan unsur-unsur array yang dihasilkan dalam sel-sel mereka $ baris (tarikh, tuan rumah dan pandangan), menyebabkan senarai semua lawatan untuk tempoh masa yang ditentukan.

Nah, mengenai ini, analisis skrip boleh dipertimbangkan selesai. Jika anda mahu, anda boleh mengubahnya, memaksanya, sebagai contoh, untuk mengumpul lebih banyak statistik.

Sekiranya anda tidak memahami sepenuhnya semakan teks ringkas, maka pelajari versi penuh pelajaran dalam format video pada halaman ini di atas.

Nasib baik kepada anda, dan sambungan!

P.S. Mahu berfungsi dengan mudah dengan PHP? Perhatikan pelajaran premium mengenai pelbagai aspek bangunan tapak, termasuk pengaturcaraan dalam PHP, serta kursus percuma untuk mewujudkan sistem CMS anda dalam PHP dari awal. Semua ini akan membantu anda dengan cepat dan mudah mempelajari bahasa pembangunan web yang kuat ini:

Adakah anda suka bahan dan ingin mengucapkan terima kasih?
Hanya berkongsi dengan kawan-kawan dan rakan-rakan!

Kami mengumpul data dan menghantar statistik ke kaunter

Kami akan menentukan alamat IP pelawat dan tarikh lawatan menggunakan PHP, dan segala-galanya menggunakan JavaScript. Marilah kita menulis kod yang akan kita pasangkan di halaman laman web kami dan dengan bantuan yang akan kami ketahui mengenai maklumat yang diperlukan mengenai pengunjung. Pertama, kami akan mengetahui sama ada kuki diaktifkan di pelayar pelawat. Untuk melakukan ini, anda perlu lulus cookie ke penyemak imbas dan mengetahui hasilnya - sama ada ia menerima cookie atau tidak. Kami akan menyimpan nilai ini dalam pemboleh ubah cookie_detect:

Akibatnya, pemboleh ubah cookie_detect akan diberikan rentetan c = Ya jika kuki diaktifkan dalam penyemak imbas atau c = Tidak jika dilumpuhkan. Sekarang kita akan menentukan segala yang lain dan segera lulus data yang diterima ke skrip yang akan memproses maklumat dan menyimpannya dalam pangkalan data:

Fungsi JavaScript Math.random () digunakan di sini untuk menghasilkan, pada setiap beban halaman, nombor rawak baru di alamat kaunter. Ini dilakukan supaya pelayar mengakses pelayan setiap kali, daripada mengambil data dari cache, dan kita boleh mendapatkan statistik yang paling tepat. Jika anda tidak memahami sesuatu di sini, baca artikel "Bagaimana untuk meluluskan pembolehubah dari JavaScript ke PHP", dan juga membaca manual JavaScript.

Jangan lupa tentang pengunjung yang mempunyai JavaScript dilumpuhkan. Tanpa JavaScript, kami hanya dapat mengetahui alamat IP pelawat:

Bahagian pelayan

Semua maklumat mengenai pelawat akan disimpan dalam pangkalan data. Kami akan menggunakan MySQL sebagai yang paling biasa. Sekarang anda perlu membuat pangkalan data dan jadual untuk menyimpan maklumat yang dikumpulkan. Buat fail pemasangan install.php dan tulis yang berikut di sana:

Dalam jadual ini, kami akan menyimpan semua data yang diterima. Buat fail config.inc.php dan masukkan nama pengguna, kata laluan, pelayan dan nama pangkalan data di sana:

Jika anda hanya menyalin kod dari artikel ini, berikan perhatian khusus kepada config.inc.php. Pada permulaan fail ini, tidak sepatutnya ruang sebelum - mereka boleh disalin ke fail apabila kod tersebut dipilih. Kehadiran mana-mana watak di tempat yang dinyatakan boleh mengganggu operasi kaunter. Begitu juga untuk fail counter.php. Juga, jangan lupa untuk menukar nama pengguna dan kata laluan untuk pangkalan data kepada anda sendiri.

Kami memulakan pelayan dan menaip laluan ke fail pemasangan dalam bar alamat penyemak imbas:

Jika anda melakukan semuanya dengan betul, anda akan melihat mesej: "pemasangan berjaya disiapkan." Kini kami menulis counter.php, yang akan menyimpan semua data yang diterima dan menjana imej kaunter:

Untuk menghasilkan gambar, perpustakaan PHP GD2 digunakan. Kami melukis gambar 88x31 piksel dalam editor grafik dan menyimpannya dalam format gif dengan nama counter.gif. Kami membuka laman tapak di mana kod counter dipasang dan menikmati hasilnya.


Ini adalah bagaimana kaunter hit grafik kami kelihatan

Di bahagian paling atas kaunter, jumlah keseluruhan hits untuk semua masa dipaparkan, di tengah-tengah adalah hits untuk hari ini, dan di tuan rumah paling bawah untuk hari ini.

Antara muka pentadbiran

Sekarang kita akan menulis admin.php, dengan mana kita akan melihat data yang diterima dan memadamkan entri yang tidak perlu lama:


Antara Muka Pentadbiran - Lihat Statistik Pelawat Tapak

Anda boleh memperluaskan kaunter pelawat. Sebagai contoh, oleh perujuk anda boleh mengetahui enjin carian mana yang berasal dari pengunjung dan apa yang dia masukkan dalam bar carian untuk mencari tapak anda.

Seperti yang anda dapat lihat, tidak ada yang rumit mengenai perkara ini. Jika anda sudah biasa dengan PHP dan MySQL, maka membaca artikel ini dengan mudah boleh menulis SpyLog anda.

Penyertaan berkaitan lain dalam seksyen artikel PHP dan MySQL

Pin
Send
Share
Send
Send