Hallo hundertmorgen,
Vielen Dank für die Antwort!
Ich hatte Deine Schritte alle schon gemacht.
User anlegen usw funktioniert auch alles prima.
Wenn ich mich aber einlogge wird die Startseite angezeigt anstatt die im Code angegeben Seite.
Ich bin aber anscheinend eingeloggt, denn nun wird aus "Login" "Logout"
Allerdings werden die Menupunkte für eingeloggte User auch nicht angezeigt...
Wenn ich dann auf Logout klicke passiert gar nichts, d.h. ich kann mich nicht mehr ausloggen.
Ich denke daher, dass alles vielleicht am Login-Modul liegen könnte:
- Code: Alles auswählen
/*------------------------------------------------------------------------------
* $webmaster an ihn geht die eMail mit dem Antrag nach einer
* Login-Berechtigung (Name, Kennwort)
* default: Webmaster (meist bei ERROR_MAIL eingetragen) :-))
* $absender Mit dieser Absenderadresse verschickt das System die Mails
* wenn das Passwort vergessen worden war.
* default: webmaster
* $nach_login Diese Seite wird angesprungen wenn das login erfolgreich war
* Default = Startseite
* $nach_logout Diese Seite wird angesprungen wenn das logout erfolgreich war
* Default = Startseite
*/
$webmaster = 'mailto:'.$REX['ERROR_EMAIL'];
$absender = $webmaster;
$nach_login = $REX['63'];
$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>Mot de passe oublié?</p>
<p>Veuillez taper votre adresse e-mail. Nous vous enverrons votre login et mot de passe à cette adresse.</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">E-mail</label>
<input id="email" type="text" name="email" size="50" /><br />
<input class="submit" type="submit" value="Demande de mot de passe" />
</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 - Erreur base de données: <br />'.$sqlerr."<br />\n";
print '<a href="'.$url_ich.'&FORM[pwd]=1">Suite ...</a>'."\n";
}
elseif ($sql->getRows() != 1) {
print 'Cet adresse e-mail '.$email.' n\'est pas enregistrée dans notre base.<br />'."\n";
print '<a href="'.$url_ich.'&FORM[pwd]=1">Suite ...</a>'."\n";
}
else {
$header = 'De: '.$absender. "\r\n" .'X-Mailer: PHP/' . phpversion();
$text = 'Bonjour '.$sql->getValue ('user_firstname', 0).' '.
$sql->getValue ('user_name', 0)."\n\n".
'Suite à votre demande vous trouverez ci-contre votre login et mot de passe.'."\n\n".
'_______________________________________________________'."\n\n".
'Login: '.$sql->getValue ('user_login', 0)."\n".
'Mot de passe: '.$sql->getValue ('user_password', 0)."\n".
'_______________________________________________________'."\n";
$betreff = 'Demande de mot de passe';
if (mail($email, $betreff, $text, $header)) {
echo '<p>Votre login et mot de passe ont été <b>'.$email.'</b> envoyés</p>'."\n";
}
else {
echo '<p>Problème lors de l\'envoi. Merci de réessayer plus tard.</p>'."\n";
}
print '<a href="'.$url_ich.'">Suite ...</a>'."\n";
}
}
/* Login: ----------------------------------------------------------------------
* Im Prinzip ist das der Programmcode aus der Redaxo-Login-Demo.
*/
elseif ($func == 5) {
$FORM[loginname] = "Login";
print '
<p>Mot de passe oublié ?
<a href="'.$url_ich.'&FORM[pwd]=1">Cliquez ici</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>Login</td>
<td><input id="login" type="text" name="FORM[loginname]" value="" /></td>
</tr>
<tr>
<td>Mot de passe</td>
<td><input id="paswd" type="password" name="FORM[loginpasswort]" value="" /></td>
</tr>
<tr>
<td> </td>
<td><br /><input class="submit" type="submit" value="Envoyer" /></td>
</tr>
</table>
</form>
';
}
// Logout: ---------------------------------------------------------------------
else {
print
$msg.'
<p style="text-align:left;">Vous êtes: <strong>'.$_SESSION['USER']->getValue("user_login").'</strong></p>
<p style="text-align:left;"><a href="'. $url_nach_logout .'&FORM[LOGOUT]=1">« Logout</a></p>
';
}
}
?>
In den Meta-Infos steht:
- Code: Alles auswählen
1:Standard|2:UnbekannterUser|98:Testuser|99:Superuser
Login-code im Template:
- Code: Alles auswählen
<?php
if (!$_SESSION['USR'] OR $_GET['LOGOUT'] == 1) {
$navLogin = '<ul><li><a href="'.rex_getUrl(61,$REX['CUR_CLANG']).'"><img src="files/layoutinforiel/login.gif" alt="Login Inforiel" border="0"/></a></li></ul>';
}
else {
$navLogin = '<h1><li><a href="'.rex_getUrl($REX['63'],$REX['CUR_CLANG'],'&FORM[LOGOUT]=1').'">Logout</a></li></h1>';
}
print $navLogin;
?>
Vielleicht sieht jemand einen Fehler.....?
Wäre super, denn mit dem Community-Addon komme ich, da es sich um eine existierende Site handelt, ganz schlecht zurecht.