Thomas: Login-Variablen sollen Website-übergreifend erhalten bleiben

Hallo,

für meinen Job an der Uni habe ich eine MySQL-Datenbank erstellt, die mit PHP-Websiten verwaltet wird. Damit nicht jeder in der Datenbank rumpfuschen kann, erstelle ich eine "Login"-Seite, in der man den Benutzernamen und das Kennwort eingibt. Das mache ich per <form> und die Eingaben per <input>, beim Klicken auf den submit-Button wird das Ganze an die Hauptseite abgeschickt.

Damit das gemäß dem neuen PHP funktioniert, greife ich dort auf den Benutzernamen und das Kennwort per

$_POST['benutzername']
$_POST['kennwort']

zurück.

Nun möchte ich aber, daß die Werte dieser Variablen erhalten bleiben, auch wenn ich nun zu weiteren Seiten der Datenbank-Verwaltung und zurück wechsele, weil ich die Variablen immer wieder zum erneuten Zugriff auf die Datenbank benötige. Bisher gehen sie aber verloren, wenn ich auf eine andere Seite und wieder zurück gehe.

Wie mache ich das?
Hat das etwas mit "globalen Variablen" zu tun?

Danke für eure Hilfe,

Thomas

  1. Hallo Thomas,

    Nun möchte ich aber, daß die Werte dieser Variablen erhalten bleiben, auch wenn ich nun zu weiteren Seiten der Datenbank-Verwaltung und zurück wechsele

    Dann musst du sie zwischenspeichern. Empfehlenswert dafür wären Sessions
    -> FAQ:
       29. Sessions
       http://www.dclp-faq.de/ch/ch-version4_session.html
    -> Manual:
       http://www.php3.de/session/
    -> [lik:/archiv/]
    Alternativ kannst du auch, sofern du die Möglichkeit dazu hast, die Dateien
    alle in ein Verzeichnis packen und dieses mittels .htaccess schützen
    -> SelfHTML-Feature-Artikel

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. OK Du warst schneller;-)
      mfg
      Thomas

      1. Hallo Thomas und hallo David,

        danke für eure Vorschläge, die ja wirklich in die richtige Richtung weisen müssen, wenn ihr beide auf die gleichen Ideen gekommen seid! ;-))

        Da habe ich jetzt zwei gute Ausgangspunkte, mit denen ich weitermachen kann.

        Danke + Gruß

        Thomas

        1. hallo,
          gibt es eine möglichkeit, ein passwort mit PHP für apache-server unter unix zu verschlüsseln?

          vielen dank,
          andre

          1. Hallo Andreas,

            passwort mit PHP für apache-server unter unix zu verschlüsseln?

            Was meinst du damit? Was für ein Passwort und wofür ist dieses?

            Grüße
              David

            --
            >>Nobody will ever need more than 640k RAM!<<
            1981 Bill Gates
            1. passwort mit PHP für apache-server unter unix zu verschlüsseln?

              unter unix wird das password für die .htaccess mit crypt() verschlüsselt, unter windows gibt es dazu in apache/bin eine htpasswd.exe
              siehe auch: http://www.krizleebear.de/phpaccess/dynamisch/

              1. PS:
                in foren wird üblicherweise md5 verwendet und das eingegebene password dann ebenfalls mit md5 verschlüsselt, um es vergleichen zu können. dafür gibt es auch eine funktion in php (rtfm) ;-)

  2. Hallo (ebenfalls) Thomas,

    Nun möchte ich aber, daß die Werte dieser Variablen erhalten bleiben, auch wenn ich nun zu weiteren Seiten der Datenbank-Verwaltung und zurück wechsele, weil ich die Variablen immer wieder zum erneuten Zugriff auf die Datenbank benötige. Bisher gehen sie aber verloren, wenn ich auf eine andere Seite und wieder zurück gehe.
    Hat das etwas mit "globalen Variablen" zu tun?

    Nein, was Dir vorschwebt, hat eher was mit "Sessions" zu tun.
    Dazu gibt es ein extra Kapitel in der Doku;-)

    Eine andere (IMHO bessere) Loesung waere, die ganzen Administrations-
    Seiten in einem extra Verzeichnis zu haben und dieses mit
    einer .htaccess-Datei zu schuetzen.

    Kommt halt darauf an, wie viele Benutzer/Kennwort-Kombinationen
    es gibt, wo diese gespeichert sind, wie oft es Mutationen gibt...

    Gruesse,

    Thomas