Antworten auf deine Fragen:
Neues Thema erstellen

Aufbau PHP Logins

Colincolin

Nicht mehr ganz neu hier

Guten Morgen

Bei dieser Frage handelt es sich bei mir eher um eine "Wie soll ich es angehen" Frage als einer Frage zum PHP.

Ich möchte für meine Klasse nun eine Webpage machen damit wir alle unsere Noten Online erfassen können. (Daher braucht ich das Login)

Website ist so aufgebaut:

Header.php:

  • Functions include
  • db conecct
  • login überprüfung(benutzer in db vorhanden? pw korrekt? wenn ja wird session generiert.)
  • HTML Layout
  • Login Formular
  • Div "Main Container" wird geöffnet. (In dem befindet sich dan der website inhalt bsp. welcome.php)
  • Danach kommt die überprüfung ob der User sich ausgelogd hat
  • überprüfung ob session korrekt ist und ob er über das login formular gekommen ist.
Momentan muss ich das ganze so lösen.... wenn die auth. zutrifft muss ich die variable "login" auf true setzen.

welcome.php:

abfrage ob login = true
webpage inhalt wird aufgerufen

footer.php

wenn das login = false ist kommt die meldung das man nicht angemeldet ist.

klammern die zugehen


Nun... dies ist der grobe aufbau.

Eigentlich wollte ich das so lösen das wenn in der Auth. alles zutrifft das die webpage in einem "IF" augerufen wird. da der header aber includet wird, dies ist aber nicht möglich.


Weiss einer von euch wie ich das ganze am Besten aufbau?

Anforderung: Man soll sich auf jeder beliebigen Unterseite (welcome.php, noten_eingabe.php etc) einloggen können.

Das Login ist darum ja am gescheitesten im header.

könnt ihr mir tips geben wegen der auth.?`wo die hin soll?

muss die auth dann eifach auf jede unter seite? ich möchte mir das leben so vereinfachen das ich locker ein paar weitere seiten dazu machen kann ohne groos noch sachen zu schauen wegen auth. etc

gruss Colin..

PS: ist vlt. bischen verwirrend:D
 

AW: Aufbau PHP Logins

Vorweg:
Wird die Seite mit einer DB erstellt?
Wenn ja, dann kannst du das Inkludieren der einzelnen Seiteninhalte vorher auf die Berechtigung überprüfen und mit Hilfe von if/else dann entscheiden, ob der Inhalt oder eine Fehlermeldung (wenn man nicht angemeldet ist) dargestellt werden soll.
So sparst du dann auch viel Schreibarbeit und brauchst lediglich die If-Clauses mit den Variablen, die die DB liefert, angeben und so die Seiteninhalte dynamisch ausgeben.

Und die Authentifizierung würde ich in den Header packen, da dann bei jedem Aufruf der Seite (egal welche Unterseite), zuerst im Header überprüft wird, ob der User berechtigt ist die Seite zu sehen.

Genauso würde ich das mit der Session machen und prüfen ob die Session noch/schon existiert, bevor die Seite aufgebaut wird.


Was ich ein bisschen verwirrend finde:
Was meinst du mit Header nun genau?
Ist der Header bei dir der Kopf der Seite, der sichtbar ist und wo sich die Navigation und der Login-Formular befindet? Oder ist der Header wirklich der <head>-Bereich, indem die Meta- und sonstige Angaben verarbeitet werden?

Wenn ersteres zutrifft, dann ist es ja ganz einfach. Den Header mit dem Login-Formular kannst du ja statisch so belassen (und evtl bei einem erfolgreichen Login nur entsprechend der hinzukommenden Seiten anpassen) und den Inhaltsbereich wie schon oben beschrieben auszutauschen.
 

Colincolin

Nicht mehr ganz neu hier

AW: Aufbau PHP Logins

Vielen Dank für die rasche Antwort.

Ja das ganze basiert auf einer Mysql Datenabank.

Mit header meine ich das Header.php (meine Kopfzeile, in der sich das design etc befindet.)

aber wie meinst du das mti den Berechtigungen?

Ich habe momentan ein If wenn das ausgegeben wird wenn man sich Erfolgreich eingelogd hat. (da soll der Seiteninhalt ausgegeben werden.)
da das if im Header.php beginnt und erst wieder im footer.php zugeht funktioniert das ganze nicht. Wie soll ich das lösen?

Gruss Colin
 
AW: Aufbau PHP Logins

Mit Berechtigung meine ich, dass du die eingegebenen Daten, also Benutzername und Passwort (das aber verschlüsselt), mit den Daten aus der DB vergleichst. Und wenn sie übereinstimmen, dann erhält der Benutzer Zugriff auf die Noten. Mehr ist nicht gemeint. ^^

Kannst du vielleicht etwas Code zeigen, damit man das nachvollziehen kann? ^^
 

Colincolin

Nicht mehr ganz neu hier

AW: Aufbau PHP Logins

dies befindet sich im Header.php

Code:
// überprüft ob die variable name = logout ist, wenn ja logt sich der benutzer aus
if($_GET['name'] == 'logout')
{
    
        $valid_user = $_SESSION['valid_user'];
        session_destroy();
        unset($_SESSION['valid_user']);
        unset($_SESSION['checking']);
        mysql_query("UPDATE tbl_user SET USE_zuzahl = '0' WHERE USE_benutzername = '$valid_user'");
        unset ($valid_user);
            if (empty($_SESSION['valid_user']) and empty($_SESSION['checking'])) 
            {
                
                echo 'Sie haben sich abgemeldet.<br>';
            }
}
//überprüfung ob sich der User über das Login angemeldet hat und ob die Session gültig sind
elseif(isset($_SESSION['valid_user'], $_SESSION['checking']))
    {        
        $valid_user = $_SESSION['valid_user'];
        $checking1 = mysql_query("SELECT USE_zuzahl FROM tbl_user WHERE USE_benutzername = '$valid_user'");
        while($row = mysql_fetch_array($checking1))
            {
                $checking2 = $row[0];
            }
        if( $_SESSION['checking'] = $checking2)
        {
//eingelogder bereich Anfang

            $logged_in = true;
            echo "login right";
            echo $_SESSION['checking'];
            echo $valid_user;
            echo "<p>";
            echo "<a href='$file?name=logout'>Logout</a>";
        }
    }


zuerst habe ich die if erst im footer geschlosse, aber das geht nicht da If's nicht über includes hinaus können :S

wie soll ich das nun mit den folgenden seiten machen?
 
C

circusspider

Guest

AW: Aufbau PHP Logins

Kleiner Tip:
Es gibt diverse vorgefertigte Login Scripts. Würde vielleicht zuerst so mal schauen bevor Du Dich an das selber Programmieren machst.
 

Colincolin

Nicht mehr ganz neu hier

AW: Aufbau PHP Logins

Eigentlich will ich nicht etwas Fertiges nehmen weil ich 1. Das ganze verstehen will 2. Etwas dabei lernen will. Der Login Funktioniert auch Prima... nur ich Frage wie ich den Aufbau mit Includes und den verschiedenen Seiten machen soll.
 
AW: Aufbau PHP Logins

Du kannst es folgendermaßen machen (also SEHR vereinfacht):

Du legst eine Struktur deines Menüs/der Seiten in der DB in einer separaten Tabelle ab.
Bspw. mit id, data.

Dann trägst du in die DB ein:

ID --> 0 (auto_increment)
DATA --> home.inc.php

ID --> 1 (auto_increment)
DATA --> user_area.inc.php

Und das machst du für jeden Inhalt deiner Seite.


Jetzt fügst du in den Head-Bereich folgendes ein:

PHP:
if($logged_in == true)
{
  $id = 1;
}
else
{
  $id = 0;
}
 
$sql = "SELECT data FROM menu WHERE id = '$id'";
$query = mysql_query($query);
$data = mysql_fetch_row($query);

In den DIV, wo der Inhalt rein soll, kommt folgendes rein:

PHP:
<?php
if(file_exists($datei) and $datei!="") 
{
    include('"'.$datei.'"');
} 
else
{
    echo 'Datei nicht vorhanden';
}
?>

So wird dann im Inhaltsbereich überprüft, ob die Datei überhaupt exisitert. Und wenn ja, dann wird sie eingefügt.


Wenn der User erfolgreich eingeloggt ist wird der ID der Wert 1 übergeben. Dann wird oben im Head der Dateiname mit der ID 1 aus der DB gelesen.
Anschließend wird dann $datei unten im Inhaltsbereich eingefügt und somit dann die entsprechende Datei eingefügt/inkludiert.

Das ist jetzt sehr grob dargestellt. Aber als Denkanstoß sollte es helfen. :)
 
Zuletzt bearbeitet:

Colincolin

Nicht mehr ganz neu hier

AW: Aufbau PHP Logins

jaaaa das hilft mir schon mal weiter :D

Vielen Dank

Empfihlst du das mit der Datenbank? hast mich grad noch auf eine andere Idee gebracht ohne die einzelnen Seiten in die DB zu tun, oder hat man so noch eine Sicherheit?

Gruss
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben