Frontend-Login bringt mich um den Verstand.

Gesperrt
MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Frontend-Login bringt mich um den Verstand.

Beitrag von MyAccount »

Hallo,

nachdem ich hier etliche Stunden im Forum recherchiert habe, bin ich leider keinen Schritt weiter gekommen. Naja, ich weiß jetzt mehr als vorher, aber habe eben leider noch kein Login im Frontend hinbekommen.

Was ich verstanden habe:
1.)
Ich schütze eine Kategorie, indem ich unter CONTENT -> ARTIKEL die Kategorie auswähle und dann auf SCHÜTZEN klicke.

2.)
Wenn die Kategorie geschützt ist, wird automatisch die Datei front_crcloginform.inc.php aufgerufen. Manchmal wird auch von der front_crclogin.php gesprochen. Die habe ich aber nicht gefunden.

3.)
Unter docs/techref/modules/module.login.html wird von timo erläutert, wo man welche Änderungen einbauen muss. In der alten front_crcloginform.inc.php steht oben z.B. nur die GLOBAL Variablen drin.

Diesen Bereich habe ich hiermit ersetzt.

Code: Alles auswählen

global $cfg, $username, $idart, $idcatart, $idcat, $HTTP_POST_VARS, $HTTP_GET_VARS;
$logincat = <yourlogincathere>;
if ($idcat > 0){   $loca[] = "oldidcat=$idcat";}
if ($idart > 0){       $loca[] = "oldidart=$idart";}
$wp = "";
if (isset($HTTP_POST_VARS["username"])){    $wp = "&wrongpass=1";}
if (isset($HTTP_GET_VARS["username"])){    $wp = "&wrongpass=1";}if (is_array($loca)){$loc = implode("&",$loca);}$loc = "&$loc";
header ("Location: ".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?idcat=$logincat".$wp.$loc);
4.)
Mit diese Änderungen kann man sein eigenes Login-Formular in einem Artikel einbauen.

Code: Alles auswählen

$logincat = 200;
Wobei dieser Bereich dann wohl eher nicht geschützt sein darf, gelle?! :D

5.)
Jetzt braucht es ja nur noch das Login-Modul, oder? Ich habe jedenfalls keines finden können. Kann aber auch an der mittlerweile späten Stunde und meinen Augen liegen. :shock:

6.)
Ich habe mir also einfach einen Snippet-Container genommen und den restlichen Inhalt der front_crclogin.inc.php eingebaut. Also quasi alles unterhalb von:

Code: Alles auswählen

["htmlpath"]."front_content.php?idcat=$logincat".$wp.$loc);
Natürlich habe ich auch die beiden hidden-fields darin ergänzt.

Code: Alles auswählen

<input type="hidden" name="idcat" value="<?php echo $oldidcat; ?>"><input type="hidden" name="idart" value="<?php echo $oldidart; ?>">
7.)
Und los! Das Login-Formular wird in der eigenen Seite dargestellt, wie gewünscht. Aber wenn ich mich als admin einlogge, erhalte ich die Fehlermeldung, dass in der gewählten Kategorie kein Artikel enthalten ist. In der URL steht nur ...front_content.php.


Meine Fragen sind nun:

Wo bekomme ich das Login-Modul her?

Warum findet Contenido nicht mehr die geschütze Seite?


Danke
MyAccount
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

login-Modul wird eigentlich mit installiert. Wenn Du die Module geloescht hast, dann findest Du es nicht mehr. :P Hier das Modul:
(Eingabe ist leer)
Ausgabe:

Code: Alles auswählen

<table width="165" border="0" cellspacing="0" cellpadding="0">
<tr><td height="30" colspan="2" ></td></tr>
<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>
<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">Login</td></tr>
<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px">
<?php

if ($auth->auth["uid"] == "nobody")
{
?>
<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
<table 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><br>
<?php
} else {
?>
Angemeldet als: <br> <?php echo $auth->auth["uname"]; ?>
<br><br>
<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
<input type="submit" name="logout" value="Abmelden">
</form><br>
<?php
}
?>
</td></tr></table>
Benutzt habe ich es aber nicht, also kann ich Dir mit den anderen Fragen auch nicht helfen.
MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount »

Vielen Dank Halchteranerin,

ich wär da wohl nie von selber drauf gekommen. Der Login funktioniert jetzt. Schade ist, dass man den Login in einer anderen Kategorie ablegen muss. Versuche nämlich jetzt, im geschützen Bereich wenigstens den Logout-Button einzufügen.

Im Moment ist es so, dass nach erfolgreichem Login direkt der Logout angeboten wird. :?

Besser fänd ich es, wenn man direkt in den geschützen Bereich weitergeleitet würde, und dann dort auch irgendwo der Logout-Button kommt.

Werde wohl man genauer in die front_crclogin.inx.php schauen müssen.

Danke MyAccount
Gesperrt