Hammer-Problem... Ist es überhaupt machbar...

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

  • #16
    Wenn Du MySQL zur Verfügung hast würd ich eine Spalte session_id dazugeben in der Tabelle mit den Usern. Wenn sich ein User anmeldet wird SEINE session id in der DB gespeichert. In jedem Link wird die user_id und die session_id mitgesendet. Wenn der Benutzer angemeldet ist dann muss die session_id aus der DB mit der des Browsers übereinstimmen. So in etwa könnte ein Login System aussehen, aber da hat, soweit ich weiss, mrhappiness schon darüber geschrieben.

    Hier der Beitrag:
    http://php-resource.de/forum/showthr...threadid=16212
    [font=tahoma]
    Agentursoftware
    Zend Framework Resource
    FM4 Sammelalbum


    "The most important part of the work is the beginning" - Plato
    "..so dance while you still have feet and smile while you still have teeth.." - Caesars[/font]

    Kommentar


    • #17
      musst im prinzip gar nix mitsenden

      die session-id sendet der browser automatisch, entweder über ein cookie oder über nen link, falls cookies deaktiviert sind

      und die userid brauchst du nicht, da du ja bereits die session-id hast um einen user eindeutig zu identifizieren
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        Also... ich habe es nun versucht... aber ich bekomme einen an der Klatsche.
        Ich habe mir das Turorial durchgelesen, wie man einen Loginbereich schreibt, aber irgendwie klappt es mit meiner Technik nicht.
        Hier schreibe ich nun den KOMPLETTEN Code. Evtl. könnt Ihr mir ja sagen wo ich den Fehler gemacht habe. Vielen Dank !

        ################functions.php##############
        PHP-Code:
        <?php

        class DB{
             var 
        $query "";
             var 
        $result = array();
             var 
        $link "";
        //===============================================================
             
        function ConnectDB($host "localhost",$user "******",$pwd "*******",$db "********"){

                 
        $this->link mysql_connect($host,$user,$pwd);

                 if (
        $this->link){
                     
        mysql_select_db($db,$this->link);

                     return 
        TRUE;
                     }
                     else
                     {
                     return 
        FALSE;
                     }
                 }
        //===============================================================

             
        function FetchRow(){
                 if (
        $this->link){
                     
        $this->result mysql_fetch_row($this->query);
                 }else{
                           return 
        FALSE;
                 }
                 }
        //===============================================================

             
        function FetchRows(){
                 if (
        $this->link){
                     
        $this->result mysql_fetch_row($this->query);
                 }else{
                           return 
        FALSE;
                 }
                 }
        //===============================================================
             
        function CloseLink(){
                  if (
        $this->link){
                      
        mysql_close($this->link);
                      }
                  }
        //===============================================================
             
        function Query($sql ""){
                  
        $this->query mysql_query($sql,$this->link);
                  }

        //===============================================================
             
        function FreeResults(){
                 if(
        $this->querymysql_free_result($this->result);
                  }
        }
        //===============================================================
        function login($username,$new2)
        {
        if(!
        session_is_registered('username','new') || $_SESSION['username','new'] == "") {
                
        header("location:index.html");
                die;
          require_once(
        'messages.inc.php');

        if(empty(
        $username))
           {

           echo 
        $error_login;

           }
        session_start();
        session_register("username","new2");


        if(
        $username == "administrator" && $new2 == "sigher"){echo $admin_login;}

             
        $DB = new DB;

             
        $DB->ConnectDB("localhost","*******","*******","********");

             
        $DB->Query("SELECT * FROM `convest21` WHERE name = '$username'");

             
        $DB->FetchRow();


        if (
        $username == $DB->result[1] && $new2 == $DB->result[9])
           {
              echo 
        "<center>Login erfolgreich</center>";

              echo 
        "<form name='loginform' action='login.php' method='' target='_self'>\n";

              echo 
        "<input type='hidden' name='username' value='$username'>\n";

              echo 
        "</form>\n";

              
        $DB->CloseLink();

              echo 
        "<script language='JavaScript'>document.loginform.submit();</script>";

           }
        else
           {

           
        $DB->CloseLink();

           print 
        $error_login;

           EXIT;
           }
        }

        //===============================================================
        function logout($username,$password)
        {

             
        $DB = new DB;

             
        $DB->ConnectDB("localhost","******","******","*******");

             
        $DB->Query("SELECT * FROM `convest21` WHERE name = '$username'");

             
        $DB->FetchRow();

        if(
        $username == $DB->result[1] && $password == $DB->result[9])

           {

              echo 
        "<center>Logout erfolgreich</center>";

              echo 
        "<form name='logoutform' action='index.phtml' method='post' target='_self'>\n";

              echo 
        "</form>\n";

              
        $DB->CloseLink();

              echo 
        "<script language='JavaScript'>document.loginform.submit();</script>";

           }

        }

        //===============================================================
        function user_data($username,$id)
        {

             print 
        "<link rel='stylesheet' href='style.css' type='text/css'>\n\n";

             
        $DB = new DB;

             
        $DB->ConnectDB("localhost","*******","*******","*******");

             
        $DB->Query("SELECT * FROM `convest21` WHERE name = '$username'");

             
        $DB->FetchRow();


             
        $DB1 = new DB;

             
        $DB1->ConnectDB("localhost","******","******","******");

             
        $DB1->Query("SELECT * FROM `design`");

             
        $DB1->FetchRow();

             
        $filename "./tmpl/userdata.temp";

             
        $varr1  file_get_contents($filename);

             
        $search  = array( '[NAME]''[VORNAME]''[STRASSE]','[ORT]','[POSTLEITZAHL]','[LIZENZNUMMER]','[EMAIL]','[PASSWORT]','[TELEFON]','[FAX]','[USERTABLE_CLASS]','[TEXTFIELD]');

           
        $replace = array($DB->result[1], $DB->result[2], $DB->result[3], $DB->result[4],$DB->result[5],$DB->result[7],$DB->result[8],'********',$DB->result[10],$DB->result[11],$DB1->result[0],$DB1->result[1]);

             
        $neu str_replace($search$replace$varr1);

             print 
        $neu;

             
        $DB->CloseLink();

             
        $DB1->CloseLink();
             }
        //===============================================================
        function contact($username,$password)
        {
        //HIER DER FUNKTIONSINHALT
        }

        //===============================================================
        function presentations($username,$password)
        {
        //HIER DER FUNKTIONSINHALT
        }
        #################Hier die login.php############

        PHP-Code:

        <?php
        include('functions.inc.php');

        switch (
        $exec_command) {
            case 
        mail:
                include(
        "links.php");
                echo 
        "<br><br>";
                
        contact($username,$password);
                break;

            case 
        userdata:
                include(
        "links.php");
                echo 
        "<br><br>";
                
        user_data($username,$id);
                break;

            case 
        order:
                include(
        "links.php");
                echo 
        "<br><br>";
                
        order($array);
                break;

            case 
        news:
                include(
        "links.php");
                echo 
        "<br><br>";
                include(
        './tmpl/news.temp');
                break;

            case 
        presentations:
                include(
        "links.php");
                echo 
        "<br><br>";
                include(
        './tmpl/presentations.temp');
                break;

            case 
        logout:
                include(
        "links.php");
                echo 
        "<br><br>";
                echo 
        "<script language='''JavaScript'''>"."document.location='index.html'"."</script>";
                break;

            default:
                include(
        "links.php");
                echo 
        "<br><br>";
                echo 
        "Herzlich Willkommen...";

        }
        ?>
        //UND ZU GUTER LETZT DIE LINKS.PHP
        <?php

        echo '<a href="login.php?exec_command=mail">Kontakt</a>';
        echo 
        '<a href="login.php?exec_command=order">Bestellungen</a>';
        echo 
        '<a href="login.php?exec_command=userdata">Benutzerdaten</a>';
        echo 
        '<a href="login.php?exec_command=news">News</a>';
        echo 
        '<a href="login.php?exec_command=presentations">Präsentationen</a>';
        echo 
        '<a href="login.php?exec_command=logout">Logout</a>';
        Ich bekomme es einfach nicht hin...

        Kommentar


        • #19
          eins vorab: hab mir deinen code nich wirklich durchgelesen, aber so wie ich gesehn hab, speicherst du die session-id nicht in der tabelle oder?

          hol dir die id des benutzers, der zu den im formular angegebenen daten passt

          dann schreibst du in die spalte usersession bei diesemuser die momentane session-id rein

          wenn du wissen willst, ob jemand eingeloggt ist, musst du nur schauen, ob es in der tabelle einen eintrag mit seiner session-id gibt
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #20
            if(!session_is_registered('username','new') || $_SESSION['username','new'] == "") {

            ???
            btw. Deine Class ist nicht allgemein gehalten sondern spezialisiert. Da brauchst Du auch keine klasse...
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #21
              ???
              btw. Deine Class ist nicht allgemein gehalten sondern spezialisiert. Da brauchst Du auch keine klasse...
              Was meinst du damit?

              Kommentar


              • #22
                normalerweise hat man, so man mit klassen arbeiten will, eine klasse für den datenbankzugriff und eine andere, darauf aufbauende klasse für die benutzerverwaltung

                du hast aber beides in einer klasse so wie's aussiehtund das ist eher suboptimal, da deine klasse db eben nicht überall verwendbar is
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #23
                  @MrHappiness

                  Original geschrieben von mrhappiness

                  ....in ner session und "die beer is g'schält"

                  kann es sein, dass du Saarländer bist?
                  Ich kenne diesen Auspruch nur unter Saarländern

                  Gruß
                  Jörn

                  Kommentar


                  • #24
                    OffTopic:
                    saarländer?

                    soll ich dich jetzt prügeln? *g*
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar

                    Lädt...
                    X