Thread: [Drupal] Login
-
09-09-2011, 19:16 #1Deactivated user
- Registered
- 14/08/10
- Location
- Diest
- Posts
- 2,419
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 8/16
[Drupal] Login
Hallo
Ik zou willen dat ik vanboven op m'n website (gemaakt op drupal 7) een link heb naar de inlogpagina. Als er iemand echter ingelogd is moet deze boodschap veranderen in 'Ingelogd als <user>'. Ik heb dit als volgt proberen ineen boxen maar het werkt niet:
Ik krijg dan allemaal errors terug. Enige ideeën?PHP Code:<?php
global $user;
if ($user->uid) {
print "Welkom <?php
global $user;
print_r($user);
?>";
}
if (!$user->uid) {
print "<a href=\"?q=user\">Login of registreer</a>";
}
?>
</div>Last edited by -BVR-; 09-09-2011 at 19:22.
no votes
-
-
09-09-2011, 19:23 #2Deactivated user
- Registered
- 14/08/10
- Location
- Diest
- Posts
- 2,419
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 8/16
Misschien wat meer moeten proberen, voor de geïnteresseerden de oplossing:
PHP Code:<?php
global $user;
if ($user->uid) {
print "Ingelogd als ";
print_r($user->name);
}
if (!$user->uid) {
print "<a href=\"?q=user\">Login of registreer</a>";
}
?>Last edited by -BVR-; 09-09-2011 at 21:53.
no votes
-
09-09-2011, 19:24 #3Approved 9liver
- Registered
- 18/04/03
- Location
- Hasselt
- Posts
- 14,855
- iTrader
- 23 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 10/79
no votes
-
09-09-2011, 20:12 #4Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
Dat hij hier de errors moet plaatsen was een goed idee. Dat hij $GLOBALS moet proberen dat is een minder goed idee.
Maar omwille van zijn 2de post ga ik ervan uit dat hij daarmee bedoelde dat hij de oplossing gevonden had.
Tot slot nog een tip: Drupal voorziet handige en veilige functies om links aan te maken. Kijk eens naar de functie l().Vanaf nu gaan we verder op BeyondGaming!
In deze thread wordt uitgelegd hoe je jouw account kan migreren.no votes
-
09-09-2011, 20:33 #5Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
En dan nog een opmerking. Wat je beschrijft lijkt mij eigenlijk ideaal om in een custom module te zetten, als block.
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
09-09-2011, 20:35 #6Member
- Registered
- 23/09/04
- Location
- 2000
- Posts
- 5,759
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 17/23
Het is niet de bedoeling om <?php ?> in zichzelf te nesten.
Bekijk dit ook eens:
PHP: String Operators - Manual
Ik denk dat ge iets probeerde te doen in die trend?
PHP: Variable scope - Manual
2x global $user hoeft dus niet.
Die tweede if() mag gewoon 'else' worden."Hookers and drunks instinctively understand that common sense is the enemy of romance." - Sebastian Horsleyno votes
-
09-09-2011, 22:15 #7Deactivated user
- Registered
- 14/08/10
- Location
- Diest
- Posts
- 2,419
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 8/16
Bedankt voor de replies, maar ik had het dus opgelost (zie tweede post)
Met jullie comments heb ik het versimpeld tot
Vraag: is dat erg dat ik nu die print_r vervangen heb? Ik snap het verschil niet goed tussen print en print_r.PHP Code:<?php
global $user;
if ($user->uid) {
print "Ingelogd als <span id=\"gebruiker\">$user->name</span>";
}
else {
print "<a href=\"?q=user\">Login of registreer</a>";
}
?>
Tyfius, die functie l() krijg ik niet aan de praat. Ik heb het volgende geprobeerd, maar als je niet ingelogd bent wordt er niets weergegeven:
Ik ben ook niet bekend met die functie, dus als jij de fout ziet mag je het me laten wetenPHP Code:<?php
global $user;
if ($user->uid) {
print "Ingelogd als ";
print_r($user->name);
}
else { l(t('Registreer of login'), '?q=user', array('attributes' => array('title' => 'Klik hier om in te loggen of te registreren'))); }
?>
Last edited by -BVR-; 10-09-2011 at 00:25.
no votes
-
11-09-2011, 02:26 #8Member
- Registered
- 23/09/04
- Location
- 2000
- Posts
- 5,759
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 17/23
"Hookers and drunks instinctively understand that common sense is the enemy of romance." - Sebastian Horsleyno votes
-
11-09-2011, 12:34 #9Deactivated user
- Registered
- 14/08/10
- Location
- Diest
- Posts
- 2,419
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 8/16
Ik zit hier al langer dan vandaag en heb genoeg gegoogeld. Met comments als de uwe is niemand iets. Ge kunt dat proberen bij newbees op het forum, maar de iets oudere members kennen het concept Google wel.
no votes
-
11-09-2011, 15:49 #10Member
- Registered
- 23/09/04
- Location
- 2000
- Posts
- 5,759
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 17/23
"Hookers and drunks instinctively understand that common sense is the enemy of romance." - Sebastian Horsleyno votes
-
11-09-2011, 19:28 #11Deactivated user
- Registered
- 14/08/10
- Location
- Diest
- Posts
- 2,419
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 8/16
Ge kunt ook iets Google maar er dan nog niet achterkomen wat wat juist doet hé. Bij print_r heb ik enkel gevonden dat dit vooral voor development- en tweakingissues gebruikt wordt, maar ja, daar weet ik nog niets mee. Daarom zeg ik ook 'ik snap het verschil niet goed' i.p.v. 'kan iemand me zeggen wat ... is'.
no votes
-
11-09-2011, 19:50 #12Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
De functie l() returned een string. Je moet die zelf nog afdrukken en je moet gebruik maken van de paden zonder "q=" mee te geven.
Alle PHP functies staan ook uitgelegd in de PHP manual natuurlijk. En print_r is daar geen uitzondering op.Code:print l(t('Registreer'), 'user', array(...
Maar, voor Drupal bestaat een beter alternatief. Als je de devel module installeert en activeert krijg je toegang tot extra functies. dpr is een wrapper rond dprint_r, maar dpm is een functie die je data zal weergeven als een message. Dus bovenaan je website waar de andere status messages kunnen komen.Vanaf nu gaan we verder op BeyondGaming!
In deze thread wordt uitgelegd hoe je jouw account kan migreren.no votes
-
28-09-2011, 15:43 #13Deactivated user
- Registered
- 14/08/10
- Location
- Diest
- Posts
- 2,419
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 8/16
Bedankt Tyfius, de uiteindelijke code die ik nu heb is:
PHP Code:<div id="tologin">
<?php
global $user;
if ($user->uid) {
print t('Ingelogd als ');
print l($user->name, 'user', array('attributes' => array('id' => array('gebruiker'))));
print " | ";
print l(t('Uitloggen'), 'user/logout');
}
else {
print l(t('Login of registreer'), 'user');
}
?>
</div>no votes


