Дата на последно влизане
Написах един php скрипт, който показва датата и часа на последното влизане от потребител в неговия акаунт. Така той може да разбере ако някой друг ползва неговия акаунт. Кодът е написан за Login система, която използва база данни и за защита на страниците се използват сесии.
Ще трябва да направим в MySQL таблицата, където се съхранява username-a на потребителя, още едно поле, в което ще се записват датата и часът.
Моята таблица се казва users, полето, което съхранява username-a се казва username, а полето, в което ще се записват датата и часът се казва history тип text.
Така ще започва страницата:
<?php
session_start();
if($_SESSION['username'])
{
$sesusername = $_SESSION['username'];
}
else
{
die("Тук може да напишете, че трябва да се влезе с ник и парола");
}
?>С този код защитаваме страницата, $sesusername е променлива със стойност username-a на потребителя.
Следва код, който извежда стойността на history.
<?php
$host = "тук пишете името на хоста на MySQL";
$user = "юзърът на базата данни";
$pass = "паролата на юзъра на базата данни";
$db = "името на базата данни";
$conn = mysql_connect("$host", "$user", "$pass") or die ("Unable to connect to database.");
mysql_select_db("$db", $conn);
$query = "SELECT history FROM users where username='$sesusername'";
$result = mysql_query($query);
if ($result) {
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "" . $row['history']. "\r\n";
}
}
?>Следващият код ъпдейтва датата и часа в таблица users поле history.
$date = date(„d.m.Y H:i:s“) ще ги запише в този вид: 02.03.2007 12:05:15. Може да ги направите в различен формат, но типът на полето трябва да е text.
<?php
$host = "тук пишете името на хоста на MySQL";
$user = "юзърът на базата данни";
$pass = "паролата на юзъра на базата данни";
$db = "името на базата данни";
$conn = mysql_connect("$host", "$user", "$pass") or die ("Unable to connect to database.");
mysql_select_db("$db", $conn);
$date = date("d.m.Y H:i:s");
$query = "update users set history='$date' where username='$sesusername'";
$result = mysql_query($query);
?>Ето как работят заедно: първият код защитава страницата от ‘гости’, вторият извежда датата на предишното влизане и след това третият ъпдейтва датата.
Може да го запишете в отделен файл примерно history.php и да го инклудвате в страницата, която желаете така:
<?php
include ("път_до_history.php");
?>За да добавите полето history във вече съществуваща таблица users, запишете следния код във файл table.sql и го импортнете с phpMyAdmin в базата данни:
ALTER TABLE `users` ADD `history` TEXT NOT NULL ;За да създадете нова таблица users с полета id, username, password и history, запишете следния код във файл table.sql и го импортнете с phpMyAdmin в базата данни:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(20) NOT NULL auto_increment,
`username` varchar(64) NOT NULL,
`password` varchar(64) NOT NULL,
`history` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
);
Този урок е написан специално за web-tourist.net. Забранявам копирането и публикуването му в друг сайт!


