das leidige thema: frontend-login! :-)

Gesperrt
chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

das leidige thema: frontend-login! :-)

Beitrag von chrisk17 »

moin moin,
hab da ein problem mit meinem frontend login!

und zwar funktioniert das eigentlich einwandfrei, bis auf die tatsache das ich es nicht hinbekomme (und auch nix passendes im forum gefunden habe) das wenn man sich z.b. als "user" einloggt man automatisch auf die seite mit der id "73" kommt und wenn man sich als "user123" einloggt man automatisch auf die seite mit der id "33" umgeleitet wird!

Code: Alles auswählen

<span class="textklein">
<b>LogIn</b></span><p>

<?php

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

{
?>
<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
<span class="textklein">Benutzername:</span><br>
<input size="22" type="input" name="username" value=""><br>
<span class="textklein">Passwort:</span><br>
<input size="22" type="password" name="password" value=""><br>

<input type="submit" name="login" value="Anmelden">
</form><br>
<?php
} else {
?>
<span class="textklein"><b>Angemeldet als:</b> <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></span>
<?php
}
?>
ich hab schon gedacht die user id abfrage zu erweitern um so über die user id eine andere idcatart zubekommen!

z.b.

Code: Alles auswählen

 if ($auth->auth["75"])
echo "<form method='post' action='front_content.php?idcatart=74'>";
und so weiter!

aber datt funktioniert ja man überhaupt nicht!
ich schätze mal es liegt daran das ich im moment mit php auf kriegfuß stehe! :roll:
Zuletzt geändert von chrisk17 am Di 3. Mai 2005, 16:35, insgesamt 1-mal geändert.
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Knapp daneben. Guck doch mal, was bei

echo $auth->auth["uid"];

herauskommt. Entsprechend müsste die Abfrage

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

zum Ziel führen.

ÜBRIGENS BEDEUTET GROSSSCHREIBEN SCHREIEN - WENN DU ALSO NICHT GLAUBST, DAS WIR TAUB SIND - ändere doch mal Deinen Betreff des ersten Postings... :wink:

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Welche Contenido-Version verwendest du?
Wo kann man sich das ansehen (URL)?

demo user daten ?
*** make your own tools (wishlist :: thx)
chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

Beitrag von chrisk17 »

hab ganz artig den titel jetzt in kleinen buchstaben!!! :oops:

also würde das bedeuten das mein code dann so aussehen würde:

Code: Alles auswählen

<span class="textklein">
<b>LogIn</b></span><p>

<?php

if ($auth->auth["uid"] == 'XYZ')
echo "<form method='post' action='front_content.php?idcatart=000'>";
if ($auth->auth["uid"] == 'XYZ123')
echo "<form method='post' action='front_content.php?idcatart=001'>";
{
?>
<span class="textklein">Benutzername:</span><br>
<input size="22" type="input" name="username" value=""><br>
<span class="textklein">Passwort:</span><br>
<input size="22" type="password" name="password" value=""><br>

<input type="submit" name="login" value="Anmelden">
</form><br>
<?php
} else {
?>
<span class="textklein"><b>Angemeldet als:</b> <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></span>
<?php
}
?>
wenn ich es so schreibe gibt mit contenido im module bereich nämlich einen roten punkt aus! (hups.. da hab ich wohl wieder was falsch eingegeben - wie schon den ganzen tag über :? )

ach ja hab die version 4.4.5 - läuft momentan aber noch offline!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Wenn man auf der roten Kugel einen Augenblick verweilt, erhält man eine i.A. wenig aussagefähige Fehlermeldung und die aussagefähige Angabe der Zeile, wo der Fehler liegt.

Code: Alles auswählen

<span class="textklein"> 
<b>LogIn</b></span><p> 

<?php 

if ($auth->auth["uid"] == 'XYZ') { 
   echo "<form method='post' action='front_content.php?idcatart=000'>"; 
}

if ($auth->auth["uid"] == 'XYZ123') {
   echo "<form method='post' action='front_content.php?idcatart=001'>"; 
?> 
<span class="textklein">Benutzername:</span><br> 
<input size="22" type="input" name="username" value=""><br> 
<span class="textklein">Passwort:</span><br> 
<input size="22" type="password" name="password" value=""><br> 

<input type="submit" name="login" value="Anmelden"> 
</form><br> 
<?php 
} else { 
?> 
<span class="textklein"><b>Angemeldet als:</b> <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></span> 
<?php 
} 
?>
Technisch gesehen sollte es jetzt funktionieren. Was Du möchtest, jedoch nicht - so lange man nicht angemeldet ist (und die Anmeldung benötigt) ist $auth->auth["uid"] == 'nobody'. Du kannst also nicht vorher steuern, wohin es nach der Anmeldung geht.

Dafür würde mir nur ein spezieller Link oder Menüpunkt einfallen, der nur sichtbar ist, wenn man angemeldet ist (z.B. "Meine Welt"). Hier wird in Abhängigkeit von uid oder - vermutlich besser lesbar - uname ein anderer Link unterlegt.

Es sei erwähnt, dass - sofern Du nur die Eigenschaft "geschützt" verwendest - Nutzer A auch auf die Seite von Nutzer B zugreifen kann, wenn die Artikel-ID bekannt ist und dies nicht durch eine entsprechendes Modul auf der Seite verhindert wird.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

sieh dir mal den folgenden beitrag an...
da gehts um eine weiterleitung nach einem login auf eine entsprechende idcatart... je nach gruppe

-> http://www.contenido.org/forum/viewtopic.php?t=7966
*** make your own tools (wishlist :: thx)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ja, ist mir auch gerade eingefallen - Man kann natürlich nicht vorher bestimmen, wo es nachher hingeht, aber man kann nach der Anmeldung entsprechend weiterleiten.

Die Links sollten helfen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

Beitrag von chrisk17 »

hmmm also ich habe jetzt folgendes in mein layout eingefügt! (oder muss das wo anders hin ??

Code: Alles auswählen

<?php
if ($auth->auth["uid"] != 'nobody') { 
    $sql = "SELECT gruppe FROM con_phplib_auth_user_md5 WHERE user_id = '".$auth->auth["uid"]."'"; 
    $db->query($sql); 
    if ($db->next_record()) { 
        // gruppe gefunden 
        $meine_gruppe = $db->f("gruppe"); 
        if ($meine_gruppe == "bday") { 
            $idcatart = 73; // dieser artikel soll aufgerufen werden 
        } 

        if ($meine_gruppe == "gday") { 
            $idcatart = 33; // dieser artikel soll aufgerufen werden 
        } 

    } 
}
?>
ich habe zwei gruppen eingerichtet und zwei benutzer - jeder ist ein einer gruppe eingetragen!

wenn man sich jetzt einloggt - steht da auch das man als "XYZ" eingeloggt ist - man wird aber nicht z.b. auf die seite mit der idcatart 33 weitergeleitet!
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

-> das muss wo anders hin -> front_content.php
*** make your own tools (wishlist :: thx)
chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

Beitrag von chrisk17 »

ich habe den code jetzt in die front_contend.php geschrieben!
(ganz am ende - oder bekommt die da einen bestimmten platz?)

ich kann man wie gewohnt einloggen, werde aber immer noch nicht automatisch auf die seite für die jeweilige gruppe geschickt !

hab ich da in dem code mit der abfrage was falsch ??
oder in dem code für das login ???

hier der login code:

Code: Alles auswählen

<span class="textklein">
<b>LogIn</b></span><p>
<?php

if ($auth->auth["uid"] == "nobody")
{
?>
<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
<span class="textklein">Benutzername:</span><br>
<input size="22" type="input" name="username" value=""><br>
<span class="textklein">Passwort:</span><br>
<input size="22" type="password" name="password" value=""><br>

<input type="submit" name="login" value="Anmelden">
</form><br>
<?php
} else {
?>
<span class="textklein"><b>Angemeldet als:</b> <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></span>
<?php
}
?>
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

du liest nicht gerne die postings komplett durch oder ?

-> http://www.contenido.org/forum/viewtopi ... 5815#45815

der code gehört nach dem

Code: Alles auswählen

$auth->login_if(true);
aber noch innerhalb der if abfrage...
*** make your own tools (wishlist :: thx)
chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

Beitrag von chrisk17 »

:oops: den punkt hab ich wohl überlesen!!! -sorry-

habe jetzt in der front_content.php folgendes stehen

Code: Alles auswählen

....
if (isset($username))
{
  $auth->login_if(true);
    if ($auth->auth["uid"] != 'nobody') { 
    $sql = "SELECT gruppe FROM con_phplib_auth_user_md5 WHERE user_id = '".$auth->auth["uid"]."'"; 
    $db->query($sql); 
    if ($db->next_record()) { 
        // gruppe gefunden 
        $meine_gruppe = $db->f("gruppe"); 
        if ($meine_gruppe == "bday") { 
            $idcatart = 73; // dieser artikel soll aufgerufen werden 
        } 

        if ($meine_gruppe == "gday") { 
            $idcatart = 33; // dieser artikel soll aufgerufen werden 
        } 

    } 
} 
}

if (isset($logout))
{
  $auth->logout(true);
  $auth->unauth(true);
  $auth->auth["uname"] = "nobody";
}
....
ich schätze mal da habe ich wieder irgendwo ´nen bock drin, weil datt immer noch nicht umgeleitet wird nach einem login! :roll:
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

die position stimmt ja wenigstens...

den code wirst du ohne anpassungen so aber auch nicht übernehmen können... in den ersten zwei postings von Condor steht das er die tabelle erweitert hat... und zwar um das feld gruppe...
das steht bei dir ja nicht zur verfügung...

der grundsätzliche ablauf ist aber der selbe...

nur muss man halt in der gruppen zugehörigkeitstabelle suchen

$auth->auth["uid"] hast du ja
und das ganze wird mit
con_groupmembers und con_group
verknüpft...

anstelle von

Code: Alles auswählen

$sql = "SELECT gruppe FROM con_phplib_auth_user_md5 WHERE user_id = '".$auth->auth["uid"]."'";
würde das in etwa so aussehen...

Code: Alles auswählen

$sql = "SELECT groupname AS gruppe FROM ".$cfg["tab"]["groups"]." AS A, ".$cfg["tab"]["groupmembers"]." AS B WHERE A.group_id = B.group_id AND B.user_id= '".$auth->auth["uid"]."'";
bei den ergebniss das die db liefert sollte man noch wissen das ein prefix in der db beim gruppennamen vorhanden ist...
also

Code: Alles auswählen

$meine_gruppe = $db->f("gruppe");
ändern in

Code: Alles auswählen

$meine_gruppe = str_replace ("grp_", "", $db->f("gruppe"));
sollte das beheben....
*** make your own tools (wishlist :: thx)
chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

Beitrag von chrisk17 »

JIPPI!!!!
es funktioniert!

DANKE DANKE DANKE.... :D
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

chrisk17 hat geschrieben:JIPPI!!!!
es funktioniert!

DANKE DANKE DANKE.... :D
bitte...
*** make your own tools (wishlist :: thx)
Gesperrt