Webmaster общности: Predpriemach.com | SearchEngines.bg

    Дата на последно влизане

    Написах един 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. Забранявам копирането и публикуването му в друг сайт!

    Оставете коментар