Autor Zpráva
Yuff.3
Profil
Ahojte,
ako by som spravil, aby mi na webe na "stranka.php" zobrazilo posledných užívateľov, ktorí túto stránku navštívili??
Ďakujem za tipy :)
Radek9
Profil
Já bych na to určitě použil kouzelnou funkci showLastUsers. Navíc, pokud jí dáš jako parametr číslo 42, tak ti vykreslí i jednorožce.

A teď vážně. Neposlal jsi žádné informace o tom, jak tvůj web funguje. Jak ukládáš uživatele? Ukládáš je vůbec? Co čekáš, že by to mělo vypsat? A hlavní otázka: Čekáš snad, že to za tebe někdo celé napíše? Tato diskuse je určena k řešení problémů. Popiš tedy, s čím konkrétně máš problém, a my ti s radostí poradíme.
Yuff.3
Profil
Radek9:
Chcem poradiť ako by to mohlo fungovať. Používam Php-Fusion najnovší - samozrejme že užívateľ má svoje ID..
Čo by to malo vypísať/robiť? Na stránke stranka.php Vypíše: Naposledy túto stránku (stranka.php) videli: užívatelia (kde počet užívateľov by sa mal dať upraviť - to by asi nemal byť problém spraviť)
mimochodec
Profil
Yuff.3:
Čo by to malo vypísať/robiť? Na stránke stranka.php Vypíše: Naposledy túto stránku (stranka.php) videli: užívatelia (kde počet užívateľov by sa mal dať upraviť - to by asi nemal byť problém spraviť)

Jistě, že to není problém. Udělej si registraci uživatelů, ukládej si u nich informaci, kdy stránku viděli a pak prostě vypisuj, kdo ji viděl naposled.
Yuff.3
Profil
mimochodec:
Udělej si registraci uživatelů
to mám :D

ukládej si u nich informaci, kterou stránku viděli a kdy
kvôli tomuto som založil tému :D
Nešlo by trochu naviesť na to, jak to spraviť? :)
mimochodec
Profil
Yuff.3:
Nešlo by trochu naviesť na to, jak to spraviť? :)

Tabulka zobrazeni_stranek. V ní sloupce id_osoby, id_stranky, zobrazeno. Při otevření stránky použij http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
Na dané stránce pak vypíšeš lidi ORDER BY zobrazeno DESC.
Yuff.3
Profil
mimochodec:
Čo musím spraviť, aby si mi to sem všetko napísal? :D
mimochodec
Profil
Yuff.3:
Přestaň psát smajl za každou druhou větou a vyvíjej víc snahy, než je kladení neurčitých otázek, na které se nedá odpovědět vhodněji, než odkázáním na sekci Práce a zakázky.

Jestlis nepochopil #6, vysvětli, co na tom nechápeš. Prvotní otázky kladeš jako laik, který netuší, co je php, pak zamáváš nějakým fusionphp a tím, že databázi používáš. Jestli to umíš, tak ji použij. Na jaké úrovni abstrakce se ztrácíš, netuším.
Yuff.3
Profil
mimochodec:
:D ani nvm čo na to odpísať :D
Som laik - Php-Fusion je redakčný systém - obsahuje databázu MySQL - a dajú sa tam registrovať užívatelia - teda -

Udělej si registraci uživatelů
nie je potrebné - keďže tento systém ju obsahuje. :)


Našiel som takýto panel:
<?php
$locale['LSUP_000'] = "Posledné návštevy";
$locale['LSUP_001'] = "<font color='green'><b>Online</b></font>";
$locale['LSUP_002'] = "<font color='red'>< 5 min.</font>";
$locale['LSUP_003'] = "týždeň";
$locale['LSUP_004'] = "týždne";
$locale['LSUP_005'] = "deň";
$locale['LSUP_006'] = "dni";
$locale['LSUP_007'] = "Nikdy";
$locale['LSUP_008'] = "";
$locale['LSUP_009'] = "Viac užívateľov";
$locale['LSUP_010'] = "Skryť užívateľov";
?>
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/

/* 
    Modified by Marwelln
    WWW: http://engine.redward.org
    Original creator: Unknown
*/

if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }

if (file_exists(INFUSIONS."last_seen_users_panel/locale/".$settings['locale'].".php")) {
    include INFUSIONS."last_seen_users_panel/locale/".$settings['locale'].".php";
} else { include INFUSIONS."last_seen_users_panel/locale/English.php"; }

/*******************************************************************
* Set minimum and maximum number of users you want displayed on each level
*******************************************************************/

$min = 10;    // minimum visible shouts in first level.
$max = 10;    // maximum number of shouts in second level (hidden).
$colors = array( 
    103 => "#FF0000",    // User name color for Super Admins (default = styled a in styles.css)
    102 => "#008000",    // User name color for Admins (default = styled a in styles.css)
    101 => "#04688D"    // User name color for members (default = styled a in styles.css)
);

/******************************************************************/

echo "<script type='text/javascript'>
<!--
function toggle_lsup() {
    var smu = document.getElementById('show_more_users');
    var smutxt = document.getElementById('show_more_users_text');
    if (smu.style.display == 'none') {
        smu.style.display = 'block';
        smutxt.innerHTML = '".$locale['LSUP_010']."';
    } else {
        smu.style.display = 'none';
        smutxt.innerHTML = '".$locale['LSUP_009']."';
    }
}
//-->
</script>";
echo "<table cellpadding='0' cellspacing='0' width='100%'  class=''>";
$result = dbquery("SELECT * FROM ".$db_prefix."users ORDER BY user_lastvisit DESC LIMIT ".($min + $max));
if (dbrows($result) != 0) {
    $user_count = 0;
    while ($data = dbarray($result)) {

/*******************************************************************
* Begin show more feature.
********************************************************************/

        if ($user_count == $min) {
            echo "</table>
<br />
<div align='center'>
<img alt='' border='0' src='".THEME."images/bullet.gif' />&nbsp;
<a href=\"javascript:void(0)\" onClick=\"toggle_lsup();\"><span id='show_more_users_text'>".$locale['LSUP_009']."</span></a>&nbsp;
<img alt='' border='0' src='".THEME."images/bulletb.gif' />
</div>
<div id='show_more_users' style='display: none;'>
<br />
<table cellpadding='0' cellspacing='0' width='100%'  class=''>";
            }

/*******************************************************************
* End show more feature.
********************************************************************/

        // Check if user has ever logged in
        if ($data['user_lastvisit'] != 0) {
            $lastseen = time() - $data['user_lastvisit'];
            $iW=sprintf("%2d",floor($lastseen/604800));
            $iD=sprintf("%2d",floor($lastseen/(60*60*24)));
            $iH=sprintf("%02d",floor((($lastseen%604800)%86400)/3600));
            $iM=sprintf("%02d",floor(((($lastseen%604800)%86400)%3600)/60));
            $iS=sprintf("%02d",floor((((($lastseen%604800)%86400)%3600)%60)));
            if ($lastseen < 60){
                $lastseen="".$locale['LSUP_001']."";
            } elseif ($lastseen < 360){
                $lastseen="".$locale['LSUP_002']."";
            } elseif ($iW > 0){
                if ($iW == 1) {
                    $Text = $locale['LSUP_003'];
                } else {
                    $Text = $locale['LSUP_004'];
                }
                $lastseen = "".$iW." ".$Text."";
            } elseif ($iD > 0){
                if ($iD == 1) {
                    $Text = $locale['LSUP_005'];
                } else {
                    $Text = $locale['LSUP_006'];
                }
                $lastseen = "".$iD." ".$Text."";
            } else {
                $lastseen = $iH.":".$iM.":".$iS;
            }
        } else {
            $lastseen = $locale['LSUP_007'];
        }
        $location = (isset($data['user_country']) && $data['user_country'] ? $data['user_country'] : isset($data['user_location']) && $data['user_location'] ? $data['user_location'] : $locale['LSUP_008']);
        echo "<tr>
<td class='small' align='left'>
<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'><span ".($colors[$data['user_level']] != "default" ? "style='color:".$colors[$data['user_level']]."'" : "")." title='".$data['user_name']." $location'>".$data['user_name']."</span></a>
</td>
<td class='small2' align='right'>".$lastseen."</td>
</tr>
 


";
        $user_count ++;
    }
}
echo "</table>";
if ($user_count > $min) { echo "</div>\n"; }


?>
Možno by sa dal len nejako upraviť, aby zobrazoval užívateľov čo boli naposledy na stranka.php - nie celkovo ktorí boli poslední prihlásení na webe.. či?? :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0