Description:
When a user goes on a certain page or multiple pages, it adds a record to the MySQL database with their IP, date and time they went on the page and the month. Implimented into the admin panel is a search so you can search for users at certain times or with a certain Ip address.
Step 1:
Create a MySql database called count. Then insert the following into the mysql database to get you table:
Step 2:
Make a file called config.php and put the following into it editing all the variables that need changing.
config.php
Step 3:
Add the following script to the page that you want the members to be counted from (your hopepage or splash page)
index.php
Step 4:
Create a folder called something along the lines of admin. Password protect this folder to stop intruders getting guest information. In the admin folder, add another config.php (Step 2).
Insert this page:
admin/index.php
Step 5:
This is the final stage where we add the search:
admin/search.php
And you are done! This tut took me a while to write Hope you enjoy it. Any comments or suggestion please feel free to post them here!
- Deshi
When a user goes on a certain page or multiple pages, it adds a record to the MySQL database with their IP, date and time they went on the page and the month. Implimented into the admin panel is a search so you can search for users at certain times or with a certain Ip address.
Step 1:
Create a MySql database called count. Then insert the following into the mysql database to get you table:
PHP:
CREATE TABLE `guests` (
`ip` varchar(30) NOT NULL default '',
`date` varchar(30) NOT NULL default '',
`time` varchar(30) NOT NULL default '',
`month` varchar(30) NOT NULL default ''
)
Step 2:
Make a file called config.php and put the following into it editing all the variables that need changing.
config.php
PHP:
<?
// Edit varibles below
$host="localhost"; // mySQL database host
$username=""; // mySQL database username
$password=""; // mySQL database password
$database="count"; // mySQL database name
$table="guests"; // mySQL database table
// Do not edit below this line
$time=date("h:i A");
$date=date("j M Y");
$month=date("F");
$ip="$REMOTE_ADDR";
?>
Step 3:
Add the following script to the page that you want the members to be counted from (your hopepage or splash page)
index.php
PHP:
<?
include ('config.php');
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO $table (ip, time, date, month) VALUES ('$ip','$time','$date','$month')";
mysql_query($query);
mysql_close();
?>
Step 4:
Create a folder called something along the lines of admin. Password protect this folder to stop intruders getting guest information. In the admin folder, add another config.php (Step 2).
Insert this page:
admin/index.php
PHP:
<option value="date">Date (e.g. 1 Jan 2005)
</select>
<input type="text" name="search">
<input type="submit" value="Search"></form> <a href="index.php">VIEW ALL</a>
</fieldset>
<br><br>
<?php
include ('config.php');
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM $table";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
echo "<br>We have had $num visitors.<br><br>";
echo "<table border='1' bordercolor='#CCCCCC' cellpadding='2' cellspacing='0' width='95%'>
<tr>
<td width='25%' align='center'>IP</td>
<td width='25%' align='center'>Date</td>
<td width='25%' align='center'>Time</td>
<td width='25%' align='center'>Month</td>
</tr>";
$i=0;
while ($i < $num) {
$ip=mysql_result($result,$i,"ip");
$date=mysql_result($result,$i,"date");
$time=mysql_result($result,$i,"time");
$month=mysql_result($result,$i,"month");
echo "<tr>
<td align='center'>$ip</td>
<td align='center'>$date</td>
<td align='center'>$time</td>
<td align='center'>$month</td>
</tr>";
$i++;
}
?>
Step 5:
This is the final stage where we add the search:
admin/search.php
PHP:
<fieldset>
<legend>Search</legend>
<form action="search.php" method="POST">
<select name="topic">
<option value="month">Month (e.g June)
<option value="ip">IP Address (e.g. xx.xx.xxx.xxx)
<option value="time">Time (e.g. 01:09 AM)
<option value="date">Date (e.g. 1 Jan 2005)
</select>
<input type="text" name="search">
<input type="submit" value="Search"></form> <a href="index.php">VIEW ALL</a>
</fieldset>
<br><br>
<?php
include ('config.php');
$search=$_POST['search'];
$topic=$_POST['topic'];
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM $table WHERE $topic LIKE '%$search%'";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
if ($num == 1)
$match=" ";
else
$match="es";
echo "<br>You searched $search in $topic. We have found $num match$match<br><br>";
echo "<table border='1' bordercolor='#CCCCCC' cellpadding='2' cellspacing='0' width='95%'>
<tr>
<td width='25%' align='center'>IP</td>
<td width='25%' align='center'>Date</td>
<td width='25%' align='center'>Time</td>
<td width='25%' align='center'>Month</td>
</tr>";
$i=0;
while ($i < $num) {
$ip=mysql_result($result,$i,"ip");
$date=mysql_result($result,$i,"date");
$time=mysql_result($result,$i,"time");
$month=mysql_result($result,$i,"month");
echo "<tr>
<td align='center'>$ip</td>
<td align='center'>$date</td>
<td align='center'>$time</td>
<td align='center'>$month</td>
</tr>";
$i++;
}
?>
And you are done! This tut took me a while to write Hope you enjoy it. Any comments or suggestion please feel free to post them here!
- Deshi