Simply_User - Probleme

Wie verwendet man Module oder Aktion und passt diese an.

Simply_User - Probleme

Beitragvon fw-thomas » 25. Sep 2011, 00:17

Hallo zusammen,
ich habe das Addon Simply_User installiert.
dazu habe ich ein Modul mit der Ausgabe
Code: Alles auswählen
<style>
label {
width:100px;
float:left;
}

input {
float:left;
}
</style>
<div style="padding-left:10px;">
<?php
/**
* Simple User Addon
* Login Template oder Login Modul
* @author jan@kristinus

* @coauthor rudoo

* @update author joachim@doerr
* @version 1.1
* für Redaxo 4.x
*/

if ($REX['GG']) { // nur im Frontend ...

   $webmaster = 'mailto:'.$REX['ERROR_EMAIL'];
   $absender = $webmaster;
   $nach_login = '368';
   $nach_logout = '1';

// URL und andere interne variablen setzen: ------------------------------------
   $ich = $this->getValue("article_id");
   $url_ich = rex_getUrl($ich,$REX['CUR_CLANG']);
   $url_nach_login = rex_getUrl($nach_login,$REX['CUR_CLANG']);
   $url_nach_logout = rex_getUrl($nach_logout,$REX['CUR_CLANG']);

   $msg = "";
   if($_SESSION['USER']->message != "") {
      //$msg = '<p class="warning">'.$_SESSION['USER']->message."</p>";
   }

// Was ist denn nun zu tun? ----------------------------------------------------
   if ($_GET['FORM']['pwd'] == 1) {
      //Formular für "Passwort vergessen" anzeigen
      $func = 1;
   }
   elseif ($_POST['FORM']['pwdsnd'] == 1) {
      // Wenn Feld email gefüllt dann Kennwort senden (2),
      // sonst Formular für "PWD vergessen" (1)
      $email = $_POST['email'];
      $func = (empty($email)?1:2);
   }
   elseif (!$_SESSION['USR'] OR $_GET['FORM']['LOGOUT'] == 1) {
      // Login: Name und Kennwort eingeben
      $func = 5;
   }
   else {
      $func = 6;
   }

/* Passwortmail anfordern: -----------------------------------------------------
* Aufbau der Maske zum Eingeben der eMail-Adresse, an die Name/Kennwort
* geschickt werden sollen.
*/
   if ($func == 1) {
      print '
      <p>Sie haben Ihr Kennwort vergessen? Kein Problem!</p>
      <p>Geben Sie im Eingabefeld Ihre hinterlegte Mailadresse an. Sie erhalten
      dann an diese Mailadresse Ihre aktuellen Zugangsdaten zugeschickt.
      Bitte achten Sie darauf, die richtige Mailadresse richtig einzugeben.</p>
      <form action="'. $url_ich .'" method="post">
      <input type="hidden" name="article_id" value="'.$ich.'" />
      <input type="hidden" name="FORM[pwdsnd]" value="1" />
      <input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />
      <label for="email">Mail-Adresse</label>
      <input id="email" type="text" name="email" size="50" /><br />
      <input class="submit" type="submit" value="Kennwort anfordern" />
      </form>
      ';
   }

/* Passwortmail senden: --------------------------------------------------------
* $email wurde schon oben gesetzt.
* Aus rex_2_user wird der Datensatz mit dieser mailadresse gesucht. Im Fehlerfall
* geht gibt es eine Meldung und mit "Weiter" kommt man wieder auf die Eingabe.
* Wenn eindeutig(!) gefunden geht eine Mail an diese Adresse.
*/
   elseif ($func == 2) {
      $sql = new sql;
      $sql->setQuery ('SELECT user_login, user_password, user_name, user_firstname FROM '.
                      $REX['TABLE_PREFIX'].'2_user where user_email = "'.$email.'"');

      if ( $sqlerr = $sql->getError() ) {
         print 'Oops - Datenbankfehler: <br />'.$sqlerr."<br />\n";
         print '<a href="'.$url_ich.'&FORM[pwd]=1">Weiter ...</a>'."\n";
      }
      elseif ($sql->getRows() != 1) {
         print 'Die Mailadresse '.$email.' ist uns nicht bekannt.<br />'."\n";
         print '<a href="'.$url_ich.'&FORM[pwd]=1">Weiter ...</a>'."\n";
      }
      else {

         $header = 'From: '.$absender. "\r\n" .'X-Mailer: PHP/' . phpversion();
         $text = 'Hallo '.$sql->getValue ('user_firstname', 0).' '.
                 $sql->getValue ('user_name', 0)."\n\n".
                 'Du hast Deine Kontaktdaten und das Passwort angefragt. Hier Deine Informationen.'."\n\n".
                 '_______________________________________________________'."\n\n".
                 'Login: '.$sql->getValue ('user_login', 0)."\n".
                 'Passwort: '.$sql->getValue ('user_password', 0)."\n".
                 '_______________________________________________________'."\n";
         $betreff = 'Passwortabfrage';

         if (mail($email, $betreff, $text, $header)) {
            echo '<p>Ihre Zugangsdaten wurden an die Adresse <b>'.$email.'</b> geschickt</p>'."\n";
         }
         else {
            echo '<p>Es gab ein Problem beim Versand der Zugangsdaten; bitte versuchen Sie es später noch einmal.</p>'."\n";
         }
         print '<a href="'.$url_ich.'">Weiter ...</a>'."\n";
      }
   }

/* Login: ----------------------------------------------------------------------
* Im Prinzip ist das der Programmcode aus der Redaxo-Login-Demo.
*/
   elseif ($func == 5 ) {

      $FORM[loginname] = "Login";
      print '
      <form action="index.php" method="post" style="margin-top:10px;">
      <input type="hidden" name="article_id" value="'.$nach_login.'" />
      <input type="hidden" name="FORM[trytologin]" value="1" />
      <input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />

      '.$msg.'
            <div style="width:450px;margin-top:6px;float:left;"><label>Name</label>
            <input id="login" class="logintext" type="text" name="FORM[loginname]" value="" /></div>

           <div style="width:450px;margin-top:6px;float:left;"><label>Kennwort</label>
      <input id="paswd" class="logintext" type="password" name="FORM[loginpasswort]" value="" /></div>
            <div style="width:450px;margin-top:6px;float:left;"><input class="submit" type="submit" value="Anmelden" /></div>
      </form>
      ';
   }
// Logout: ---------------------------------------------------------------------
   else{
      print
      $msg.'
      <p style="text-align:left;">Sie sind angemeldet als: <br><strong><b>'.$_SESSION['USER']->getValue("user_login").'</b></strong></p>
      <p style="text-align:left;"><a href="'. $url_nach_logout .'?FORM[LOGOUT]=1">&laquo; Logout</a></p>
  ';
   }

}
?>
</div>

eingebunden.

Unter den Punkt [translate:simple_user] habe ich einen Test Dummy eingebunden.

Wenn ich mich nun mit dem User anmelde, und auch wenn ich nix eintrage, sehe ich die Kategorien die Eigentlich nur GruppenUser sehen sollten.
Zur Zeit sind keine Wichtigen Info´s eingetragen

Wo liegt der Fehler??

Hier ist der Link zum Internen Bereich. Der Link

gruß thomas
fw-thomas
 
Beiträge: 40
Registriert: 11. Nov 2008, 09:01
Wohnort: Friesland

Re: Simply_User - Probleme

Beitragvon fw-thomas » 27. Sep 2011, 22:34

keiner eine Idee ???


gruß thomas
fw-thomas
 
Beiträge: 40
Registriert: 11. Nov 2008, 09:01
Wohnort: Friesland

Re: Simply_User - Probleme

Beitragvon fw-thomas » 28. Sep 2011, 23:07

hallo zusammen
ich habe nun aus der Simply User Ordner die Login.php eingesetzt
hier der Quelltext
Code: Alles auswählen
<?php
/**
* Simple User Addon
* Login Template oder Login Modul
* @author jan@kristinus

* @coauthor rudoo

* @update author joachim@doerr
* @version 1.1
* für Redaxo 4.x
*/

if ($REX['GG']) { // nur im Frontend ...

   $webmaster = 'mailto:'.$REX['ERROR_EMAIL'];
   $absender = $webmaster;
   $nach_login = $REX['START_ARTICLE_ID'];
   $nach_logout = $nach_login;

// URL und andere interne variablen setzen: ------------------------------------
   $ich = $this->getValue("article_id");
   $url_ich = rex_getUrl($ich,$REX['CUR_CLANG']);
   $url_nach_login = rex_getUrl($nach_login,$REX['CUR_CLANG']);
   $url_nach_logout = rex_getUrl($nach_logout,$REX['CUR_CLANG']);

   $msg = "";
   if($_SESSION['USER']->message != "") {
      $msg = '<p class="warning">'.$_SESSION['USER']->message."</p>";
   }

// Was ist denn nun zu tun? ----------------------------------------------------
   if ($_GET['FORM']['pwd'] == 1) {
      //Formular für "Passwort vergessen" anzeigen
      $func = 1;
   }
   elseif ($_POST['FORM']['pwdsnd'] == 1) {
      // Wenn Feld email gefüllt dann Kennwort senden (2),
      // sonst Formular für "PWD vergessen" (1)
      $email = $_POST['email'];
      $func = (empty($email)?1:2);
   }
   elseif (!$_SESSION['USR'] OR $_GET['FORM']['LOGOUT'] == 1) {
      // Login: Name und Kennwort eingeben
      $func = 5;
   }
   else {
      $func = 6;
   }

/* Passwortmail anfordern: -----------------------------------------------------
* Aufbau der Maske zum Eingeben der eMail-Adresse, an die Name/Kennwort
* geschickt werden sollen.
*/
   if ($func == 1) {
      print '
      <p>Sie haben Ihr Kennwort vergessen? Kein Problem!</p>
      <p>Geben Sie im Eingabefeld Ihre hinterlegte Mailadresse an. Sie erhalten
      dann an diese Mailadresse Ihre aktuellen Zugangsdaten zugeschickt.
      Bitte achten Sie darauf, die richtige Mailadresse richtig einzugeben.</p>
      <form action="'. $url_ich .'" method="post">
      <input type="hidden" name="article_id" value="'.$ich.'" />
      <input type="hidden" name="FORM[pwdsnd]" value="1" />
      <input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />
      <label for="email">Mail-Adresse</label>
      <input id="email" type="text" name="email" size="50" /><br />
      <input class="submit" type="submit" value="Kennwort anfordern" />
      </form>
      ';
   }

/* Passwortmail senden: --------------------------------------------------------
* $email wurde schon oben gesetzt.
* Aus rex_2_user wird der Datensatz mit dieser mailadresse gesucht. Im Fehlerfall
* geht gibt es eine Meldung und mit "Weiter" kommt man wieder auf die Eingabe.
* Wenn eindeutig(!) gefunden geht eine Mail an diese Adresse.
*/
   elseif ($func == 2) {
      $sql = new sql;
      $sql->setQuery ('SELECT user_login, user_password, user_name, user_firstname FROM '.
                      $REX['TABLE_PREFIX'].'2_user where user_email = "'.$email.'"');

      if ( $sqlerr = $sql->getError() ) {
         print 'Oops - Datenbankfehler: <br />'.$sqlerr."<br />\n";
         print '<a href="'.$url_ich.'&FORM[pwd]=1">Weiter ...</a>'."\n";
      }
      elseif ($sql->getRows() != 1) {
         print 'Die Mailadresse '.$email.' ist uns nicht bekannt.<br />'."\n";
         print '<a href="'.$url_ich.'&FORM[pwd]=1">Weiter ...</a>'."\n";
      }
      else {

         $header = 'From: '.$absender. "\r\n" .'X-Mailer: PHP/' . phpversion();
         $text = 'Hallo '.$sql->getValue ('user_firstname', 0).' '.
                 $sql->getValue ('user_name', 0)."\n\n".
                 'Du hast Deine Kontaktdaten und das Passwort angefragt. Hier Deine Informationen.'."\n\n".
                 '_______________________________________________________'."\n\n".
                 'Login: '.$sql->getValue ('user_login', 0)."\n".
                 'Passwort: '.$sql->getValue ('user_password', 0)."\n".
                 '_______________________________________________________'."\n";
         $betreff = 'Passwortabfrage';

         if (mail($email, $betreff, $text, $header)) {
            echo '<p>Ihre Zugangsdaten wurden an die Adresse <b>'.$email.'</b> geschickt</p>'."\n";
         }
         else {
            echo '<p>Es gab ein Problem beim Versand der Zugangsdaten; bitte versuchen Sie es später noch einmal.</p>'."\n";
         }
         print '<a href="'.$url_ich.'">Weiter ...</a>'."\n";
      }
   }

/* Login: ----------------------------------------------------------------------
* Im Prinzip ist das der Programmcode aus der Redaxo-Login-Demo.
*/
   elseif ($func == 5) {

      $FORM[loginname] = "Login";
      print '
      <p>Auf den geschützten Seiten finden Sie nicht öffentliche Informationen.
      Um zu den Seiten gelangen zu können, müssen Sie sich hier mit Benutzername
      und Kennwort anmelden.</p>
      <p>Die freigeschalteten Seiten sind anschließend über das Menü erreichbar.</p>
      <p>Die Einrichtung eines Benutzernamen und Kennwort können per Mail beim
      <a href="'.$webmaster.'">Webmaster</a> angefordert werden.</p>
      <p>Wenn Sie Ihr Kennwort vergessen haben, klicken Sie bitte
      <a href="'.$url_ich.'&FORM[pwd]=1">hier</a>.</p>
      <form action="index.php" method="post">
      <input type="hidden" name="article_id" value="'.$nach_login.'" />
      <input type="hidden" name="FORM[trytologin]" value="1" />
      <input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />

      '.$msg.'
      <table>
         <tr>
            <td>Name</td>
            <td><input id="login" type="text" name="FORM[loginname]" value="" /></td>
         </tr>
         <tr>
            <td>Kennwort</td>
            <td><input id="paswd" type="password" name="FORM[loginpasswort]" value="" /></td>
         </tr>
         <tr>
            <td>&nbsp;</td>
            <td><br /><input class="submit" type="submit" value="anmelden" /></td>
         </tr>
      </table>
      </form>
      ';
   }
// Logout: ---------------------------------------------------------------------
   else {
      print
      $msg.'
      <p style="text-align:left;">Sie sind angemeldet als: <strong>'.$_SESSION['USER']->getValue("user_login").'</strong></p>
      <p style="text-align:left;"><a href="'. $url_nach_logout .'&FORM[LOGOUT]=1">&laquo; Logout</a></p>
   ';
   }

}

?>


wenn ich jetzt dort den Benutzer und Passwort eingeben, lande ich immer wieder auf der Hauptseite ..
muss ich dort noch was einstellen auf welche ID er gehen soll??

gruß thomas
fw-thomas
 
Beiträge: 40
Registriert: 11. Nov 2008, 09:01
Wohnort: Friesland

Re: Simply_User - Probleme

Beitragvon Richard.Laing » 29. Sep 2011, 07:20

hi
evtl. das was du so in deine module reinkopierst mal lesen ;) da stehen oft sehr gute hinweise
Code: Alles auswählen
$nach_login = $REX['START_ARTICLE_ID'];

für id 10 z.B:
Code: Alles auswählen
$nach_login = 10;

dort kannst du natürlich auch eine beliebige ID eintragen
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de
Benutzeravatar
Richard.Laing
 
Beiträge: 2109
Registriert: 27. Aug 2005, 23:55
Wohnort: Brühl / Rheinland

Re: Simply_User - Probleme

Beitragvon fw-thomas » 6. Okt 2011, 10:43

Hallo zusammen,
ich habe den Fehler gefunden und berichtet.

Jetzt kommen leider alle User rein, selbst ohne Benutzernamen und ohne Passwort.

wo muss ich was einstellen, das er auf dei Usertabelle zugreift?


gruß thomas
fw-thomas
 
Beiträge: 40
Registriert: 11. Nov 2008, 09:01
Wohnort: Friesland

Re: Simply_User - Probleme

Beitragvon fw-thomas » 12. Okt 2011, 15:07

Hallo zusammen,
kann mir jemand erklären welche Änderung ich bei der Authentifizierung machen muss??

gruß thomas
fw-thomas
 
Beiträge: 40
Registriert: 11. Nov 2008, 09:01
Wohnort: Friesland


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron