Variabel med inloggad användare?

Detta är ett arkiv för phpBB2 Support, Diskussion, MODar, Stilar och översättningar. Den tillhandahålls endast för referensändamål.

Moderatorer: Moderatorgrupp, Supportgrupp

rfr
Ny medlem
Ny medlem
Inlägg: 6
Blev medlem: 2007-04-30 15:50
Svar: 0

Variabel med inloggad användare?

Inlägg av rfr »

Jag behöver skicka med användarnamnet som ett hidden-fält i ett formulär och undrar om det finns någon variabel för det? {USERNAME} verkar mest logiskt men det funkar inte.
Hur gör man?
Användarens profilbild
Marcus
Hedersmedlem
Hedersmedlem
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0

Inlägg av Marcus »

Du är på rätt spår, men USERNAME måste tilldelas ett värde i bakomliggande PHP-skript.

Kan inte svara tydligare, då jag inte har myckat att gå på i din fråga.

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
rfr
Ny medlem
Ny medlem
Inlägg: 6
Blev medlem: 2007-04-30 15:50
Svar: 0

Inlägg av rfr »

Jag har försökt med detta:

Kod: Markera allt

$template->assign_vars(array(
'USERNAME' => $user->data['username'])
);
i bakomliggande php-skript men då får jag felmeddelandet "Call to a member function on a non-object in template.php". Så det verkar inte bita.
Användarens profilbild
Marcus
Hedersmedlem
Hedersmedlem
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0

Inlägg av Marcus »

Det verkar som den vill ha det till att ett objekt helt saknas, kan vi få se hela koden? Om det är objetet $user eller $template som saknas framgår inte av felmeddelandet.

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
rfr
Ny medlem
Ny medlem
Inlägg: 6
Blev medlem: 2007-04-30 15:50
Svar: 0

Inlägg av rfr »

Jag har försökt ignorera detta problem ett tag men tänkte ta tag i det nu igen.

Innan jag börjar posta kod, finns det något "officiellt" sätt att skapa egna variabler?

Eller om det går att hitta användarnamnet med vanlig php-kod i templaten så kan jag köra med det istället.
Den behöver inte fungera globalt utan det räcker med den sidan.
Användarens profilbild
Kail
Administratör
Administratör
Inlägg: 2937
Blev medlem: 2003-06-03 14:53
Svar: 0

Inlägg av Kail »

rfr: Du är på rätt väg. Testa detta:

Kod: Markera allt

print "<pre>"; print_r($user); exit;
och kolla på hur objektet ser ut.
Jakob Persson - Grundare av phpBB Sverige - IT-konsult - http://www.jakob-persson.com
The Complete phpBB Template Design Guide (phpBB 2.x): http://archive.jakob-persson.com/articl ... index.html
rfr
Ny medlem
Ny medlem
Inlägg: 6
Blev medlem: 2007-04-30 15:50
Svar: 0

Inlägg av rfr »

$user verkar inte innehålla nånting alls.
Användarens profilbild
Kail
Administratör
Administratör
Inlägg: 2937
Blev medlem: 2003-06-03 14:53
Svar: 0

Inlägg av Kail »

Ja då heter objektet någonting annat. :) Du får leta mer!
Jakob Persson - Grundare av phpBB Sverige - IT-konsult - http://www.jakob-persson.com
The Complete phpBB Template Design Guide (phpBB 2.x): http://archive.jakob-persson.com/articl ... index.html
rfr
Ny medlem
Ny medlem
Inlägg: 6
Blev medlem: 2007-04-30 15:50
Svar: 0

Inlägg av rfr »

Det jag gjorde från början borde ha fungerat, men det blev problem att använda {USERNAME} på grund av all trasslig php-kod i templaten. Jag upptäckte även att ingen annan variabel funkade som till exempel {SITENAME} som borde funka överallt.

Det löste sig dock genom denna sträng som ger användarnamnet på den inloggade användaren:

Kod: Markera allt

<?php global $userdata; echo $userdata['username']; ?>
Det tog tid att komma på att global behövdes dock, jag förstår inte varför men nöjer mig med att det fungerar nu. :)

Tack för hjälpen.
Användarens profilbild
Kail
Administratör
Administratör
Inlägg: 2937
Blev medlem: 2003-06-03 14:53
Svar: 0

Inlägg av Kail »

Du verkade införstådd i PHP så jag antog att du hade deklarerat variabeln som global. Deklarationen har att göra med dess scope, som normalt bara sträcker sig inom den funktion där den lever. Objekt som innehåller data som flera funktioner och objektmetoder använder sig måste vara globala.
Jakob Persson - Grundare av phpBB Sverige - IT-konsult - http://www.jakob-persson.com
The Complete phpBB Template Design Guide (phpBB 2.x): http://archive.jakob-persson.com/articl ... index.html
Skriv svar

Vilka är online

Användare som besöker denna kategori: 3 och 0 gäster