[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
NEU: Addon TVSFEUser - Frontend-User-Login - Seite 4 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

14. Jun 2013, 09:00

Hi :)

Ja das nervt mich selbst gerade sehr :-D

Ich schau mir das an ;)

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

14. Jun 2013, 13:26

Hi,

teste doch mal bitte folgendes Login-Modul:

Code: Alles auswählen

<?php
   
	global $REX;
	$thispage		= "tvsfeuser";
	$areaname		= "feuser";
	$table_pre		= $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid'][$thispage];
	$user_table		= $table_pre . "_user";
	$tvsfe_error	= "";

	if (!isset ($_SESSION)) {
		session_start();
	}			

	// Auslesen von Benutzern und Passworten
	$users = array();
	$sql = new rex_sql();
	$sql->setQuery("SELECT * FROM " . $user_table);
	if ($sql->getRows() > 0 ) {
		for ($i = 1; $i <= $sql->getRows(); $i++) {
			$users[$sql->getValue('login')]['psw'] = $sql->getValue('psw');
			$users[$sql->getValue('login')]['rights'] = $sql->getValue('rights');
			$users[$sql->getValue('login')]['status'] = $sql->getValue('status');
			$sql->next();         
		}
	}

	if (rex_post('username', 'string', '') != "" && rex_post('userpw', 'string', '') == $users[rex_post('username', 'string', '')]['psw']) {
		$userrights_array = explode(",", $users[rex_post('username', 'string', '')]['rights']);
		if ($users[rex_post('username', 'string', '')]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['user']   = rex_post('username', 'string', '');
				$_SESSION[$thispage][$areaname]['rights'] = $users[rex_post('username', 'string', '')]['rights'];
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				unset($_SESSION[$thispage][$areaname]);
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
			unset($_SESSION[$thispage][$areaname]);
			$tvsfe_error = "Benutzerzugriff verweigert!";
		}
	} else {
		$userrights_array = explode(",", $users[$_SESSION[$thispage][$areaname]['user']]['rights']);
		if ($users[$_SESSION[$thispage][$areaname]['user']]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				$_SESSION[$thispage][$areaname]['access'] = "no";
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
				$tvsfe_error = "Benutzerzugriff verweigert!";
		}
	}

	// Frontend?
	if($REX['REDAXO'] != 1) {
		$loginmessage = "Bitte melden Sie sich an!";
		$username = "Benutzername:";
		$password = "Passwort:";
		$buttonlabel = "Anmelden";
		
		// Benutzer nicht angemeldet? Dann Formular anzeigen!
		if ($tvsfe_error != "")
			echo "<p>" . $tvsfe_error . "</p>";
		if(!isset($_SESSION[$thispage][$areaname]) or $_SESSION[$thispage][$areaname]['access'] != "yes") {
			echo "<div class=\"tvsfeuser_login\">";
			echo '<h4>' . $loginmessage . '</h4>
			<form name="loginform" method="post" action="">
			<label for="username">' . $username . '</label><br />
			<input type="text" size="40" name="username" /><br />
			<label for="userpw">' . $password . '</label><br />
			<input type="password" size="40" name="userpw" /><br />
			<input type="submit" name="buttonSubmit" id="buttonSubmit" value="' . $buttonlabel . '" />
			</form>';
			echo "</div>";
		}
		else {
			rex_redirect(rex_get('target_id', 'int', 0), $REX['CUR_CLANG']);
		}
	}

?>
Wenn's klappt dann bau ich das mal ins Addon ein ;-)

Gruß, Michael :)

sueshi
Beiträge: 96
Registriert: 6. Feb 2007, 13:37
Wohnort: Österreich

Re: NEU: Addon TVSFEUser - Frontend-User-Login

14. Jun 2013, 13:51

Die Meldung steht aber immer dort, nicht erst nach dem Betätigen des Buttons. Daran bin ich bisher auch immer gescheitert ...

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

14. Jun 2013, 13:55

Ups mist :-D

Ok, ich schaue ;-)

Gruß, Michael :)

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

14. Jun 2013, 18:15

So, jetzt sollte es klappen ;-)

Code: Alles auswählen

<?php
   
	global $REX;
	$thispage		= "tvsfeuser";
	$areaname		= "feuser";
	$table_pre		= $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid'][$thispage];
	$user_table		= $table_pre . "_user";
	$tvsfe_error	= "";

	if (!isset ($_SESSION)) {
		session_start();
	}			

	// Auslesen von Benutzern und Passworten
	$users = array();
	$sql = new rex_sql();
	$sql->setQuery("SELECT * FROM " . $user_table);
	if ($sql->getRows() > 0 ) {
		for ($i = 1; $i <= $sql->getRows(); $i++) {
			$users[$sql->getValue('login')]['psw'] = $sql->getValue('psw');
			$users[$sql->getValue('login')]['rights'] = $sql->getValue('rights');
			$users[$sql->getValue('login')]['status'] = $sql->getValue('status');
			$sql->next();         
		}
	}

	if (rex_post('username', 'string', '') != "" && rex_post('userpw', 'string', '') == $users[rex_post('username', 'string', '')]['psw']) {
		$userrights_array = explode(",", $users[rex_post('username', 'string', '')]['rights']);
		if ($users[rex_post('username', 'string', '')]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['user']   = rex_post('username', 'string', '');
				$_SESSION[$thispage][$areaname]['rights'] = $users[rex_post('username', 'string', '')]['rights'];
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				unset($_SESSION[$thispage][$areaname]);
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
			unset($_SESSION[$thispage][$areaname]);
			$tvsfe_error = "Benutzerzugriff verweigert!";
		}
	} else {
		$userrights_array = explode(",", $users[$_SESSION[$thispage][$areaname]['user']]['rights']);
		if ($users[$_SESSION[$thispage][$areaname]['user']]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				$_SESSION[$thispage][$areaname]['access'] = "no";
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
                if (rex_post('username', 'string', '') != "" && rex_post('username', 'string', '') != "")
                    $tvsfe_error = "Benutzerzugriff verweigert!";
		}
	}

	// Frontend?
	if($REX['REDAXO'] != 1) {
		$loginmessage = "Bitte melden Sie sich an!";
		$username = "Benutzername:";
		$password = "Passwort:";
		$buttonlabel = "Anmelden";
		
		// Benutzer nicht angemeldet? Dann Formular anzeigen!
		if ($tvsfe_error != "")
			echo "<p>" . $tvsfe_error . "</p>";
		if(!isset($_SESSION[$thispage][$areaname]) or $_SESSION[$thispage][$areaname]['access'] != "yes") {
			echo "<div class=\"tvsfeuser_login\">";
			echo '<h4>' . $loginmessage . '</h4>
			<form name="loginform" method="post" action="">
			<label for="username">' . $username . '</label><br />
			<input type="text" size="40" name="username" /><br />
			<label for="userpw">' . $password . '</label><br />
			<input type="password" size="40" name="userpw" /><br />
			<input type="submit" name="buttonSubmit" id="buttonSubmit" value="' . $buttonlabel . '" />
			</form>';
			echo "</div>";
		}
		else {
			rex_redirect(rex_get('target_id', 'int', 0), $REX['CUR_CLANG']);
		}
	}

?>
Gruß, Michael .-)

sueshi
Beiträge: 96
Registriert: 6. Feb 2007, 13:37
Wohnort: Österreich

Re: NEU: Addon TVSFEUser - Frontend-User-Login

17. Jun 2013, 09:20

Vielen Dank, das ist gleich viel besser!!! Sollte auch gleich in den Addon-Download rein ...

lg,su

Benutzeravatar
bugrogers
Beiträge: 9
Registriert: 27. Mär 2007, 12:52

Re: NEU: Addon TVSFEUser - Frontend-User-Login

18. Jun 2013, 12:39

Vielen Dank für das Super einfach zu verwendende Addon!

Ist es eigentlich möglich, daß man das Loginmodul auch irgendwie so verwenden kann, daß man sich auch direkt einloggen kann ohne vorher auf einen Link klicken zu müssen? Sprich die LoginMaske steht direkt auf der Startseite der Webseite und man gibt die Login-Daten ein und landet dann auf der entsprechend geschützten Seite? Danke für kurze Info - ob das überhaupt geht!

rogerhro
Beiträge: 2
Registriert: 18. Jun 2013, 13:02

Re: NEU: Addon TVSFEUser - Frontend-User-Login

18. Jun 2013, 13:06

Hallo Michi,

ich finde dein AddOn super.

Habe es bei mir installiert nur leider, wenn ich es aufrufen will kommt ein Fehler. Das er die Weiterleitung nicht macht, es ist sehr komisch, hoffe du kannst mir helfen???

Lg Roger

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

18. Jun 2013, 13:11

Mmmh, da muss ich mal Schaaaaaf drüber nachdenken, das bisherige Prinzip ist leider nicht immer ersichtlich ;)

Mal schauen :)

Gruß, Michael :-)

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

18. Jun 2013, 13:14

Hi Roger,


ööhm was macht er genau wenn Du wo hinklickst ? ;-)

Du musst auf jeden Fall eine separate Login-Seite mit dem beiliegenden Modul anlegen und beim Addon dies als Login-Seite angeben :-)

Gruß, Michael :-)

rogerhro
Beiträge: 2
Registriert: 18. Jun 2013, 13:02

Re: NEU: Addon TVSFEUser - Frontend-User-Login

18. Jun 2013, 13:26

Hey Michi,

nun ist der Fehler weg aber da kommt der Login nicht =/

Also modul ist drin aber wird nicht angezeigt.

Edit: fehler wieder da =/...ich werde gleich verrückt

Edit: Habe es hinbekommen =)

LG

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

20. Jun 2013, 08:04

Fein ;-)

Irgendwas was man evtl. noch berücksichtigen sollte damit sowas nicht vorkommt ? :)

Gruß, Michael :)

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

15. Aug 2013, 12:07

Hallo Michael,

gibt es Erfahrungen mit der Funktionalität des Addons unter REX 4.5?

Viele Grüße,
Sven

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

15. Aug 2013, 12:11

Hi Sven,

sollte eigentlich funktionieren ;-)

Habe es leider noch nicht im Einsatz bei einem 4.5-er Projekt aber aktiviert ist es und scheint zu laufen ;-)

Einfach mal testen ;-)

Gruß, Michael :

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

15. Aug 2013, 21:40

Hi Michael, danke für die schnelle Antwort.

Gut, das mit dem Testen hab' ich gemacht und es tut es, aber ...


... blöderweise tut es nicht genau das, was ich dachte dass es tut. Das Addon greift ja die geschützten Artikel ab und leitet auf die Loginseite weiter.
Ich wollte es jetzt so umarbeiten, dass, wenn man direkt auf der Loginseite ankommt und sich einloggt, dann auf die erste (weil bei mir einzige) Seite weitergeleitet wird. Derzeit passiert da ja nichts. Oder sollte da was passieren und es liegt an der Rex-Version?

Leider ist das Modul relativ schlecht kommentiert und ich blicke noch nicht zu 100% durch, aber ich denke ich muss, wenn keine Target-ID übergeben wurde, eine alternative ID für das rex_redirect geben können.

Der erste Schlag ging grad daneben. Hast Du ne fixe Idee? Du kennst Dein Skript besser.

syn
Beiträge: 66
Registriert: 27. Sep 2012, 18:51

Re: NEU: Addon TVSFEUser - Frontend-User-Login

27. Aug 2013, 11:52

svenalbert hat geschrieben: ... blöderweise tut es nicht genau das, was ich dachte dass es tut. Das Addon greift ja die geschützten Artikel ab und leitet auf die Loginseite weiter.
Ich wollte es jetzt so umarbeiten, dass, wenn man direkt auf der Loginseite ankommt und sich einloggt, dann auf die erste (weil bei mir einzige) Seite weitergeleitet wird. Derzeit passiert da ja nichts. Oder sollte da was passieren und es liegt an der Rex-Version?
ich habe gerade genau das selbe problem unter 4.5!
das wäre super wenn das geht oder gefixt wird.

und noch eine frage zum schluss. ist geplant benutzer gruppen einzubinden? wäre top!

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

28. Aug 2013, 07:52

hi :)

Na kein Problem, Sven hat sich des Problems angenommen und es war eigentlich nur eine kleine Änderung im Ausgabemodul notwendig, ist in der kommenden Version berücksichtigt, ich schaue mal das ich das nächste Woche zusammenpacke ;-)

Gruß, Michael :)

steffen
Beiträge: 1
Registriert: 10. Sep 2013, 21:20

Re: NEU: Addon TVSFEUser - Frontend-User-Login

10. Sep 2013, 21:23

Gibt es hier schon etwas Neues? Ich habe eine 4.5 Installation und bekomme tvsfeuser nicht zum Laufen. Falls es relevant ist: Ich nutze full url rewriting.

Mir würde auch ein konkreter Hinweis, was ich ändern muss, reichen.

Danke für eure Arbeit
Steffen

Benutzeravatar
karlnappmitdenasskap
Beiträge: 116
Registriert: 18. Aug 2012, 20:30
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

29. Nov 2013, 16:30

Hallo,

ich habe TVSFEUser 0.7 jetzt mal testweise installiert auf REX 4.4.1 mit RexSEO.

Ist ja nicht allzuschwierig:
- AddOn installiert u. kativiert
- Login- u. Logout-Modul angelegt
- extra neue Kategorie als Geschützten Bereich angelegt
- Kategorie z. Login angelegt
- Module dort entsprechend eingebunden
- dann im AddOn Kategorie Geschützter Bereich markiert u. Login auf entsprechenden Artikel gelegt, - - - dann Benutzer angelegt u. Rechte für Geschützter Bereich vergeben.

Dann mal vorsorglich Cache gelöscht... :D

Einloggen kann ich mich jetzt wunderbar. Wenn ich allerdings auf den Logout-Button klicke, werde ich nicht ausgeloggt.
In der "tvsfeuser.ini" sind d. Arikel für d. Geschützten Bereich u. Login richtig gespeichert.
Es hängt irgendwo in der Ausgabe d. Logout-Moduls.
Ich habe deshalb dort mal testweise die ganzen IF-Abfragen rausgenommen, sodass direkt "unset($_SESSION[$thispage][$areaname]);" ausgeführt wird.
Logische Konsequenz: Wenn man in der Navigation auf den Geschützten Bereich klickt, in dem dieses Logout-Modul eingefügt ist, wird man direkt ausgeloggt - das klappt. :P
Es hakt also irgendwo bei der Kontrolle der Session vorher...denke ich. :oops:

Woran könnte das liegen?

Benutzeravatar
VX500
Beiträge: 14
Registriert: 13. Dez 2012, 02:15
Wohnort: Bremen

Re: NEU: Addon TVSFEUser - Frontend-User-Login

16. Feb 2014, 02:25

Hallo,

kann man irgendwie mit einer SQL-Abfrage aus der Tabelle 784_user den Benutzernamen (name oder ggf. login) auslesen und im eingeloggten Zustand auf der Website anzeigen?

So dass man als Frontenduser sieht, mit welchem Benutzernamen man gerade eingeloggt ist.

Grüße
Sascha

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

17. Feb 2014, 10:23

Hi,

ganz einfach kannst Du schon mal den eingeloggten User auslesen, der steht ja in der Session-Variable:

Code: Alles auswählen

$_SESSION['tvsfeuser']['feuser']['user']
Gruß, Michael :-)

Benutzeravatar
VX500
Beiträge: 14
Registriert: 13. Dez 2012, 02:15
Wohnort: Bremen

Re: NEU: Addon TVSFEUser - Frontend-User-Login

27. Feb 2014, 02:00

Hallo Michael,

danke für Deinen Tipp mit der $session! Funktioniert super.

Viele Grüße,
Sascha

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: NEU: Addon TVSFEUser - Frontend-User-Login

4. Mär 2014, 17:50

na hgi und danke fuer das addon - benutze rex 4.5 und es laeuft gut. ich suche seit einer weile den ansatz von svenalbert umzusetzen, soll heissen, ich versuche gerade den ersten geschuetzten bereich eines users anzuspringen, wenn target_id = 0:
ziemlich am ende des login-moduls wollte ich die target_id abfragen, denn wenn ich mich auf der login-seite anmelde, kommt einfach nur wieder die seite ansich.
ich habe für

Code: Alles auswählen

rex_redirect(rex_get('target_id', 'int', 0), $REX['CUR_CLANG']);
das versucht:

Code: Alles auswählen

			$targett = rex_get('target_id', 'int', 0);

			if ($targett != '0') {rex_redirect($targett, $REX['CUR_CLANG']);}
			else {echo '<script type="text/javascript">alert("kein target gesetzt")</script>';}
aber leider haut das nicht hin - denn wenn das javascript ausgegeben werden wuerde, koennte ich hier ich hier dem nutzer entsprechend den ersten [rights] als target geben... bei der ausgabe von rex_get('target_id', 'int', 0) wird aber immer '0' ausgegeben...

hat einer nen ansatz? wars verstaendlich? ben

meugel
Beiträge: 38
Registriert: 9. Nov 2010, 21:12
Wohnort: suedtirol + wien
Kontaktdaten: Website

Re: NEU: Addon TVSFEUser - Frontend-User-Login

4. Mai 2015, 11:15

Hallo,

hat jemand schon versucht, das AddOn in Verbindung mit SEO42 zu laufen zu bringen?
Redaxo 4.6.1
PHP 5.5.24
MySQL 5.1.51
LG Meugel

Popkultur
Beiträge: 82
Registriert: 1. Apr 2014, 19:55

Re: NEU: Addon TVSFEUser - Frontend-User-Login

8. Mai 2015, 13:22

Hi,

Ich versuche RexSearch anzupassen, so dass in geschützten Bereich andere Suchergebnisse auftauchen mit dem Hinweis "Sie suchen im geschützten Bereich".

Dazu muss ich wohl feststellen, ob der Besucher eingeloggt ist, sowie ob er die erforderlichen Rechte hat für jedes Einzel-suchergebnis dass es angezeigt wird (Sonst landet er ja auf der Loginseite).

Wie gehe ich da ran?

PS: Ja, bei mir läuft es mit SEO42, aber ich war es nicht, der das eingebaut hat.

Zurück zu „Allgemeines [R4]“