Ankündigung

Einklappen
Keine Ankündigung bisher.

Einfaches login ohne Sessions mit Datenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Einfaches login ohne Sessions mit Datenbank

    Hallo,

    ich möchte ein einfaches login Skript programmieren, das ohne Sessions arbeitet - da man für Sessions einige Einstellungen vornehmen muss usw.

    PHP-Code:
    $verbindung mysql_connect($host$username$passwort);
         
         if(
    $verbindung){
           echo 
    'Verbindung aufgebaut';
           
    $ergebnis mysql_select_db($datenbank$verbindung);
           echo 
    'Datenbank ausgewählt';
           
    $sqlselect "SELECT benutzername, passwort FROM werte";
           echo 
    'Datensätze auswählen';
           
    $ergebnis mysql_query($sqlselect$verbindung);
           echo 
    'Datensätze ausgeben';
           
    $row mysql_fetch_row($ergebnis);
           echo 
    'Werte: ' $row[0];
           echo 
    'Werte: ' $row[1];
           
           if((
    $benutzername == $row[0]) && ($pass == $row[1])){
             echo 
    '<p>Sie haben sich erfolgreich angemeldet.</p>';
             echo 
    '<a href="willkommen.html">Willkommen</a>';
            } 
            else{
              die(
    "Fehler bei Verbindungsaufbau");
            }      
           
           
           
         }
         else{
           echo 
    'Fehler beim Anmelden: ' mysql_errno() . mysql_error();
           die(
    "Fehler bei Verbindungsaufbau");
           } 
    Die Daten stehen in einer Datenbank. Das einlesen der Daten in die Datenbank funktioniert soweit - habe diese probehalber ausgeben lassen.

    Mein Ziel ist einfach, den Namen und das Passwort aus der Datenbank zu lesen und dann mit der Eingabe zu vergleichen.


  • #2
    Das Problem ist einfach, dass wenn du ohne Sessions arbeitest, musst du irgendwo mitspeichern, dass der Benutzer eingeloggt ist.
    Ansonsten müsstest du bei jedem Seitenaufruf den Benutzer neu authenthifizieren.
    Sessions sollten eigentlich auf allen Webserver ohne Probleme laufen...
    Probier mal ganz oben im Skript ein session_start() direkt nach <?php hizuzufügen.
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      Hallo,

      ich wollte das Skript eigentlich ohne Sessions machen - z. B. für den Fall des User im Client Sessions deaktiviert hat oder serverseitig keine unterstützt werden.

      Der Aufruf von session_start() usw. wäre dann das geringste Problem.

      Kommentar


      • #4
        Hast du eigentlich auch eine Frage oder wolltest du uns dein Vorhaben nur mitteilen?

        Das Problem ohne Session hat dir paul ja schon mitgeteilt. Eine Alternative wäre noch HTTP-Authentifizierung über den Apachen (.htaccess).
        Und ein Client kann höchstens Cookies deaktivieren, dann könnte immer noch ein Fallback über use_trans_sid greifen. Ist dir schonmal eine PHP-Webspace untergekommen, der keine Sessions unterstützt?

        Kommentar


        • #5
          Zitat von aschunk Beitrag anzeigen
          da man für Sessions einige Einstellungen vornehmen muss usw.
          Sehe ich nicht so. session_start() aufrufen und im $_SESSION-Array deine Daten ablegen, das wars. Das ganze nachzuprogrammieren ist Unsinn, da viel komplizierter, fehleranfälliger und letztlich musst du den "Identifier" auch durchreichen, ob per $_GET oder im Cookie. Und genau das machen die Sessions in PHP ja auch. Hast damit also nichts gewonnen.
          "Mein Name ist Lohse, ich kaufe hier ein."

          Kommentar

          Lädt...
          X