aktuális felhasználó session adatainak kikérése Drupalban PHP kóddal

kkwx képe

hellósztok
olyan problémám lenne, hogy egy drupal oldalamra akarok írni egy egyszerű PHP kódot, de ehhez szükségem lenne arra, hogy lekérjem azt hogy épp be vagyok-e jelentkezve, és ha igen akkor ki vagyok.
Próbáltam a "$_SESSION['actually_user']"-t, de így nem kapta meg, szal valószínűleg valami más néven menti el a Drupal a felhasználót a SESSION-be.
Csak az érdekelne, hogy hogyan menti el az ilyesmit az alapvető Drupalos bejelentkezés.
Előre is kösz a segítséget.

Drupal verzió: 
Fórum: 
pp képe

Az elejére a következő kód kell:

require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;

és ekkor a $user változóban van az adat. Vigyázz! Ha átírod a $user értékeit akkor azzal meg tudod változtatni a Drupal működését. Mondjuk egy $user->uid = 1; (vagy valami olyan kifejezés ami true értékkel tér vissza, mondjuk print 'akármi') akkor már is adminisztrátorként vagy bent. Szóval óvatosan ezzel.

pp

0
0
kkwx képe

kösz, ezt elvileg télleg lekéri :), csak nagyon amatőr vagyok még, ezért nem nagyon vágom, hogyan tovább... ez elvileg egy objektum, vagy milyen változó? mer azt írja hogy nem konvertálható string-é ha ki akarom iratni...
találtam róla egy írást: http://api.drupal.org/api/global/user/6
de nem tom, hogy kéne kivenni az adatokat az objektumból...
előre is kösz minden további segítséget :)

0
0
york képe

Biztos tudod mit csinalsz?
Lehet sokkal hasznosabb lenne, ha egy uj temaban leirnad mit szeretnel, es nem azt hogy hogyan akarod megcsinalni.
A valtozo tartalmat a var_dump vagy print_r parancsokkal tudod kiiratni.

var_dump($user);
0
0
kkwx képe

kösz, ez kiírja, hogy mi van benne, így már tudom, hogy jófelé haladok :), csak nekem valami olyasmi kéne, hogy kiszedhessek belőle egy adatot, mondjuk az azonosítót, vagy a felhasználónevet, hogy tudjak vele dolgozni, és összehasonlíthassam az adatokat, vagy az alapján tárolhassak el vagy kérdezhessek le további adatokat, meg ilyenek :)... de ha sokáig nem találok megoldást, megfogadom a tanácsod és nyitok új topikot :)

0
0
york képe

Ez egy valtozo, mi akadalyoz meg benne, hogy kiszedd belole az adatokat?
Bocs, de szerintem nagyon nem vagy kepben PHP ugyben, ami nem baj, csak igy lehet nagyon nagy hulyesegeket es biztonsagi lyukakat gyartani...
Es lehet nem pont igy kellene az alapokat elsajatitani.

0
0
kkwx képe

valóban, még amatőr vagyok PHP-ben, csak azért gondoltam, hogy nem lehet egyszerűen kiszedni az adatokat mert kiíratni se lehet belőle echo-val simán, mert azt mondja, nem String, hanem csak azzal a var_dump-al írja csak ki, ezért gondoltam, hogy valami paranccsal kell kiszedni belőle, vagy nemtom... akkor megpróbálok utánanézni, hogy kell kiszedni, bár nehéz ha nemtom milyen fajta változó :S...
amúgy nem kérdeznék ilyen alapokat, hanem átnézném a leírásokat, csak most nincs időm, mert jövő héten le kell adni, hogy ezzel akarok-e foglalkozni, és előtte gyorsan ki kell próbálnom, hogy meg lehet-e az ilyesmit valósítani :s... de hogyha már adatokat tudok lekérni a Drupalból, akkor már nagyjából tudom, mit hogyan kell a továbbiakban csinálni :), csak az a parancs kéne, amivel kiszedem ebből a változóból a konkrét értékeket...

0
0
alippai képe

Nem tudom hogy mi a célod, de 90% hogy nem így kell megcsinálnod/nem erre van szükséged.
(hanem modul, form és hook rendszeren keresztül)

0
0

Lippai Ádám
young element

nevergone képe

most nincs időm, mert jövő héten le kell adni, hogy ezzel akarok-e foglalkozni, és előtte gyorsan ki kell próbálnom, hogy meg lehet-e az ilyesmit valósítani :s... de hogyha már adatokat tudok lekérni a Drupalból, akkor már nagyjából tudom, mit hogyan kell a továbbiakban csinálni :), csak az a parancs kéne, amivel kiszedem ebből a változóból a konkrét értékeket...

Szerintem ha ez nem megy, akkor szintű elmaradásaid vannak, hogy egyelőre ne akarj ezzel foglalkozni, hanem az általános PHP ismereteket szerezd meg. Ahhoz pedig idő kell és sok gyakorlás, kezdésnek nem is a Drupallal.

0
0
york képe

Ha egy szabvanyos php tombbol vagy objektumbol nem tudsz egy erteket kiiratni, akkor szerintem nem akarsz ezzel foglalkozni.
Ajanlom a http://php.net oldalon talalhato dokumentazio elolvasasat, vagy keress egy jo php konyvet kezdoknek, ha ez megvan es megy a php alap szinten, akkor vedd elo ujra a drupalt.
Ez nem fog menni egyik naprol a masikra.

0
0
kkwx képe

sok mindent nem tudok, ez tény, de a feladatom egy egyszerű foglalási rendszer készítése... ehhez kel egy űrlap és egy táblázat amiben a beküldött űrlapokat kezeli az admin.
ehhez tudok űrlapot csinálni, tudok PHP-ben feltételeket meg hasonlókat írni, szóval az alapokat, de az pont elég is ehhez, és tudok PHP-vel adatbázist kezelni, emellett más programozási nyelveket magasabb szinten tudok, tehát csak a PHP-s szintaktikát kell áttanulmányoznom az esetleges bonyolultabb dolgok miatt. Ennyi bőven elég ahhoz hogy megcsináljam a feladatot, egyetlen dolog hiányzik, és az ez az egyszerű kódszó, vagy szintaktika amivel hivatkozok ebben a $user változóban (amiről nem tudom, hogy tömb vagy micsoda) lévő elemekre, ezért kérdeztem itt a megoldást, mert emiatt az apróság miatt nem akarok egész könyveket elolvasni, max ha majd ezen feladat teljesítése után jobban bele akarok mélyedni a dolgokba... kérdeztem ismerősöktől, akik már MSc szakon tanulnak informatikát és évek óta foglalkoznak Drupallal és PHP-vel, meg akik drupal modult írtak szakdolgozatukra és egyszerűen nem tudták a megoldást, ami számomra elég érthetetlen, mert alapból szerintem is egy olyan alap dolog ami nélkül szinte semmi komolyabb dolgot nem lehet csinálni PHP-ben...
szóval előre is ezer köszönet annak aki leír egy egyszerű sort amivel ebből a $user változóból kinyeri nekem vagy az azonosítót vagy a felhasználónevet, vagy mindkettőt (az még jobb :) ), a $user változót így kaptam meg (ugyanitt tegnap :) ):
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;

0
0
Schmidt Attila képe

Lehet, hogy ezt keresed:

    print "ID:       |$user->uid|<br />";
    print "Name:  |$user->name|";

Tehát a $user->uid a regisztrált és bejelentkezett drupal user azonosítója, ami a users sql táblában az uid oszlop értékével azonos.

Forrás:
http://drupal.org/node/39059

0
0
kkwx képe

meg van a megoldás :), ezer köszönet, így már mindent meg tudok csinálni, ami kell :)

0
0
york képe

Bocs, de ezt nagyon nem igy kellene csinalni, ahogy csinalni akarod.
Ird meg drupal modulkent a foglalasi rendszert.
De vannak drupalhoz foglalasi rendszeres modulok is (fejbol nem megy, de volt mar tema itt a forumban), erdemes azokat is megnezni.
Esetleg CCK, views, date modulok es egy kis sajat kiegeszites.
Javaslom indits a problemadra egy uj temat, hogy konnyebben talalj segitseget.

0
0
kkwx képe

próbáltam modulokat (most nem emlékszem miket), csak azok használata "körülményes" és nem túl "átlátható", legalábbis a tanárok szerint, így most programoznom is kell... már mások is mondták, hogy inkább modult írjak, de azt általánosabban kéne megcsinálni, vagy nem tudom, de nem értek hozzá, és abba nem szeretnék belefolyni, minél gyorsabban akarok végezni :). A lényeg, hogy itt működjön :). Ha még jóval idő előtt végzek, akkor talán megpróbálom modulként megvalósítani a dolgokat :).
De kösz mindenkinek a segítséget és a tanácsokat :).

0
0
york képe

Remelem amit csinalsz eles oldalra soha nem kerul ki, mert a leheto legnagyobb ganyolasnak nez ki.
Sok sikert, remelem a tanarok majd ertekelik az erofesziteseidet.
Csak leirom mennyire bonyolult lett volna megszerezni a szukseges tudast:
http://www.php.net/manual/en/
Majd itt:
Language Reference
* Types > http://www.php.net/manual/en/language.types.php
^ TADAM ott a tomb (array) es objektum (object) leirasa, ugye hogy nem volt nehez?

0
0
kkwx képe

nem biztos, hogy felkerül netre, vagy ha igen akkor előtte nagyon átnézem a biztonsági dolgokat, és letesztelem, hogy biztosan jól működjön :), (bár lehet tényleg ganyolás, de szerintem nem rosszabb semmivel ez a megoldás, annál, mintha egy külön saját oldalt valósítanék meg Drupal nélkül, csak szebb, és talán kevesebb mindent kell megoldanom :) )... amúgy most tanulmányozom az adatbázist, bizonyos dolgokat elég furán valósít meg a Drupal :), és most meg azzal bénázok, hogy nem kezeli az adatbázisból SQL-el kiolvasott szöveg az ékezeteket :S... na ez elég gáz, bár ez már más téma, amire még rákeresek itt az oldalon is meg máshol, meg próbálkozok, de ha nem találok a közeljövőben megoldást, akkor majd új témában kérdezem meg :)
és kösz a linkeket, hasznosnak tűnnek első ránézésre :)

0
0
york képe

Vagy megirod drupal nelkul.
Vagy megirod drupal modulkent.
A tobbi csak ganyolas, es tele lesz hibakkal, meg ujra feltalalom a kereket dolgokkal.
http://drupal.org/handbook
^ itt nezz szet, vannak pelda kodok is kicsit melyebben.

0
0
zserno képe

Kerlek szepen mondd el, hogy melyik egyetemen tanulnak informatikat MSc szakon az ismeroseid? Foleg amelyik drupal modult irt szakdolgozatara. Legyszi, legyszi, legyszi! :)

0
0
kkwx képe

NYME-n fejezte be haverom nem rég a BSc szakot és ott írt szakdogára egy egyszerű Drupal modult... a többi haverom pedig már MSc-re jár ugyanide és eléggé benne vannak a témában mégse tudtak segíteni :S...

0
0
nevergone képe

Akkor még sincsenek benne annyira a "témában", remélem ők nem ilyen megoldásokkal terjesztik, hogy "ez a jó, Drupalos megoldás".
Ne értsd félre, de azt hiszem jobb lenne, ha hagynád ezt a "témát" még, mert sok jó nem fog kisülni belőle.

0
0
Aspi képe

Szia István!

require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;

Érdekelne, hogy ez a $user mit tartalmaz pontosan? ill. honnan veszi az adatokat. Adatbázisban tárolja ezt valahol a drupal?

0
0
nevergone képe

Mivel a Drupal minden adatot adatbázisban tárol, ezért a fenti kódrészlet valóban az adatbázisból veszi az adatokat.

0
0
Aspi képe

A kérdés attól még kérdés, honnan? Nem tudod a választ vagy csak ugratsz?
Konkrétan érdekelne, hogy honnan szedi össze az adatokat. Nehogy erre az legyen a válasz, hogy MySQL táblákból;) :D

Kérdezhetném, hogy mit nézel? Válasz: filmet. Milyen filmet....? :DDD

Releváns konrét válszok kellenek, mert szétoffolódik a fórum...khm

0
0
szantog képe

Releváns konrét válszok kellenek, mert szétoffolódik a fórum...khm
Ezért most te teszel a legtöbbet azzal, hogy nem tartod be a fórum alapelvét: Új kérdés, új téma. Ott majd visszatérhetünk rá.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

Den képe

Neked, tanáraidnak, hozzáértő kollegáidnak kellene tudni, hogy hol van az api dokumentáció. De ha nem megy, akkor még mindig ott van a kezedben a teljes forráskód...

Lenn megadtam az api elérhetőségét, benn azt, ahol megnézheted, hogy áll elő az $user:

$result = db_query('SELECT * FROM {users} u WHERE '. implode(' AND ', $query), $params);
$user = db_fetch_object($result)

A kérdésedre a válasz: adatbázisból jön, php objektum. De ezt eddig is mondtuk neked. Egyedül te offolsz itt.

0
0
Aspi képe

Na ez már érthető. Köszke;)

0
0
york képe

A temat lezartam. A kerdes kello melysegben ki lett targyalva. Akinek ujabb kerdese van inditson uj temat.

0
0