Usermanagement

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

  • #76
    Original geschrieben von Payne_of_Death
    @Johnny: Ungenaue Angaben führen zu sinnlosem BlaBlaBla
    OffTopic:
    kein problem. das merkt er nicht...
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #77
      abwarten, die hoffnung stirbt bekanntlich zuletzt
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #78
        Ja schon ok... Fehler behoben.


        PHP-Code:

        // CODE WENN LOGIN ERFOLGREICH

                
        session_register('user_name,user_id,user_pass');

                
        $result mysql_query("SELECT * FROM $user_tname WHERE nickname='$username' AND password='$password'");
                while (
        $user mysql_fetch_array($result)) { $user_name $user[nickname]; $user_id $user[id]; $user_pass $user[password]; }

                
        $_SESSION['user_name'] = $user_name;
                
        $_SESSION['user_id'] = $user_id;
                
        $_SESSION['user_pass'] = $user_pass;

                  
        mysql_query("UPDATE $user_tname SET last_time='$d_time', last_date='$d_tdy' WHERE id='$user_id'");

                  echo 
        "<table width='100%' border='0' cellspacing='4' cellpadding='0'>
                  <tr><td><div align='center'><b>Der Login war erfolgreich</b></div></td></tr>
                  <tr><td><div align='center'>Du wurdest erfolgreich eingeloggt <a href='?action=user&show=profile'>"
        .$_SESSION['user_name']." ".$_SESSION['user_id']."</a>.</div>
                </td></tr></table>

        // ECHO AUSGABE ZUM ÜBERPRÜFEN VON 
        $_SESSION['user_name'] und $_SESSION['user_id']

        echo "
        Du wurdest erfolgreich eingeloggt [b]<a href='?action=user&show=profile'>[/b]".$_SESSION['user_name']."</a>[/b] (ID".$_SESSION['user_id']."). 
        So, klickt man nun auf den im Code bei der Echo-Ausgabe dickmakierten Link passiert folgendes:

        PHP-Code:

        if ($_GET['action']=='user' and $_GET['show']=='profile') {

                echo 
        "<table align='center' width='60%' border='0' cellpadding='3' cellspacing='1'>
                  
                <tr height='50'>
                <td width='50%' bgcolor='
        $tcolor2' align='center'><b><a href='?action=user&edit=details&id='".$_SESSION['user_id']."'>Details</a></b></td>
                <td width='50%' bgcolor='
        $tcolor3' align='center'><b><a href='?action=user&edit=password&id='".$_SESSION['user_id']."''>Change Password</a></b></td></tr> 

        [...] 
        Makiert man nun hier auf den Details-Link um zu seinem pers. Editierbereich zu kommen, sieht man, dass die ID nicht existiert. Sie sollte doch noch in der Session vorhanden sein ... Wieso ?

        Kommentar


        • #79
          Befindet sich alles in einer File oder liegt das mit den Details in einer anderen File?

          Wenn ja muss dort erneut die Session initialisiert werden.
          [color=blue]MfG Payne_of_Death[/color]

          [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
          [color=red]Merke:[/color]
          [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

          Murphy`s Importanst LAWS
          Jede Lösung bringt nur neue Probleme
          Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
          In jedem kleinen Problem steckt ein großes, das gern raus moechte.

          Kommentar


          • #80
            außerdem wissen wir doch langsam, dass man
            PHP-Code:
            session_register('user_name,user_id,user_pass'); 
            nicht mehr schreibt.

            s. Manual!

            Kommentar


            • #81
              Original geschrieben von Payne_of_Death
              Befindet sich alles in einer File oder liegt das mit den Details in einer anderen File?

              Wenn ja muss dort erneut die Session initialisiert werden.

              Alles in einer, wobei die Details über dem Login liegen, was aber nicht schlimm sein sollte.

              PHP-Code:
              session_register("user_name","user_id","user_pass"); 
              So siehts jetzt bei mir aus, funzt nicht.

              Kommentar


              • #82
                du registriest die variablen zweimal:
                Original geschrieben von jOhnny knOx
                session_register('user_name,user_id,user_pass'); //hier
                $result = mysql_query("SELECT * FROM $user_tname WHERE nickname='$username' AND password='$password'");
                //und hier
                $_SESSION['user_name'] = $user_name;
                $_SESSION['user_id'] = $user_id;
                $_SESSION['user_pass'] = $user_pass;
                [/PHP]
                lass das session_register mal weg

                hast du session_start als ersten befehl überhaupt stehen oder fragst du die deteils vorher ab?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #83
                  lass das session_register mal weg
                  Achso, ich dachte das session_register() ist notwendig.

                  hast du session_start als ersten befehl überhaupt stehen oder fragst du die deteils vorher ab?
                  Das session_start(); steht bei mir als allererstes in der Datei, direkt nach dem <?. Danach beginnt auch schon die Detailsabfrage, beziehungsweise das Menü in dem der User seine jeweiligen Optionen hat, wie zum Beispiel sein Passwort oder Details zu ändern. Dies beginnt mit dem ...

                  PHP-Code:
                  if ($_GET['action']=='user' and $_GET['show']=='profile') { 
                  Ganz am Ende der Datei, also unten vor dem endenden ?>, ist der Code für den Login bzw. das setzen der SESSION.

                  Kommentar


                  • #84
                    Original geschrieben von jOhnny knOx
                    Achso, ich dachte das session_register() ist notwendig.
                    laut manual sollte man, fals möglich, session_register('variable') durch $_SESSION['variable']=$variable ersetzen
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #85
                      Original geschrieben von mrhappiness
                      laut manual sollte man, fals möglich, session_register('variable') durch $_SESSION['variable']=$variable ersetzen
                      Das heisst, dass sowas:

                      PHP-Code:
                              $result mysql_query("SELECT * FROM $user_tname WHERE nickname='$username' AND password='$password'");
                              while (
                      $user mysql_fetch_array($result)) { $user_name $user[nickname]; $user_id $user[id]; $user_pass $user[password]; }

                              
                      session_register('$user_id','$user_name','$user_pass'); 
                      ausreichen würde ?

                      Kommentar


                      • #86
                        wenn du das machen willst, was ich geschreiben hab: nein!
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #87
                          Merk ich auch grade... Es wird jetzt garnichts mehr ausgegeben, beim erfolgreichem Login.

                          Kommentar


                          • #88
                            glaub du merkst gar nichts musst du gleichzeitig kochen, oder was machst du, dass du so unaufmersam bist.

                            hatte happy nicht was zu dem register() gesagt?

                            Hast du eigentlich ne strucktur in deinem Script bzw. Idee?

                            Kommentar


                            • #89
                              Original geschrieben von jOhnny knOx
                              Merk ich auch grade... Es wird jetzt garnichts mehr ausgegeben, beim erfolgreichem Login.
                              Wenn wunderts
                              Ordnung ist das halbe Leben.

                              Aber um es nochmal ganz deutlich zu sagen: das Manual sprich Handbuch sieht vor das session_register terminiert bzw. exekutiert, ausgelöscht nicht mehr verwendet werden soll

                              Das bedeutet du sollst $_session['blabla']; zukünftig einsetzen.

                              Tip: Gib doch mal phpinfo(); in einem Skript ein und du wirst sehen was für Variablen schon vorab dir zur Verfügung stehen.
                              [color=blue]MfG Payne_of_Death[/color]

                              [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                              [color=red]Merke:[/color]
                              [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                              Murphy`s Importanst LAWS
                              Jede Lösung bringt nur neue Probleme
                              Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                              In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                              Kommentar


                              • #90
                                Ah, war wohl noch etwas verwirrt vom Film, den ich grad geguckt hatte

                                ich änders ...

                                Kommentar

                                Lädt...
                                X