[SOLVED] Sprungbefehl für nicht eingeloggte Nutzer

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
RalfB
Posts: 192
Joined: Mon 9. Jan 2012, 13:05

[SOLVED] Sprungbefehl für nicht eingeloggte Nutzer

Post by RalfB »

Nicht eingeloggte Nutzer, die einem Link zu einer verdeckten Seite nur für angemeldete Nutzer folgen wollen werden auf die Homepage zurück geworden. Ich möchte aber das sie auf die Login-Seite verwiesen werden. Das erscheint mir sinnvoller.
Wo muss ich den Befehl ändern?
Last edited by RalfB on Fri 27. Feb 2015, 11:48, edited 1 time in total.
Old Boy
Posts: 1203
Joined: Fri 23. Nov 2012, 13:52

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by Old Boy »

Das reizt nur "ungewollte" Besucher... den "CODE zu knacken" ... meine Meinung :wink:
RalfB
Posts: 192
Joined: Mon 9. Jan 2012, 13:05

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by RalfB »

Old Boy wrote:Das reizt nur "ungewollte" Besucher... den "CODE zu knacken" ... meine Meinung :wink:
Oder sich als FE-User anzumelden :wink:
Denn ich will ja keinen Code knacken lassen sondern, einem nicht angemeldeten User zeigen wo er sich als FE-User anmelden kann.
Old Boy
Posts: 1203
Joined: Fri 23. Nov 2012, 13:52

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by Old Boy »

Wenn das dein Ziel ist... dann ermögliche doch die FE-Anmeldung gleich auf der Homepage :D
RalfB
Posts: 192
Joined: Mon 9. Jan 2012, 13:05

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by RalfB »

Old Boy wrote:Wenn das dein Ziel ist... dann ermögliche doch die FE-Anmeldung gleich auf der Homepage :D
Auch 'ne Möglichkeit. Ich denk mal 'drüber nach. :roll:
RalfB
Posts: 192
Joined: Mon 9. Jan 2012, 13:05

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by RalfB »

Ich hab noch einmal darüber nachgedacht.
Old Boy wrote:Wenn das dein Ziel ist... dann ermögliche doch die FE-Anmeldung gleich auf der Homepage :D
Ja das ist eine Möglichkeit. Auch ein Login von der Homepage, sowie von jeder anderen Seite habe ich jetzt im Kopf der Seite einprogrammiert.

Ich fände es aber trotzdem gut, wenn ein nicht registrierter FE-User mit einen Verweis direkt auf die Loginseite, darüber informiert wird, wieso er dem Link nicht folgen konnte. :wink:
Wird man einfach nur auf die Homepage "zurückgeworfen" erschießt sich das dem User nicht. Und schon gar nicht, wenn (als Beispiel) ein Teaser auf er Homepage den vollständigen Artikel nur für angemeldete FE-User anzeigt.
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by update »

Du könntest im (Teaser)Template die Links zum Weiterlesen zB folgendermaßen wrappen:

Code: Select all

<!--LOGGED_IN_START//--> heyhey! Link zum Teasercontent<!--LOGGED_IN_END//-->
<!--LOGGED_OUT_START//--> oh-oh! Link zur Login-Seite<!--LOGGED_OUT_END//-->
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by juergen »

Aber da geht er nicht automatisch hin .... das müsste man mit einen header() redirect machen... das geht allerdings nur, wenn die Seite noch nicht gerendert wurde. Da wäre so ein <!--php header("...") --> noch das i-Tüpfelchen ;)
RalfB
Posts: 192
Joined: Mon 9. Jan 2012, 13:05

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by RalfB »

Es gibt doch diese Datei template/inc_script/frontend_render/zz_fe-user-check_beta1.php, In der wird doch z.B. festgelegt wohin man nach dem Log-out hingeführt wird. Kann es nicht sein das es dort einen solchen Verweis gibt?

Ich stelle hier mal den kompletten Code rein. Vielleicht sieht ja einer mehr als ich.

Code: Select all

<?php
/*************************************************************************************
	FE-User-Access-Check (Zugangskontrolle für FE-User-Gruppen
	WICHTIG: DIE VERWENDUNG DIESES MODULS GESCHIEHT AUF EIGENE GEFAHR!!!

	
 -------------------------------------------------------------------------------------
28.08.2010 novallis
-------------------------------------------------------------------------------------
	Hinweis zur Verwendung:
	Folgende Anpassungen müssen noch vorgenommen werden:
		// FE-Logout Target setzen (Landeseite beim Logout); Platzhalter {FE-USER-LOGOUT_TARGET} ggf. anpassen
		// Umleiten auf die Hinweisseite  => Alternativseite ALIAS angeben!  
		// Wichtig: Beim Logout Session-Variablen zurücksetzten ;  "mitglieder-logout" ist hier der ALIAS => bitte noch anpassen!!!
*************************************************************************************/

// ----------------------------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day.");}
// ----------------------------------------------------------------------------------
 


// User-ID aus Session auslesen
$fe_loginname = html_specialchars($_SESSION[ session_id().'_userdata']['login']);
$fe_id = html_specialchars($_SESSION[ session_id().'_userdata']['id']);

// FE-Username ersetzen; Platzhalter {FE-LOGIN}
$content['all'] = str_replace('{FE-LOGIN}', $fe_loginname, $content['all']);

// FE-Logout Target setzen (Landeseite beim Logout); Platzhalter {FE-USER-LOGOUT_TARGET} ggf. anpassen
 $content['all'] = str_replace('{FE-USER-LOGOUT_TARGET}', "index.php?customers-logout", $content['all']);

// Landing-Page ersetzen (Ersetzer: {FE-USER-LANDING-PAGE}
if (!empty($fe_id))
{
	$sql  = 'SELECT * FROM '.DB_PREPEND.'phpwcms_userdetail WHERE detail_aktiv=1 ';
	$sql .= 'AND detail_id='.$fe_id;
	$sql .= ' AND detail_public=1 ';

	$result = mysql_query($sql);
	$ausgabe = mysql_fetch_array($result);
	$feuser_landingpage = $ausgabe[detail_varchar5];
	$content['all'] = str_replace('{FE-USER-LANDING-PAGE}', $feuser_landingpage, $content['all']);
	$content['all'] = str_replace('index.php?interner-bereich', 'index.php?'.$feuser_landingpage, $content['all']);

}


//  Überprüfen, ob der Access-Tag "[FEUSER-CHECK]" in den Schlüsselworten eines Artikels vorkommt
if ((strpos($GLOBALS['content']['all_keywords'],"[FEUSER-CHECK]")!==false)) {

// Überprüfen ob ein FE-User angemeldet ist
if (!empty($fe_id))
{
	$sql  = 'SELECT * FROM '.DB_PREPEND.'phpwcms_userdetail WHERE detail_aktiv=1 ';
	$sql .= 'AND detail_id='.$fe_id;
	$sql .= ' AND detail_public=1 ';

$result = mysql_query($sql);
$ausgabe = mysql_fetch_array($result);
$feusergroup = $ausgabe[detail_varchar5];
$allkeywords = $GLOBALS['content']['all_keywords'];

	$sql  = 'SELECT * FROM '.DB_PREPEND.'phpwcms_userdetail WHERE detail_aktiv=1 ';
	$sql .= 'AND detail_id='.$fe_id;
	$sql .= ' AND detail_public=1 ';

$result = mysql_query($sql);
$ausgabe = mysql_fetch_array($result);
$detail_tag = $ausgabe[detail_tag];
$detail_tag = convertStringToArray($detail_tag);

$feuser_access = "false";

// FE-User-Rechtegruppen in einen Array einlesen
  foreach ($detail_tag as $element) {
if ((strpos($GLOBALS['content']['all_keywords'],$element)!==false)) {
	$feuser_access = "true";
}
else {
}
}

if ($feuser_access == "true") {
echo "<br>#### Zugang ###";
}

//else
//{
// Umleiten auf die Hinweisseite  => Alternativseite ALIAS angeben!  
// echo "<br>Kein Zugang ####";
//header("Location: http://www.dwj-hassloch.edhost.de/index.php?no-entry");
//}

} // Ende IF (FE-User angemeldet)

//else 
//{
//header("Location: http://www.dwj-hassloch.edhost.de/index.php?no-entry");
//}


}  // Ende IF (Access-Tag vorhanden)



// Wichtig: Beim Logout Session-Variablen zurücksetzten ;  "mitglieder-logout" ist hier der ALIAS => noch anpassen!!!
if (preg_match("/customers-logout/i", returnGlobalGET_QueryString())) {
unset($_SESSION[ session_id().'_userdata']['id']);
unset($_SESSION[ session_id().'_userdata']['login']);
// echo "session".$_SESSION[ session_id().'_userdata']['id'];
// echo "session login".$_SESSION[ session_id().'_userdata']['login'];
}

 
?>
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by juergen »

wenn ich das noch richtig weiß ist das eine andere Login Methode.. so nach dem Motto: Jedem Nutzer seine Seite, das geht aber nicht mit dem anderen zusammen. ( Vage erinnert )
RalfB
Posts: 192
Joined: Mon 9. Jan 2012, 13:05

Re: Sprungbefehl für nicht eingeloggte Nutzer

Post by RalfB »

update wrote:Du könntest im (Teaser)Template die Links zum Weiterlesen zB folgendermaßen wrappen:

Code: Select all

<!--LOGGED_IN_START//--> heyhey! Link zum Teasercontent<!--LOGGED_IN_END//-->
<!--LOGGED_OUT_START//--> oh-oh! Link zur Login-Seite<!--LOGGED_OUT_END//-->

Code: Select all

<!--LOGGED_OUT_START//-->
<a href="index.php?customer-information">Customer Information</a>
<!--LOGGED_OUT_END//-->
<!--LOGGED_IN_START//-->
<a href="{URL}"{URL_TARGET}>[URL_TEXT]{URL_TEXT}[/URL_TEXT][URL_TEXT_ELSE]more...[/URL_TEXT_ELSE]</a>
<!--LOGGED_IN_END//-->
Ich habe es mit deinem Vorschlag umgesetzt und die Bedingung über logged in und logged out im Template gesetzt.
Funktioniert wunderbar. Danke Claus. Das war der richtige Tipp. :D
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: [SOLVED] Sprungbefehl für nicht eingeloggte Nutzer

Post by update »

Na prima :)
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Post Reply