Logo - MyWebsolution.de
User gesamt  :  2317027
User online  :  1
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Workshops » Loginsystem: Logout wie auf allen Seiten an anderer Position anzeigen?

Seite: 1 Posts pro Seite: 5 10 20
Autor Thread
06.05.2011 14:10 Uhr Loginsystem: Logout wie auf allen Seiten an anderer Position anzeigen?
neoman
User
 
registriert 06.05.2011
wohnt in
Beiträge 7
Hallo,

habe mir das Loginsystem angeschaut, finde ich sehr gut gemacht. Bin PHP-Anfänger :eek:

Also, habe mir eine Webseite gebaut, wo es eine Navigation auf der linken Seite gibt. Dort gibt es einen Menüpunkt "Login". Wenn ich dort klicke, erscheint im Inhaltsbereich der Webseite das Loginformular. Einloggen kann ich mich. Soweit sogut.

Nun möchte ich, das wenn ich mich ein geloggt habe, erstmal das Loginformular nicht mehr erscheint. Außerdem soll wenn ich eingeloggt bin, auf der linken Seite unter dem Menu stehen, "Sie sind eingeloggt" und dort soll der Logoutbutton sein.

Ich weiß nun nicht wie ich das trenne und auf anderen Positionen auf der Webseite darstellen kann. Im Workshop ist dies alles in einer Datei.

Hoffe Ihr wisst was ich meine.

Viele Dank für Eure Mühe...
Profil ansehen
08.05.2011 08:26 Uhr
splasch
Forenposter
 
registriert 21.04.2008
wohnt in
Beiträge 67
Für die Darstellung verwendest du am besten ein kleines Templatesystem. Später dann entuell das Kohana Framework.
Nach dem Login leitest du auf deine Internen Seiten weiter somit auf eine Interne php datei.
Über die Session kannst du den zustand des User feststellen eingelogt oder nicht. Je nach dem weißt du auch welche Text und Inhalt ausgeben werden soll.

Das Templatesystem trennt den Ausgabeteil (View) vom Programmteil so das du dort dich rein um das Aussehen der Seiten kümmern kannst. Im Programmteil steht die Programmierlogig die entscheidet was getan werden soll bei jeder Aktion.

Mfg Splasch
Profil ansehen
08.05.2011 12:15 Uhr
neoman
User
 
registriert 06.05.2011
wohnt in
Beiträge 7
Vielen Dank für deine Antwort splasch!

Ok, habe ein CSS Framework für den Aufbau der Webseite genommen. Das ist mir auch soweit klar wies funktioniert. Mir ging es mehr um das PHP-Loginsystem, wo ich meine Schwierigkeiten habe.

Ok, wenn sich ein User eingeloggt hat, leite ich auf einer anderen Seite weiter. Wenn ich nun aber wieder auf den Link klicke, wo sich das Loginformular befindet, wird dies wieder genauso angezeigt, als wäre ich nicht eingeloggt. Wenn ich mich auf einen Seite im Web umschaue, wo man einen internen Bereich hat funktioniert das ja wie folgt:

Ich melde mich an, bin eingeloggt und man sieht nicht mehr das Loginformular, sondern z.B. einen Logoutbutton. Erst wenn man sich wieder ausgeloggt hat, sieht man wieder das Loginformular. Ich hoffe du weißt wie ich das meine... xD

Bin halt noch dabei, mich in PHP einzuarbeiten. Finde das Loginsystem, was hier vorgestellt wird sehr gut beschieben, habe aber meine Schwierigkeiten dies nach meinen Anforderungen "umzubauen".


MfG neoman
Profil ansehen
12.05.2011 15:57 Uhr
neoman
User
 
registriert 06.05.2011
wohnt in
Beiträge 7
Niemand eine Idee?

Dann stell ich die Frage anders.

Auf der Loginseite, bei mir die index.php, benutze ich das Loginformular. Wenn ich nun meine Benutzerdaten eingebe, bin ich eingeloggt. Wenn ich mich nun auslogge, komme ich wieder einen Schritt zurück, wenn ich im Browser auf den Backbutton klicke.

Dies liegt daran, das ich die index.php nicht durch

Code:
if(isset($_SESSION['userid']))
{
   // interner Bereich
}
else
{
   // ansonsten wieder zurück zum Loginformular, in meinen Fall die index.php
   header("Location: index.php");
}


Wenn ich dies so mache, kommt logischerweise ein Umleitungfehler, da die Seite beim Aufruf immer auf sich selbst umleitet.


Wie kann ich dieses Problem lösen???


MfG neoman
Profil ansehen
13.05.2011 08:40 Uhr
splasch
Forenposter
 
registriert 21.04.2008
wohnt in
Beiträge 67
Das ist kein Problem was du sieht ist was der Browser selbst cached. Mehr nicht. Strg + F5 sollte die Seite neu Laden. Je nach Browser.
Profil ansehen
13.05.2011 15:39 Uhr
neoman
User
 
registriert 06.05.2011
wohnt in
Beiträge 7
Ok danke, hab es nun hinbekommen. Nun geht es voran.

Aber eine Frage hätte ich doch noch und stelle Sie gleich hier, damit ich keinen neuen Thread aufmachen muss.

Und zwar ist es möglich, wenn ja wie, das wenn ich mich als normaler Benutzer einlogge, soll dieser einen anderen Bereich sehen als wenn sich der Admin einloggt. Der Admin soll gleich auf den Adminbereich kommen und ein normaler Benutzer soll einen anderen Bereich sehen. Dies soll aber gleich automatisch geschehen, nach dem einloggen.

Wie würde die Abfrage lauten und wo muss ich diese einbauen?

Vielen Dank nochmal für deine Hilfe.

MfG neoman
Profil ansehen
14.05.2011 19:02 Uhr
splasch
Forenposter
 
registriert 21.04.2008
wohnt in
Beiträge 67
Ja ist möglich. Wie jemanden dafür beauftragen :D
Es ist ganz einfach du brauchst einfach je nach User auf eine andere Datei umleiten.
Oder du verwendest eine ACL die ermöglicht das verwalten von vielen Useren.

Im normalfall vergibst du den User eine Rolle oder Gruppe. Anhand dieser wird dann entschieden was er sehen kann und tun kann.

Mfg Splasch

Dieser Beitrag wurde am 14.05.2011 um 19:02:55 Uhr von splasch zum 2. Mal editiert.
Profil ansehen
14.05.2011 19:23 Uhr
neoman
User
 
registriert 06.05.2011
wohnt in
Beiträge 7
Ok, hättest du auch ein Stück Code für mich wie die Abfrage aussehen könnte??? :D :laugh:
Profil ansehen
19.05.2011 09:16 Uhr RE:
splasch
Forenposter
 
registriert 21.04.2008
wohnt in
Beiträge 67
Zitat:
neoman
Ok, hättest du auch ein Stück Code für mich wie die Abfrage aussehen könnte??? :D :laugh:


Von mir aus bitte hier:

PHP:
<?
// Install Acl Liste
     
protected function _authenticate($section null)
      {        
        
$this->a2 a2::instance('page-acl');
        
$this->a1 $this->a2->a1;

        
$req Request::current();
        
$section $this->_name $section '_' null;
        
$this->_name .= $req->controller();
        
$this->_action $req->action();

        
$this->user $this->a2->get_user();        
        if(!
$this->a2->allowed($this->_name,$this->_action))
        {
            
$this->request->redirect('denied');        
        }
      }


Mfg Splasch

Dieser Beitrag wurde am 19.05.2011 um 09:21:40 Uhr von splasch zum 1. Mal editiert.
Profil ansehen
22.12.2011 03:03 Uhr
daxili
Forenposter
 
registriert 21.12.2011
wohnt in
Beiträge 50
“perceives” much more potential gains). When choice building optimizing (effect of learning) requires place, much less losses are required to transform an individual’s maladaptive perform and much less gains are required to reinforce/maintain adaptive behavior.moncler boots
moncler jackets men
moncler jackets women
moncler vest men
moncler vest women
moncler accessories
Profil ansehen
Seite: 1 no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik