Пример: Подключиться к БД, создать таблицу, если ее нет и вносить данные пользователей: IP пользователя, число заходов на страницу. Выводить список на экран.
Текст программы:
<?
echo "<p>Лабораторная работа № 12</p>";
echo "<p>© <b>Разработал студент КИТ-27а Дьяков Александр Владимирович.</b></p>
<p>Подключиться к БД, создать таблицу, если ее нет и вносить данные пользователей: IP пользователя, число заходов на страницу. Выводить список на экран.
<p>";
$db = mysql_connect("localhost","p18134_socsety","yh95P1");
mysql_select_db("p18134_socsety",$db);
mysql_query("SET NAMES cp1251");
$ip = getip();
$table = "ipusers";
$table2 = mysql_table_seek($table,$db);
if($table2 == true)
{
echo "<p>Таблица $table существует";
$res = mysql_query("SELECT ip,view FROM $table WHERE ip = '$ip'",$db);
if (mysql_num_rows($res) > 0) {
$my = mysql_fetch_array($res);
$view = $my['view']+1;
$res2 = mysql_query("UPDATE $table SET view='$view' WHERE ip = '$ip'",$db);
} else {
$res2 = mysql_query("INSERT INTO $table (ip) VALUES ('$ip')",$db);
}
$result = mysql_query("SELECT * FROM $table",$db);
if (mysql_num_rows($result) > 0){
$myrow = mysql_fetch_array($result);
$for = 0;
echo '<table width="500" border="1" cellspacing="0" cellpadding="0">';
do
{
$for++;
printf("<tr><td>$for</td><td>%s</td><td>%s</td></tr>", $myrow["ip"],$myrow["view"]);
}while ($myrow = mysql_fetch_array($result));
echo '</table>';
}
}
else
{
echo "Таблица $table не существует";
$sql = "CREATE TABLE IF NOT EXISTS `$table` (
`ip` varchar(100) NOT NULL,
`view` int(23) NOT NULL default '0',
`id` int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";
// Execute query
mysql_query($sql,$db);
echo "<p>Таблица $table создана";
}
function mysql_table_seek($tablename, $dbname)
{
$table_list = mysql_query("SHOW TABLES FROM `".$dbname."`");
while ($row = mysql_fetch_row($table_list)) {
if ($tablename==$row[0]) {
return 1;
}
}
return -1;
}
function getip()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip = getenv("HTTP_CLIENT_IP");
elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
elseif (!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
?>
Результат работы программы: