Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Több adat kiírása.

»

Több adat kiírása.

nyitotta: xvailar, idő: 2010.03.10., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » PHP
Programozási nyelvek » JavaScript

Sorrend:
Időzóna:
Blokkméret:
Sziasztok.

Az lenne a problémám hogy van egy bejelentkező oldalam. Onnan tovább rak egy másik oldalra. És kiírja a bejelentkező nevemet és egy képet. Tehát a kérdés a következő. Milyen formába oldható meg hogy egy másik személy nevét plusz a hozzá rendelt képet is lássam illetve másik is lássák a sajátjukat meg az enyémet?

Így oldottam meg hogy a sajátunkat lássuk:

<span class="name1"> <?php print $_SESSION['nick'];?> </span><br />

<img src="kepek/1.gif" /><br />

Csak sajnos így a másikét nem látom

Tudnátok segíteni? Előre is köszönöm a válaszokat!
Valahol (pl. adatbázisban) tárolod ezekete az adatokat (vagy a kép esetén az elérését) és onan lekérdezed.
Szia.
Neveket adatbázisban tárolom. A kép mindenkinél ugyan az lenne.
<img src="kepek/1.gif" /><br />
Így rendelném mindegyikhez hozzá.
De lövésem sincs hogy a többi bejelentkezett adatát hogy jelenítem meg. Hogy másik is lássák :S
Letárolod a db-ben a felhasználók tábládban, hogy ki van bejelentkezve. Aztán szépen lekérdezed a bejelentkezett felhasználók adatait.

A kijelentkezés kezeléséről pedig találsz kismillió témát
a táblából lekéred és megjeleníted egy oldalon?

php.net/ mysql_fetch_assoc()
Belépetteket tárolja a kilépéssel sincs gond. Maga a kódmegírásban nem jeleskedem =/ Ezért kértem a segítségetek
Eddig szó nem volt bejelentkezett felhasználókról:

Milyen formába oldható meg hogy egy másik személy nevét plusz a hozzá rendelt képet is lássam illetve másik is lássák a sajátjukat meg az enyémet?


Keress rá, hogy hogy lehet online felhasználókat figyelni. Pl. amikor aktív (letölt egy oldalt) beírod a táblába egy mezőbe, hogy mikor volt. Amelyik "X" percnél frissebb, azt veszed jeleníted meg.
Akkor neked kell tudni, hogy kik az éppen belépettek.

És visszaértünk az első válaszomhoz: "Onnan lekérdezed"

egy sima
"select * from tábla where ?????????"
és a lekérdezés eredményét listázod.
Egy idő után mikor nem csinál semmit automatikusan kilépteti az oldal. Meg felőlem aki inaktív azt is megjelenítheti csak oldjam meg végre ezt a problémát >_<
Belépetteket tárolja a kilépéssel sincs gond.
És a lapfrissítés idejét is tárolod valahol?
Azt nem nagyon
ahogy Micu is javasolta, csinálj egy ilyen mezőt.
Akkor feltehetően te nem adatbázist "használsz" arra, hogy tudd ki az aktív, hanem session-t.

Az meg mindent jelez, kivéve az online állapotot.
Megteheted, hogy a session fájlokat felolvasgatod, megnézed, ki van beleírva és azokat kiírod. De csúny amunka és nem is lesz köze a valósághoz.

Ha bezárom a böngészőt újat nyitok és bejelentkezek, akkor máris 2 session-om lehet és 2* vagyok bent?

A session élettartama általában jóval hosszabb, mint a "bentlét", tehát már rég kiléptem, de a session-om még mindig él.

"select * from tábla where ?????????"
<?php
$search = db_query("SELECT * FROM {felhasznalok} WHERE nick = '%s'", $nick);
?>

Ez így nagyon rossz?
Az nem baj ha csúnya meg 2x leszel bent mert arra ott lesz a kirúgás.
felhasznalok táblába tegyél egy utolso_frissites
mezőt (INT típusút pl)

majd minden lapfrissítésnél UPDATE -eld bele nick alapján az aktuális időbélyeget ( time() ) .

Utána készítsd el azt a globális lekérést a felhasznalok táblából, ahol ez az utolsó frissítés ideje nem több mint a mosttól számított 3-4 perc. Ezzel utána meg is van a nemrég onlinenak mondható userek listája.
utolso_frissites
mezőt (INT típusút pl)


Hát pl.-nek azért mást javasoltam volna.
--
xvailar: Milyen kirugás? Melyiket rugod ki ilyenkor?


Ez így nagyon rossz?
Ha azokat akarod akiknek a neve valamivel megegyezik, akkor tökéletes. Csak éppen nem az a feladat.

Pl. amikor aktív (letölt egy oldalt) beírod a táblába egy mezőbe, hogy mikor volt. Amelyik "X" percnél frissebb, azt veszed jeleníted meg.

Elkeveredve van valahol egy online scriptem nem tudom honnan töltöttem de az működött rendesen x idő után már nem jelezte a felhasználó nevét. Előbányászom és megmutatom hátha az jó...
nem jelezte a felhasználó nevét
Akkor nézd meg, hogy mikor jelzi és már meg is van a kiíratás.
Na meg is találtam!

$sql= "UPDATE users SET online = '0' WHERE time='$time_check'";
$result4=mysql_query($sql);
$harom_perce = time() - 60*3;
$harom_perce = date("h:i", $harom_perce);
$leker = mysql_query("SELECT * FROM users WHERE online  >= '$harom_perce'");
while($online = mysql_fetch_array($leker)){
echo mysql_error();
print
'.$online["nick"]. '
Ebböl mire van nekem szükségem? Vagy egyáltalán jó?
fura az első sora. A többi része még használható.

usernév alapján UPDATE eld bele a online mezőbe az aktuális időt.
Szerintem sql-be az users tábládba akj egy bool mezőt amibe azt tárolod hogy bejelentkezett e vagy sem, majd ha ez megvan akkor azon a lapon vizsgáld ezt a változót hogy online e. És kösd ahoz az egészet ahogy a többiek is mondták hogy mikor frissítette utoljára az oldalt, ha nem frissített 3 percel ezelőtt akkor a változót váltsd át false-ra így azt elérted hogy tudod mikor online, és így annyi csak a dolgod hogy pl: if($online==true)
{
echo('<img src="kepeleresiut">');
}
amikor aktív (letölt egy oldalt) beírod a táblába egy mezőbe, hogy mikor volt

$sql="update users set online=now() where userID=".$_SESSION['bejelentkezett']; // Nálad nem tudom miben van a táblában a userid, és a session-ban a bejelentkezett felhasználó.
mysql_query($sql);

Ezt meghívod minden oldal elején

---
Amelyik "X" percnél frissebb, azt veszed jeleníted meg.

A listázó:
$leker = mysql_query("SELECT nick FROM users WHERE date_add(online, interval 3 minute) >now()");
while($online = mysql_fetch_array($leker)){
    print $online["nick"]."<br>
}
Micu köszi a segítségedet de azt csak később próbálom meg.

Most sikerült így megoldanom a neveket:

<?php
$host="localhost";
$username="root";
$password="pass";
$db_name="dbname";
$time_check=time()-600;

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


$sql= "UPDATE users SET online = '0' WHERE time='$time_check'";
$result4=mysql_query($sql);
$szinek=array('Fehér' => "#ff0000", 'Kék' => "#00ff00");
$harom_perce = time() - 60*3;
$harom_perce = date("h:i", $harom_perce);
$leker = mysql_query("SELECT * FROM users WHERE online  >= '$harom_perce'");
while($online = mysql_fetch_array($leker)){
echo mysql_error();
print '<span
 style="color: '.$online["szin"].';">'.$online["nick"]. '</span><br>';

}


?>

Van egy kilépés gombom azzal eltűnik a felhasználó neve amint rányom. De ha megnézitek a kódot egymás alá dobja ki a neveket.  És vissza térve a témához ezek után megoldható-e hogy a nevek alatt megjelenítse az alárendelt képet?
hogy a nevek alatt megjelenítse az alárendelt képet?

Igen, megoldható. Kiírod echo -val a képet. A $online["szin"] értékét honnan veszed elő ?
Micu leírta neked a rendes módszert, ezután miért egy ilyennel próbálkozol?


Ez meg nem azt csinálja amit te szeretnél:
$sql= "UPDATE users SET online = '0' WHERE time='$time_check'";
Az éppen aktuális felhasználó amikor frissíti az oldalt, mikor kerül frissítésre? Ebben amit leírtál nincs logika.
<?php
$host="localhost";
$username="user";
$password="kod";
$db_name="adatbazisnev";
$time_check=time()-600;

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


$sql= "UPDATE users SET online = '0' WHERE time='$time_check'";
$result4=mysql_query($sql);
$harom_perce = time() - 60*3;
$harom_perce = date("h:i", $harom_perce);
$leker = mysql_query("SELECT * FROM users WHERE online  >= '$harom_perce'");
while($online = mysql_fetch_array($leker)){
echo mysql_error();
print('<span>'.$online["nick"].'</span><br>');
echo('<div style="position:absolute;left:'.$online["x"].';top:'.$online["y"].'><span class="name1">'.$online["nick"].'</span><br /><img src="keplink" /><br /></div>');
}


?>
Így működni fog névvel és képpel is :DDDD
Hogy kerül be az aktuális userhez hogy mikor frissítette az oldalt ?
Miért kellene a prog.hu-n hogy egy rosszul feltett kérdésre
"formába oldható meg hogy egy másik személy nevét plusz a hozzá rendelt képet is lássam illetve másik is lássák a sajátjukat meg az enyémet?"

adott helyes válasz után módosított kérdésre miután megkapta szövegesen a választ

Pl. amikor aktív (letölt egy oldalt) beírod a táblába egy mezőbe, hogy mikor volt. Amelyik "X" percnél frissebb, azt veszed jeleníted meg.


Majd kapott egy Copy/paste kódot, után egy legalább viszonylag működő kódot fogadjon el a kérdező.


----
bali89:
Ha már elárulod djjjozsi 2* is feltett kérdésére, hogy honnan tudja a mikort, akkor utána azt is elárulhatnád, hogy a


$time_check=time()-600;
$sql= "UPDATE users SET online = '0' WHERE time='$time_check'";

soroknak mi az értelme?

Tételezzük fel, hogy (valami csoda folytán éppen be van írva valakihez a time()-600 érték.
(Bár miért lenne - még ha lenne egy dátum tárolási sorod - , ha nem pont abban a másodpercben hajtotta volna végre azt a sort, amit nem írtál a kódba.)

Miért jó 0-ra állítani? Úgy is már régi (így a online >= '$harom_perce' feltétel már az eredeti értékkel is kihagyja.)
A jövőben légyszíves figyelj oda arra, hogy a nyitó hozzászólásban szereplő kérdésre adott 1. helyes választ fogadd el megoldásként! Pontosan az ilyen ügyek miatt van az 1 téma - 1 kérdés szabály kitalálva! Ráadásul a megoldásként elfogadott kód nem megfelelő arra a célra, amit készítője állított. Pontozást korrigáltam.
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen