Page 1 of 1

[SOLVED] Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 11:06
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?

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 11:21
by Old Boy
Das reizt nur "ungewollte" Besucher... den "CODE zu knacken" ... meine Meinung :wink:

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 11:33
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.

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 11:52
by Old Boy
Wenn das dein Ziel ist... dann ermögliche doch die FE-Anmeldung gleich auf der Homepage :D

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 12:02
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:

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 20:48
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.

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Mon 2. Feb 2015, 21:16
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//-->

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Tue 3. Feb 2015, 09:57
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 ;)

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Tue 3. Feb 2015, 12:20
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'];
}

 
?>

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Tue 3. Feb 2015, 17:58
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 )

Re: Sprungbefehl für nicht eingeloggte Nutzer

Posted: Fri 27. Feb 2015, 11:53
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

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

Posted: Fri 27. Feb 2015, 12:31
by update
Na prima :)