PDA

View Full Version : Mã nguồn đếm tổng số lượt truy cập



trungthanhviva
27-10-2006, 11:34
Các bác cho em hỏi chút. Hiện giờ em đang nghiên cứu phần đếm tổng số lượt người truy cập trang web. Em đang có mã nguồn như sau. Không biết bị sai chỗ nào, mà truy cập vào không được, nó báo lỗi và không hiển thị nội dung. Mong mọi người chỉ giúp :



Mình đã để 2 file này (bodem.mdb và duyetxem.asp) trong cùng 1 thư mục và đưa lên Localhost của IIS và mặc định chạy duyetxem.asp thay vì chạy mặc định index.asp nhưng vẫn không hiển thị được.

<%

Dim rs
Dim SoLanXem
Dim strSQL
Dim strConnection
Dim myConnection

strConnection = “provider=microsoft.jet.oledb.4.0; data source = “ & Server.MapPath(“bodem.mdb”)
strSQL = “SELECT * FROM duyetxem WHERE so_lan_xem > 0”
Set myConnection = Server.CreateObject(“ADODB.Connection”)
myConnection.Open strConnection
Set rs = myConnection.Execute(strSQL)
If Not rs.EOF Then
SoLanXem = rs(“so_lan_xem”)
SoLanXem = (SoLanXem + 1)
strSQL = “UPDATE duyetxem SET so_lan_xem = “ & SoLanXem
Set rs = myConnection.Execute(strSQL)
Else
SoLanXem = 1

strSQL = “INSERT INTO duyetxem (so_lan_xem) VALUES (“ & SoLanXem & “);”
Set rs = myConnection.Execute(strSQL)
End If

Set myConnection = Nothing
Set rs = Nothing
%>

<%
Response.Write(“Trang web dã du?c duy?t “ & SoLanXem & “ l?n”)
%>

babyinternet
15-11-2006, 11:20
nếu chỉ đếm số lượt truy cập thôi thì làm đơn giản cho nhẹ: tạo 1 file txt rồi CHMOD thành 777, mỗi lần client truy cập website thì đọc số từ file txt rồi tăng lên 1 , rồi ghi lại xuống là xong, đỡ phải tạo table và truy xuất. Nếu muốn ngăn chặn F5 thì tặng thêm họ cái Session để quản lý việc ghi xuống file là được.

conan1212
18-11-2006, 08:58
nếu chỉ đếm số lượt truy cập thôi thì làm đơn giản cho nhẹ: tạo 1 file txt rồi CHMOD thành 777, mỗi lần client truy cập website thì đọc số từ file txt rồi tăng lên 1 , rồi ghi lại xuống là xong, đỡ phải tạo table và truy xuất. Nếu muốn ngăn chặn F5 thì tặng thêm họ cái Session để quản lý việc ghi xuống file là được.
Hic cái mà bác này hỏi là ASP mừd còn giải pháp mà bác đưa ra là bên PHP mờ.
Bạn có muốn xà Counter miễn phí không, mình đang tạo một trang FreeCounter cho người Việt mình sử dụng ASP. Counter cho phép bạn chọn style [ Image or text ].
http://[V]style.co.nr

conan1212
18-11-2006, 09:58
Mà đoạn code của bạn không ổn, có nhiều chổ thừa quá, syntax thì...
Nên viết lại để có thể chạy nhanh hơn, mà khi xuất ra giá trị của counter thì bạn phải convert cái gí trị này sang nummenic thì mới có thể tăng hay giãm được[ cái này có thể chọn khi thiết kế CSDL trong Access]

htw
20-11-2006, 14:32
bạn nào có code này bằng asp không, cho mình với

babyinternet
29-11-2006, 16:10
Hic cái mà bác này hỏi là ASP mừ còn giải pháp mà bác đưa ra là bên PHP mờ.

PHP hay ASP cũng vậy thôi. Mình chỉ đưa ra giải thuật để các bạn hoàn thiện nó thành code của mình. Với ý tưởng trên có thể code asp như sau :
Phần xử lý bạn tự viết vì nó khá đơn giản, mình chỉ đưa ra 2 sub dùng để đọc và ghi giá trị counter xuống file text thôi.
Chúc bạn thành công .
__________________________________________________ _______________
sub ReadFile()
set fs = CreateObject("Scripting.FileSystemObject")
set file = fs.OpenTextFile("counter.txt", 1)
do while not file.AtEndOfStream
Response.Write(file.ReadLine & vbCrLf)
loop
file.Close()
end sub
__________________________________________________ _______________

__________________________________________________ _______________
sub WriteFile()
set fs = CreateObject("Scripting.FileSystemObject")
set files = fs.OpenTextFile("counter.txt", 2)
files.WriteLine("bạn ghi giá trị đếm mới vào đây.")
file.Close()
end sub
__________________________________________________ _______________

conan1212
30-11-2006, 08:27
PHP hay ASP cũng vậy thôi. Mình chỉ đưa ra giải thuật để các bạn hoàn thiện nó thành code của mình. Với ý tưởng trên có thể code asp như sau :
Phần xử lý bạn tự viết vì nó khá đơn giản, mình chỉ đưa ra 2 sub dùng để đọc và ghi giá trị counter xuống file text thôi.
Chúc bạn thành công .
__________________________________________________ _______________
sub ReadFile()
set fs = CreateObject("Scripting.FileSystemObject")
set file = fs.OpenTextFile("counter.txt", 1)
do while not file.AtEndOfStream
Response.Write(file.ReadLine & vbCrLf)
loop
file.Close()
end sub
__________________________________________________ _______________

__________________________________________________ _______________
sub WriteFile()
set fs = CreateObject("Scripting.FileSystemObject")
set files = fs.OpenTextFile("counter.txt", 2)
files.WriteLine("bạn ghi giá trị đếm mới vào đây.")
file.Close()
end sub
__________________________________________________ _______________

Sử dụng code này không ổn , nếu trang web của bạn có quá nhiều người try cập thì thía nào cũng xảy ra sự cố, người này ghi đè giá tri counter của người khác. Nên sử dụng Access or MSQL.

NDThuan
30-11-2006, 09:53
http://statcounter.com

code làm quái gì cho mệt, em xài cái này tổng hợp khá tốt :D

tham_tu_conan
30-11-2006, 10:08
Đúng! Vào site đăng ký một cái!
Vừa đẹp vừa tiện!