| Autor | Zpráva | ||
|---|---|---|---|
| Yuff.3 Profil |
#1 · Zasláno: 9. 8. 2014, 18:09:31
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 |
#2 · Zasláno: 9. 8. 2014, 22:22:22
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 |
#3 · Zasláno: 9. 8. 2014, 22:51:18
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 |
#5 · Zasláno: 9. 8. 2014, 23:00:57
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 |
#6 · Zasláno: 9. 8. 2014, 23:09:12
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 |
#7 · Zasláno: 9. 8. 2014, 23:11:37
mimochodec:
Čo musím spraviť, aby si mi to sem všetko napísal? :D |
||
| mimochodec Profil |
#8 · Zasláno: 9. 8. 2014, 23:21:11
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 |
#9 · Zasláno: 9. 8. 2014, 23:46:05 · Upravil/a: Yuff.3
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' />
<a href=\"javascript:void(0)\" onClick=\"toggle_lsup();\"><span id='show_more_users_text'>".$locale['LSUP_009']."</span></a>
<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"; }
?> |
||
|
Časová prodleva: 12 let
|
|||
0