Weergegeven resultaten: 1 t/m 13 van 13

Discussie: [Drupal] Login

  1. #1
    Member
    Lid sinds
    14/08/10
    Locatie
    Diest
    Berichten
    2.408
    iTrader
    1 (100%)

    [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:

    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>
    Ik krijg dan allemaal errors terug. Enige ideeën?
    Laatst gewijzigd door BramVanroy; 9 september 2011 om 18:22
    Mobielinformatie.com: Ben jij een mobiele Viking? Dan geniet je nu van gratis televisie overal!

  2. #2
    Member
    Lid sinds
    14/08/10
    Locatie
    Diest
    Berichten
    2.408
    iTrader
    1 (100%)
    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>";

    ?>
    Laatst gewijzigd door BramVanroy; 9 september 2011 om 20:53
    Mobielinformatie.com: Ben jij een mobiele Viking? Dan geniet je nu van gratis televisie overal!

  3. #3
    Approved 9-lifer demon326's schermafbeelding
    Lid sinds
    18/04/03
    Locatie
    Hasselt
    Berichten
    13.568
    iTrader
    20 (100%)
    Weblogs
    3
    Citaat Oorspronkelijk geplaatst door BramVroy Bekijk bericht
    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:

    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>
    Ik krijg dan allemaal errors terug. Enige ideeën?

    Altijd de foutmeldingen plaatsen .

    Code:
    <?php $GLOBALS['user']->name; ?>
    Probeer dit eens, hoewel ik niet weet of het zal werken, daar ik geen D7 install heb

  4. #4
    Approved 9-lifer Tyfius's schermafbeelding
    Lid sinds
    1/09/02
    Locatie
    Steenokkerzeel
    Berichten
    6.944
    iTrader
    0
    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().

  5. #5
    Crew Member dJeez's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Sol System
    Berichten
    10.448
    iTrader
    1 (100%)
    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 alieno
    Pastafarian by choice

  6. #6
    Member
    Lid sinds
    23/09/04
    Locatie
    2000
    Berichten
    5.763
    iTrader
    2 (100%)
    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 Horsley

  7. #7
    Member
    Lid sinds
    14/08/10
    Locatie
    Diest
    Berichten
    2.408
    iTrader
    1 (100%)
    Bedankt voor de replies, maar ik had het dus opgelost (zie tweede post)

    Met jullie comments heb ik het versimpeld tot
    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>";
    }    
    ?>
    Vraag: is dat erg dat ik nu die print_r vervangen heb? Ik snap het verschil niet goed tussen print en print_r.

    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:

    PHP-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'))); }
    ?>
    Ik ben ook niet bekend met die functie, dus als jij de fout ziet mag je het me laten weten
    Laatst gewijzigd door BramVanroy; 9 september 2011 om 23:25
    Mobielinformatie.com: Ben jij een mobiele Viking? Dan geniet je nu van gratis televisie overal!

  8. #8
    Member
    Lid sinds
    23/09/04
    Locatie
    2000
    Berichten
    5.763
    iTrader
    2 (100%)
    "Hookers and drunks instinctively understand that common sense is the enemy of romance." - Sebastian Horsley

  9. #9
    Member
    Lid sinds
    14/08/10
    Locatie
    Diest
    Berichten
    2.408
    iTrader
    1 (100%)
    Citaat Oorspronkelijk geplaatst door DieselPower Bekijk bericht
    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.
    Mobielinformatie.com: Ben jij een mobiele Viking? Dan geniet je nu van gratis televisie overal!

  10. #10
    Member
    Lid sinds
    23/09/04
    Locatie
    2000
    Berichten
    5.763
    iTrader
    2 (100%)
    Citaat Oorspronkelijk geplaatst door BramVroy Bekijk bericht
    Vraag: is dat erg dat ik nu die print_r vervangen heb? Ik snap het verschil niet goed tussen print en print_r.
    Citaat Oorspronkelijk geplaatst door DieselPower Bekijk bericht
    Citaat Oorspronkelijk geplaatst door BramVroy Bekijk bericht
    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.
    Juist ja
    "Hookers and drunks instinctively understand that common sense is the enemy of romance." - Sebastian Horsley

  11. #11
    Member
    Lid sinds
    14/08/10
    Locatie
    Diest
    Berichten
    2.408
    iTrader
    1 (100%)
    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'.
    Mobielinformatie.com: Ben jij een mobiele Viking? Dan geniet je nu van gratis televisie overal!

  12. #12
    Approved 9-lifer Tyfius's schermafbeelding
    Lid sinds
    1/09/02
    Locatie
    Steenokkerzeel
    Berichten
    6.944
    iTrader
    0
    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.
    Code:
    print l(t('Registreer'), 'user', array(...
    Alle PHP functies staan ook uitgelegd in de PHP manual natuurlijk. En print_r is daar geen uitzondering op.

    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.

  13. #13
    Member
    Lid sinds
    14/08/10
    Locatie
    Diest
    Berichten
    2.408
    iTrader
    1 (100%)
    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>
    Mobielinformatie.com: Ben jij een mobiele Viking? Dan geniet je nu van gratis televisie overal!

Discussie informatie

Users Browsing this Thread

Op dit moment bekijken 1 gebruikers deze discussie. (0 leden en 1 gasten)

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •