Fehlermeldung bei falschem Login
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Fehlermeldung bei falschem Login
Hallo,
kann mir jemand sagen wo ich eine Fehlermeldung z.B. "Falscher User oder Passwort" einbauen kann bei einem fehlerhaften Login.
Dank im Voraus
sarronsareron
kann mir jemand sagen wo ich eine Fehlermeldung z.B. "Falscher User oder Passwort" einbauen kann bei einem fehlerhaften Login.
Dank im Voraus
sarronsareron
Re: Fehlermeldung bei falschem Login
Hallo,
erst Seite mit Fehlermeldung erstellen, idart des Artikels merken und in den Mandanteneinstellungen einen Eintrag hinzufügen:
Typ-----------------Name------Wert
login_error_page-------idart-------"Die idart von deiner Fehlerseite"
Gruß Ingo
erst Seite mit Fehlermeldung erstellen, idart des Artikels merken und in den Mandanteneinstellungen einen Eintrag hinzufügen:
Typ-----------------Name------Wert
login_error_page-------idart-------"Die idart von deiner Fehlerseite"
Gruß Ingo
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Re: Fehlermeldung bei falschem Login
Danke für die schnelle Antwort.
Ich würde aber leiber die gleiche Seite (wie der Logion) benutzen und eine Fehlermeldung dabei ausgeben.
Da weis ich nicht wie ich das realisieren kann.
Gruß
sarronsarron
Ich würde aber leiber die gleiche Seite (wie der Logion) benutzen und eine Fehlermeldung dabei ausgeben.
Da weis ich nicht wie ich das realisieren kann.
Gruß
sarronsarron
Re: Fehlermeldung bei falschem Login
Dann überprüfe doch:
a) Ob anmeldedaten übergeben wurden
b) Ein Login vorhanden ist
z.B. mit:
Gruß Ingo
a) Ob anmeldedaten übergeben wurden
b) Ein Login vorhanden ist
z.B. mit:
Code: Alles auswählen
if( isset($_REQUEST['username'])
&& isset($_REQUEST['password'])
&& $auth->nobody)
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Re: Fehlermeldung bei falschem Login
Hallo,
da funktioniert nicht im Modul Login_Form da die action ja in das aufzurfende Script verzweigt. Dort wird dann irgendwo geprüft und auf Login_error_page verweisen.
Wo das aber genau geprüft wird weis ich nicht.
gruß
sarronsarron
da funktioniert nicht im Modul Login_Form da die action ja in das aufzurfende Script verzweigt. Dort wird dann irgendwo geprüft und auf Login_error_page verweisen.
Wo das aber genau geprüft wird weis ich nicht.
gruß
sarronsarron
Re: Fehlermeldung bei falschem Login
Hallo,
dann mach doch die login-seite zur login_error_page
Ob funktioniert weiß ich nicht, in den Contenido-Modulen steht immer
Gruß
René
dann mach doch die login-seite zur login_error_page

Ob
Code: Alles auswählen
$auth->nobody
Code: Alles auswählen
$auth->auth['uid'] == nobody
René
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Re: Fehlermeldung bei falschem Login
Hab ich schon gemacht. Ich weis aber nicht wie oder was ich bei falschem Login abfragen kann damit ich eine Fehlermeldung ausgeben kann.
guß
sarronsarron
guß
sarronsarron
Re: Fehlermeldung bei falschem Login
Vielleicht reden wir aneinander vorbei
Also immer dann, wenn es in einem Request eine Variable username übermittelt wird versucht das $auth Object diesen Benutzernamen zu übernehemen, und stimmt dann noch das Passwort tut es das auch. Sonst ist der Benutzer 'nobody'. Diese Überprüfung findet auf jeder Seite statt. Es ist sozusagen egal auf welche Seite das form verweist in dem die Anmeldedaten eingegeben werden.
Bei einem erfolgreichen Login wird dann die Seite aufgerufen auf das das Form verwiesen hat, wenn es zu einem Fehler kommt wird die login_error_page aufgerufen.
Wenn ich dich richtig verstanden habe ist dein Anmeldeformular auf Seite A und verweist auf einen einen Artikel B, welcher bei positiven Login aufgerufen werden soll. Bei einem Fehlerhaften Login soll aber wieder das Formular mit einer Fehlermeldung angezeigt werden. Daher muß die login_error_page dein Loginformular sein, und das Formular muß so gestaltet werden, dass es erkennt das ein Fehlerhafte Login stattgefunden hat.
Das Modul LoginForm finde ich persönlich ein bisschen unübersichtlich, daher verwende ich etwas wie:
Gruß Ingo

Also immer dann, wenn es in einem Request eine Variable username übermittelt wird versucht das $auth Object diesen Benutzernamen zu übernehemen, und stimmt dann noch das Passwort tut es das auch. Sonst ist der Benutzer 'nobody'. Diese Überprüfung findet auf jeder Seite statt. Es ist sozusagen egal auf welche Seite das form verweist in dem die Anmeldedaten eingegeben werden.
Bei einem erfolgreichen Login wird dann die Seite aufgerufen auf das das Form verwiesen hat, wenn es zu einem Fehler kommt wird die login_error_page aufgerufen.
Wenn ich dich richtig verstanden habe ist dein Anmeldeformular auf Seite A und verweist auf einen einen Artikel B, welcher bei positiven Login aufgerufen werden soll. Bei einem Fehlerhaften Login soll aber wieder das Formular mit einer Fehlermeldung angezeigt werden. Daher muß die login_error_page dein Loginformular sein, und das Formular muß so gestaltet werden, dass es erkennt das ein Fehlerhafte Login stattgefunden hat.
Das Modul LoginForm finde ich persönlich ein bisschen unübersichtlich, daher verwende ich etwas wie:
Code: Alles auswählen
<?php
$goidart = [idart des Artikels der nach dem Login aufgerufen werden soll]
$error = '';
if(isset($_REQUEST['username'] && $auth->auth["uid"] == "nobody"){
$error = mi18n("Da stimte was nicht mit den Anmeldedaten");
}
?>
<form action="front_content.php?idart=<?=$goidart?>" method="POST">
<?=$error?>
<table>
<tr>
<th>Benutzername:</th><td><input type="text" name="username"></td>
</tr><tr>
<th>Passwort:</th><td><input type="password" name="password"></td>
</table>
</form>
Re: Fehlermeldung bei falschem Login
Im Login-Modul steht schon
Danach kannst du dann abfragen (wie IngoL schon schrieb)
Wenn das zutrifft, war es eine fehlerhafte Anmeldung.
Also:
Gruß
René
Code: Alles auswählen
if ($auth->auth['uid'] == 'nobody') {
Code: Alles auswählen
if ((isset($_REQUEST['username'])) && (isset($_REQUEST['password']))) {
Also:
Code: Alles auswählen
if ($auth->auth['uid'] == 'nobody') {
if ((isset($_REQUEST['username'])) && (isset($_REQUEST['password']))) {
# Fehlerhafte Anmeldung
...
}
...
René
Re: Fehlermeldung bei falschem Login
Wenn man sich print_r($auth) ausgeben lässt sieht es immer so aus als ob es funktioniert, wenn man es dann verwendet ist dieSpider IT hat geschrieben:...
Obfunktioniert weiß ich nicht, in den Contenido-Modulen steht immerCode: Alles auswählen
$auth->nobody
...Code: Alles auswählen
$auth->auth['uid'] == nobody
Code: Alles auswählen
$auth->auth['uid'] == nobody

Gruß Ingo
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Re: Fehlermeldung bei falschem Login
Halloo,
habs eingabaut, funktioniert aber nicht. Es kommt keine Fehlermeldung.
if ($auth->auth["uid"] == "nobody") {
if ((isset($_REQUEST['username'])) && (isset($_REQUEST['password']))) {
echo "Falsche Anmeldung";
}
gruß sarronsarron
habs eingabaut, funktioniert aber nicht. Es kommt keine Fehlermeldung.
if ($auth->auth["uid"] == "nobody") {
if ((isset($_REQUEST['username'])) && (isset($_REQUEST['password']))) {
echo "Falsche Anmeldung";
}
gruß sarronsarron
Re: Fehlermeldung bei falschem Login
Stimmt, habs gerade getestet.
Anscheinend werden die Daten bei der Weiterleitung nicht mitgegeben.
Mir ist da eine andere Lösung in den Sinn gekommen:
login_error_page woanders ablegen, darin per Javascript auf die Login-Seite weiterleiten, aber mit Parameter error=1:ACHTUNG! XX durch die idart ersetzen!
Auf der Seite noch einen Hinweis, für den Fall, dass Javascript deaktiviert ist.
Im Login-Modul dann diesen Code anstelle des vorher eingefügten:
Letzteres habe ich getestet, das funktioniert: http://www.webseiten-und-so.de/Webseite ... index.html.
Gruß
René
Anscheinend werden die Daten bei der Weiterleitung nicht mitgegeben.
Mir ist da eine andere Lösung in den Sinn gekommen:
login_error_page woanders ablegen, darin per Javascript auf die Login-Seite weiterleiten, aber mit Parameter error=1:
Code: Alles auswählen
<script type="text/javascript">
<![CDATA[
document.location.href = 'front_content.php?idart=XX&error=1';
//]]>
</script>
Auf der Seite noch einen Hinweis, für den Fall, dass Javascript deaktiviert ist.
Im Login-Modul dann diesen Code anstelle des vorher eingefügten:
Code: Alles auswählen
if (isset($_GET['error'])) {
# Fehlerhafte Anmeldung
echo 'Benutzername und/oder Passwort falsch';
}
Gruß
René
Zuletzt geändert von Spider IT am Sa 10. Mär 2012, 10:31, insgesamt 1-mal geändert.
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Re: Fehlermeldung bei falschem Login
Hallo,
denke das ich die Lösung gefunden habe.
In cms/front_crcloginform.inc.php vor
header('Location: ' . $sErrorUrl);
folgendes einbauen: $sErrorUrl .= "&login=badlogin";
dann kann man $login im Modul Login_From abfragen
if ($auth->auth["uid"] == "nobody") {
if ($_GET['login']=="badlogin") {
echo "Falsche Anmeldung";
}
bei mir funktioniert es.
gruß sarronsarron
denke das ich die Lösung gefunden habe.
In cms/front_crcloginform.inc.php vor
header('Location: ' . $sErrorUrl);
folgendes einbauen: $sErrorUrl .= "&login=badlogin";
dann kann man $login im Modul Login_From abfragen
if ($auth->auth["uid"] == "nobody") {
if ($_GET['login']=="badlogin") {
echo "Falsche Anmeldung";
}
bei mir funktioniert es.
gruß sarronsarron