We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3102
    • 50 Posts
    Hallo,

    Ik heb een php script wat door mij gemaakt is en nu wil ik graag dat de gebruikers die in MODX staan kunnen inloggen.
    Ik krijg het niet voor elkaar, nu is mijn vraag hoe kan ik mijn script zo maken dat ze daar in kunnen loggen met het account van MODX?
      • 37110
      • 72 Posts
      Waarom gebruik je de login snippet niet?
        • 3102
        • 50 Posts
        Laat ik het anders uitleggen.
        Ik heb een script waar gebruikers kunnen inloggen, nu is mijn vraag hoe kan ik het zo maken dat mijn script niet meer kijkt in mijn eigen user tabel maar in die van MODX.
        Connectie met de database is al gelukt alleen het wachtwoord checken of die goed is nog niet.
        • Benjamin, daar hoef je dus niets voor te maken. Dat bestaat al namelijk.

          Download (Of nog beter: via package management): http://modx.com/extras/package/login
          Docs: http://rtfm.modx.com/display/ADDON/Login
            Sterc Internet & Marketing | MODX Founding Partner | Chairman of the MODX Advisory Board

            In need of a MODX consult? Try our MODX Developers Experts!
            • 3102
            • 50 Posts
            Het script heeft helemaal niks met MODX te maken.
            Ik wil alleen de de gebruikers van het script kunnen inloggen met het account wat bij MODX bekent is.
            • Het beste kan je dat via de API doen. Uitgaande van Revolution zou je dan op iets als dit uitkomen...

              require_once '/absolute/path/to/modx/config.core.php';
              require_once MODX_CORE_PATH.'model/modx/modx.class.php';
              $modx = new modX();
              $modx->initialize('web');
              $modx->getService('error','error.modError');
              
              $user = $modx->getObject('modUser', array('username' => $_POST['username']));
              if (!($user instanceof modUser)) {
                echo 'Gebruiker kan niet worden gevonden.';
              } 
              else {
                if ($user->passwordMatches($_POST['password'])) {
                  /* Password is correct! */
                  echo 'Welkom terug '. $user->Profile->get('fullname') . '!';
                }
                else {
                  /* Password is not correct */
                  echo 'Wachtwoord klopt niet!';
                }
              }


              Dit logt de gebruiker niet in, maar controleert dus alleen de gebruiker en wachtwoord. Als je de gebruiker ook in wilt loggen met het MODX sessie systeem zou je iets als dit kunnen doen:

              $result = $modx->runProcessor('security/login',array('username' => $_POST['username'], 'password' => $_POST['password']));
              if ($result->isError()) {
                echo 'Oeps.. gaat niet helemaal goed: ' . $result->getMessage();
              } else {
                echo 'Welkom!';
                /* Hier waarschijnlijk even pagina verversen om cookie enzo te kunnen zetten.. $result->getObject heeft ook een 'url' property om naar te redirecten */
              }
                Mark Hamstra • Developer spending his days working on Premium Extras and a MODX Site Dashboard with the ability to remotely upgrade MODX and extras to make the MODX world a little better.

                Tweet me @mark_hamstra, check my infrequent blog at markhamstra.com, my slightly more frequent ramblings at MODX.today or see code at Github.