Записване на Ip адреси на форум.

niki690

Registered
Записване на ип адреси на форум SMF2.0.9 и работи перфектно. състои се от два фаила и се слагат в главната директория на форума този го кръщавате. (info)



<?php

define('SMF', 1);
if (function_exists('set_magic_quotes_runtime'))
@set_magic_quotes_runtime(0);
error_reporting(defined('E_STRICT') ? E_ALL | E_STRICT : E_ALL);
$time_start = microtime();


require_once ('Settings.php');
require_once('Sources/Load.php');

global $db_server;
global $db_user;
global $db_passwd;
global $db_name;
global $db_prefix;

$table=$db_prefix.'userlog';

// DB Interaction
$conn = mysql_connect($db_server, $db_user, $db_passwd) or die ('Error connecting to mysql');
mysql_select_db($db_name);

$result = mysql_query("SELECT * FROM `$table`ORDER BY ID DESC ") or die (mysql_error());


// CSS for NexStyle
echo '
<html>
<head>
<title= User Log>
<style type="text/css">
html {
width: 100%;
font-family: Helvetica, Arial, sans-serif;
}
body {
background-color:#00AEEF;
color:#FFFFFF;
line-height:1.0em;
font-size: 125%;
}
b {
color: #FFFFFF;
}
table{
border-spacing: 1px;
border-collapse: collapse;
width: 100%;
}
th {
text-align: center;
font-size: 125%;
font-weight: bold;
padding: 5px;
border: 2px solid #FFFFFF;
background: #00AEEF;
color: #FFFFFF;
}
td {
text-align: left;
padding: 4px;
border: 2px solid #FFFFFF;
color: #FFFFFF;
background: #666;
}
</style>
</head>';

// DB info for user to see
echo '
<body>';


// Set up the table
echo "
<table border='1'>
<thread>
<tr>
<th>id</th>
<th>url</th>
<th>date</th>
<th>browser</th>
<th>ip</th>
</tr>
</thread>
<tbody>";

// Display the data from the query
while ($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['url'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
echo "<td>" . $row['browser'] . "</td>";
echo "<td>" . $row['ip'] . "</td>";
echo "</tr>";
}

// Close table and last few tags
echo "</tbody></table><br /></body></html>";

mysql_close($conn);
?>

---------------------------------------------------------------------------------
фаил 2 го кръщавате го ( IpTracker )





<?php

require_once ('Settings.php');
require_once('Sources/Load.php');


function curPageURL() {
$pageURL = 'http';
if (isset ($_SERVER["HTTPS"])&&$_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}

function trackIpn ()
{


$pageURL=null;
$date=null;
$browser=null;
$ip=null;
global $db_server;
global $db_user;
global $db_passwd;
global $db_name;
global $db_prefix;


$pageURL=curPageURL();

$date=date('Y-m-d H:i:s');


//$browser = get_browser(null, true);
//print_r($browser);

if ( isset($_SERVER['HTTP_CLIENT_IP']) && ! empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && ! empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0';
}

$ip = filter_var($ip, FILTER_VALIDATE_IP);
$ip = ($ip === false) ? '0.0.0.0' : $ip;

$conn = mysql_connect($db_server, $db_user, $db_passwd,true) or die ('Error connecting to mysql');
mysql_select_db($db_name);

$table=$db_prefix.'userlog';

if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1)
{


//$pageURL=mysql_real_escape_string($pageURL);

// $browser=mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);



/* $sql = "INSERT INTO '.$table. '(url, browser, date,ip)
VALUES ('$pageURL', '$browser','$date','$ip')";

$result = mysql_query($sql) or die (mysql_error());
mysql_close($conn);*/
}
else
{
$sql = "CREATE TABLE $table( ".
"id INT NOT NULL AUTO_INCREMENT, ".
"url VARCHAR(255) NOT NULL, ".
"date DATETIME NOT NULL, ".
"browser VARCHAR (255) NOT NULL, ".
"ip VARCHAR (255) NOT NULL, ".
"primary key ( id ))";
mysql_query($sql);


}
$pageURL=mysql_real_escape_string($pageURL);

$browser=mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);

$sql = "INSERT INTO `$table` (url, browser, date,ip)
VALUES ('$pageURL', '$browser','$date','$ip')";

$result = mysql_query($sql) or die (mysql_error());
mysql_close($conn);



}



?>

-------------------------------------------------------------------------------------
този код се слага в index на форума и се слага наи отдолу в index на края require_once('IpTracker.php');
trackIp();
 

Горе