Login und Ausgabe einer Fehlermeldung

Gesperrt
andyro
Beiträge: 1
Registriert: Do 23. Mär 2006, 09:10
Kontaktdaten:

Login und Ausgabe einer Fehlermeldung

Beitrag von andyro »

Hallo Leute,

ich habe ein Problem mit dem Einloggen. Dazu benutze ich folgenden Code:

Code: Alles auswählen

<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px dotted #CCCCCC;">
	<tr>
		<td style="border-bottom: 1px dotted #CCCCCC; padding: 7px; color: #FFFFFF;">
			<strong>Login</strong>
		</td>
	</tr>
	<tr>
		<td height="22" style="padding: 7px;  color:#FFFFFF;">

        <?php
        if ($auth->auth["uid"] == "nobody")
        {
        ?>

            <form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
            	<table cellpadding="0" cellspacing="0" border="0">
            		<tr><td>Benutzername</td></tr>
            		<tr><td><input type="input" name="username" value="" /></td></tr>
            		<tr><td>Passwort</td></tr>
            		<tr><td><input type="password" name="password" value="" /></td></tr>
            	</table>
            	<input type="submit" name="login" value="Anmelden" />
            </form>

        <?php
        } else {
        ?>

            Angemeldet als: <br /><strong><?php echo $auth->auth["uname"]; ?></strong>
            <br /><br />
            <form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
            	<input type="submit" name="logout" value="Abmelden" />
            </form>

        <?php
        }
        ?>

</td></tr></table>
Das Problem ist nun, wenn ein falsches Passwort oder Nutzername angegeben wird möchte ich innerhalb dieser Tabelle (im Code oben) eine
Fehlermeldung ausgeben ("Passwort oder Nutzername falsch"). Meine Frage ist nun, wie kann ich hier ermitteln ob das eingegebene Passwort oder der Nutzername falsch war, um eine Fehlermeldung auszugeben.

Nebenbei gesagt, das mit den Mandanteneinstellungen
logon_error_page idcatart xxx
logon_success idcatart xxx,
logout_success idcatart xxx,
funzt nicht richtig. Es wird bei nem Fehler zwar die ErrorPage angezeigt, aber bei einem erfolgreichen Login wird "logon_success" ignoriert. das gleiche gilt für "logout_success".

hat jemand ne lösung dafür?

Grüße,
Andy
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ähm es wäre mir neu das es

logon_success
und
logout_success

überhaupt gibt...

somit wird solch eine einstellung auch keine wirkung zeigen...
*** make your own tools (wishlist :: thx)
funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Beitrag von funomat »

hi,
ähm es wäre mir neu das es

logon_success
und
logout_success

überhaupt gibt...
die kenne ich auch nicht, aber es gibt

Code: Alles auswählen

login_error_page idcatart XXX
und zwar wird diese idcatart in der front_crcloginform.inc.php abgefragt.

was ich komisch finde, ist das auch in den techrefs nicht dazu zu lesen ist, mal ganz davon abgesehen, dass man solche parameter selber definieren kann. man sollte nur darauf achten, dass sie nicht genau so heißen wie die vordefinierten von contenido. abfragen kann man diese dann so wie in den zeilen 19 bis 22 der front_crcloginform.inc.php.

jetzt zu dem eigentlichen thema, falls noch nicht gelöst
Das Problem ist nun, wenn ein falsches Passwort oder Nutzername angegeben wird möchte ich innerhalb dieser Tabelle (im Code oben) eine
Fehlermeldung ausgeben ("Passwort oder Nutzername falsch"). Meine Frage ist nun, wie kann ich hier ermitteln ob das eingegebene Passwort oder der Nutzername falsch war, um eine Fehlermeldung auszugeben.
in der front_crcloginform.inc.php könntest du nun auch in die zeile 19 folgenden code abändern:

Code: Alles auswählen

$err_catart=$idcatart;
und die zeile 21 änderst du z.b. wie folgt:

Code: Alles auswählen

header("Location:front_content.php?idcatart=" . $err_catart . "&falsch=true");
da die front_crcloginform.inc.php in diesem fall, nur aufgerufen wird wenn die logindaten falsch waren, leitest du hiermit die benutzer auf die seite von der aus sich der benutzer eingeloggt hat. in deinem code musst du nun nur die var $falsch abfragen und deine fehlermaldung ausgeben.

kannst ja mal bescheid geben, ob es so funktioniert. habe es selber nicht ausprobiert :mrgreen: !!!

gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Beitrag von funomat »

das hier hab ich wohl ein wenig zu schnell überflogen :roll: !!
funzt nicht richtig. Es wird bei nem Fehler zwar die ErrorPage angezeigt, aber bei einem erfolgreichen Login wird "logon_success" ignoriert. das gleiche gilt für "logout_success".
das könntest du noch in deinem code ergänzen:

Code: Alles auswählen

<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px dotted #CCCCCC;">
   <tr>
      <td style="border-bottom: 1px dotted #CCCCCC; padding: 7px; color: #FFFFFF;">
         <strong>Login</strong>
      </td>
   </tr>
   <tr>
      <td height="22" style="padding: 7px;  color:#FFFFFF;">

        <?php

$login_succ_catart=trim(getEffectiveSetting("login_success","idcatart"));
$logout_succ_catart=trim(getEffectiveSetting("logout_success","idcatart"));

        if ($auth->auth["uid"] == "nobody")
        {
        ?>

            <form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
               <table cellpadding="0" cellspacing="0" border="0">
                  <tr><td>Benutzername</td></tr>
                  <tr><td><input type="input" name="username" value="" /></td></tr>
                  <tr><td>Passwort</td></tr>
                  <tr><td><input type="password" name="password" value="" /></td></tr>
               </table>
               <input type="submit" name="login" value="Anmelden" />

<input type="hidden" name="idcatart" value="<?php echo $login_succ_catart; ?>">

            </form>

        <?php
        } else {
if($falsch){

### deine fehlermeldung  ###

}else{
        ?>

            Angemeldet als: <br /><strong><?php echo $auth->auth["uname"]; ?></strong>
            <br /><br />
            <form method="post" action="front_content.php?idcatart=<?php

echo $logout_succ_idcatart;

?>">
               <input type="submit" name="logout" value="Abmelden" />
            </form>

        <?php
        }
}
        ?>

</td></tr></table>
so müsstest du auch auf die gewünschten seiten gelangen, vorausgesetzt du hast beim mandanten die richtigen mandanteneinstellungen vorgenommen :wink: !!
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
SMHAMK1985
Beiträge: 30
Registriert: So 11. Mär 2007, 11:09
Kontaktdaten:

Beitrag von SMHAMK1985 »

funomat hat geschrieben:

Code: Alles auswählen

<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px dotted #CCCCCC;">
   <tr>
      <td style="border-bottom: 1px dotted #CCCCCC; padding: 7px; color: #FFFFFF;">
         <strong>Login</strong>
      </td>
   </tr>
   <tr>
      <td height="22" style="padding: 7px;  color:#FFFFFF;">

        <?php

$login_succ_catart=trim(getEffectiveSetting("login_success","idcatart"));
$logout_succ_catart=trim(getEffectiveSetting("logout_success","idcatart"));

        if ($auth->auth["uid"] == "nobody")
        {
        ?>

            <form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
               <table cellpadding="0" cellspacing="0" border="0">
                  <tr><td>Benutzername</td></tr>
                  <tr><td><input type="input" name="username" value="" /></td></tr>
                  <tr><td>Passwort</td></tr>
                  <tr><td><input type="password" name="password" value="" /></td></tr>
               </table>
               <input type="submit" name="login" value="Anmelden" />

<input type="hidden" name="idcatart" value="<?php echo $login_succ_catart; ?>">

            </form>

        <?php
        } else {
if($falsch){

### deine fehlermeldung  ###

}else{
        ?>

            Angemeldet als: <br /><strong><?php echo $auth->auth["uname"]; ?></strong>
            <br /><br />
            <form method="post" action="front_content.php?idcatart=<?php

echo $logout_succ_idcatart;

?>">
               <input type="submit" name="logout" value="Abmelden" />
            </form>

        <?php
        }
}
        ?>

</td></tr></table>
Hallo,

wo genau finde ich diesen Code?

Danke für eure Hilfe

Mfg
funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Beitrag von funomat »

Hi SMHA...( :?: ),

Diesen Code müsstest Du in Deinem Login/-out-Modul im Output benutzen.

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Gesperrt