Noch ein PHP-Problem?

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

  • Noch ein PHP-Problem?

    Konnte mich im Betreff nicht so ausdrücken

    Folgendes:

    Nichtregistrierte User klicken auf Link "Ihr Account" - es erscheint eine Seite, mit dem Hinweis, dass ssie sich für diese Funktion erst registrieren bzw. einloggen müssen.

    Ein eingeloggter User klickt auf den Link "Ihr Account" - es erscheint die Seite "user.php" mit dem ganz persönlichem Menü für den User, wo er z.B. seine persönlichen daten ändern kann.

    Hat jemand hier für mich ein konkretes Beispiel (Code), wie ich so etwas bewerkstellige?

    Danke & Gruß Dirk
    Erfolgreich ist nur welcher, der das tut, was andere nicht tun!

  • #2
    Falsches FORUM!!!

    *VERSCHIEB*

    Versuch mal die Suche, oder mal die Tutorials! Mensch

    Kommentar


    • #3
      Also ein spezielles script hab ich nicht. Ich kann Dir aber sagen, wie ich es
      gelöst habe...

      1. Wenn sich bei mir ein User einloggt, wird in der Datenbank der Username
      gesucht und dann das Passwort mit dem eingegebenen verglichen.

      2. Ist alles korrekt, wird bei Ihm ein Cookie gesetzt (z.B mit seinem
      Nickname)

      3. So und jetzt genau zu Deiner Frage. Wenn man jetzt auf einen
      Memberlink klickt, wird nun abgefragt, ob ein Cookie gesetzt wurde.
      Wenn nicht ist er nicht eingeloggt oder nicht angemeldet, wenn ja
      verlinkst Du zur entsprechenden Seite.

      Da dieser Code stark bei mir integriert ist, kann ich Dir leider kein Beispiel
      dafür geben. Es hängt eh davon ab, wie Deine z.B main.php aufgebaut ist.

      Wenn Du direkt verlinken willst dann mit
      header (LOCATION: deinLink.php?...). Falls Du nur entsprechende Teile
      laden willst machst einfach ein include.

      Kommentar


      • #4
        Original geschrieben von nepi
        2. Ist alles korrekt, wird bei Ihm ein Cookie gesetzt (z.B mit seinem
        Nickname)

        3. So und jetzt genau zu Deiner Frage. Wenn man jetzt auf einen
        Memberlink klickt, wird nun abgefragt, ob ein Cookie gesetzt wurde.
        Wenn nicht ist er nicht eingeloggt oder nicht angemeldet, wenn ja
        verlinkst Du zur entsprechenden Seite.
        das heisst ich brauche mir nur ein cookie mit einem existierenden usernamen anlegen, und schon bin ich drin...

        "das ist ja einfach!"
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Wie war deine Seite doch gleich?

          Kommentar


          • #6
            so würde ich das vorschlagen:

            1. Wenn sich bei mir ein User einloggt, wird in der Datenbank der Username
            gesucht und dann das Passwort mit dem eingegebenen verglichen.

            2. Ist alles korrekt, wird eine Session gestartet.
            3. So und jetzt genau zu Deiner Frage. Wenn man jetzt auf einen
            Memberlink klickt, wird nun abgefragt, ob eine Session gestartet wurde.
            Wenn nicht ist er nicht eingeloggt oder nicht angemeldet, wenn ja
            verlinkst Du zur entsprechenden Seite.



            hier ein bsp:
            PHP-Code:
            $admin $_GET['admin'];
            $data1 "SELECT * FROM $tabelle WHERE admin = '$admin'";
            $datalogin = @mysql_query($data1$connect);
            $admindata = @mysql_fetch_object($datalogin$connect); // Daten für PW vergleich werden geholt
                
            if(!empty($admindata))
                    {
                    if(
            $admindata->adminpw == $adminpw)// falls alles ok dann...
                        

                        
            session_register('admin');
                        
            header ("Location:main.php"); 
                        }
                    else
                    {
                    echo 
            "Passwort passt net!";}
                    }
                else
                       {    
                                    echo 
            "Ne du ohne Adminrechte geht heir garnix!";
                        } 
            hoffe mal hier ist auch keine sicherheitslücke drin...
            Zuletzt geändert von Damian1984; 04.04.2003, 15:26.
            Für Rechtschreibfehler übernehme ich keine Haftung!

            Kommentar


            • #7
              Die Seite ist noch nicht online. Bin noch eifrig am rumbasteln, da noch ne ganze Menge zu tun ist. Da ich mich erst seit einem Monat mit Php
              beschäftige kann das noch ein bisl dauern!

              Mit sessions kann man auch arbeiten, ist mir aber noch irgendwie zu
              kompliziert. Ausserdem klappt die session Funktion auf meinem
              Rechner nicht, wo ich die Seite programmier, deshalb bin ich auf die Cookie-Variante umgestiegen.

              Der Nachteil an sessions ist ausserdem, das sich ein Mitglied jedesmal
              neueinloggen müsste, bei Cookies wird der Benutzer gemerkt.

              Du musst aber jeden member link die COOKIE-Abfrage starten, nicht nur
              den Startlink. Ansonsten könnte man irgendeine Adresse im Member-
              bereich direkt angeben und man ist drin. Dat wäre ein riesiges Sicherheitsloch!!!

              Kleiner Tip: Speicher nie die Passwörter direkt in der Datenbank
              (wegen der ganzen netten Leute). Benutze md5. Die Passwörter werden
              dann verschlüsselt. Musst dann das eingegebene Pwd auch
              verschlüsseln und dann mit dem in der datenbank vergleichen.
              Warum? md5 ist NICHT rückgängig zu machen, es verschlüsselt nur.

              Kommentar


              • #8
                Seit wann sind Cookies leichter als Sessions? Vorallem was ist mit den leuten, die keine Cookies haben?

                Userbereich mit Sessions!!! Additional kannst du nen Autologin mit Cookies machen.

                Kommentar


                • #9
                  Gut. Wie aber bekomm ich das hin, das die sessions bei mir arbeiten?? Auf dem einen Rechner klappt´s, auf dem anderen mit den gleichen ini files aber nicht.

                  Bekomm immer die Meldung, das das Verzeichnis nicht existiert, wo die sessions gespeichert werden. Es ist aber da und auch genauso wie es in der php.ini steht.

                  Mein session-verzeichnis heisst c:\php4\tmp als hätts man sich schon gedacht. Änder ich jetzt zum Beispiel das Verzeichnis in der php.ini von dem oben genannten in z.B c:\php4\tmp123, wird aber immer noch der Fehler c:\php4\tmp nicht gefunden angezeigt, obwohl der Wortlaut tmp nicht mehr in der php.ini vorkommt. Keine Ahnung was da los ist!

                  PS: Cookie mit usernamen setzen und drin bist, würde nicht klappen.
                  habe passwort weggelassen. Das Passwort was der Benutzer eingibt wird mit dem nickname gespeichert und auch jedesmal wieder abgefragt.
                  Da Du das Passwort nicht weisst, würde Dich Cookie setzen nicht weiterbringen!

                  Kommentar


                  • #10
                    obwohl der Wortlaut tmp nicht mehr in der php.ini vorkommt. Keine Ahnung was da los ist!
                    du solltest auch mal den apache neu starten.
                    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


                    • #11
                      Jedesmal gemacht!

                      Kommentar


                      • #12
                        gab es fehlermeldungen u.ä.?

                        btw. wenn du fragen zur installation hättest, solltest du noch einen thread hierfür in dem anderen forum aufmachen.
                        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


                        • #13
                          Nein, immer die Fehlermeldung das das Verzeichnis nicht existiert!!!
                          Das ist ja das komische. Die Installation ist ok.
                          Wie gesagt er will immer dieses tmp Verzeichnis haben, auch wenn ich den eintrag in der ini auf ein anderes Verzeichnis lege! Das tmp ist auch net schreibgeschützt! Bin mit meinem Latein echt am Ende!

                          Kommentar


                          • #14
                            btw. wenn du fragen zur installation hättest, solltest du noch einen thread hierfür in dem anderen forum aufmachen.
                            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

                            Lädt...
                            X