Hilfe zum TUT Login mit PHP und MYsql

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

  • Hilfe zum TUT Login mit PHP und MYsql

    Hallo,
    vorab ich bin noch ziemlich am Anfang mit PHP, muss aber von Geschäft aus einen geschützten Bereich anlegen wo sich verschiedene Benutzer einloggen können.

    Ich habe das Tut hier auf der Seite gefunden und alles hat bisher geklappt ich kann mich einloggen, ausloggen und den Status überprüfen.
    Aber ich verstehe nicht wie ich das ganze an den Anfang einer Seite setzte das diese geschützt ist.
    Da habe ich noch Probleme mit.
    Wie genau muss das aussehen?

    Wäre nett wenn ihr mir helfen könntet!

  • #2
    Du überprüft vor dem Ausliefern der Seite, ob der Benutzer angemeldet ist. Ist dies nicht der Fall, führst du einen Redirect auf die Loginseite durch!

    Kommentar


    • #3
      Hallo,
      ich habe jetzt mal angefangen. Leider komme ich nicht zurecht:
      Folgenden Code verwende ich:
      PHP-Code:
      <?
      session_start();
      include 'login/sessionhelpers.inc.php';
      if (!logged_in())
          header("Location: http://www.google.de");
      ?>
      so jetzt kriege ich immer den Fehler das der header bereits gesendet wurde also so

      "Warning: Cannot modify header information - headers already sent by (output started at ../sessionhelpers.inc.php:52) in ../peps.php on line 5"

      Die Links habe ich jetzt mal gekürtzt!

      Was mache ich falsch?

      Kommentar


      • #4
        Guck dir dazu den Sticky-Thread in diesem Forum an!

        Kommentar


        • #5
          Hallo,
          das habe ich mir schon durchglesen aber ich komme nicht drauf wie ich das umsetzten kann das das im PHP läuft.
          Es heißt ja das der Header als Anfang vor allem anderem stehen muss, aber wenn ich das mache werde ich nur weitergeleitet und der Rest wird ignoriert!
          Helft mir mal auf die Sprünge!

          Kommentar


          • #6
            Du machst irgendwo vorher eine Ausgabe! Vielleicht in der eingebundenen Datei?!

            Kommentar


            • #7
              Ja da ist die Funktion logged_in definiert und wird sag mal abgearbeitet.
              Aber die Frage ist wie kriege ich die einbindung der logged_in Funktion und die Weiterleitung wenn der jenige nicht eingeloggt ist?

              Kommentar


              • #8
                Löß dein Headerproblem, dein Skript stimmt doch

                Kommentar


                • #9
                  Original geschrieben von Blackangel1984
                  Ja da ist die Funktion logged_in definiert und wird sag mal abgearbeitet.
                  Aber die Frage ist wie kriege ich die einbindung der logged_in Funktion und die Weiterleitung wenn der jenige nicht eingeloggt ist?
                  ich denke, dass du beim copy&paste am anfang und/oder am ende der datei leerzeichen und/oder umbrüche hast.

                  vor "<?php" und nach "?>" dürfen keinerlei zeichen stehen.
                  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


                  • #10
                    So Problem ist gelöst! (Auch ohne den Hinweis von Albraxax, trotzdem Danke)
                    In der Sessionhelpers ware ein Leezeichen hinter dem ?>
                    Da lag der Hund bergraben jetzt läuft alles wie es soll.
                    Danke nochmal!

                    Kommentar


                    • #11
                      servus.. habe mir auch euer tutorial angeguckt und es nachprogrammiert, hat ja alles funktioniert nur versteh ich leider nicht vollständig den quelltext!

                      besonders probleme habe ich bei der check_user


                      $sql="SELECT UserId
                      FROM users
                      WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
                      LIMIT 1";
                      $result= mysql_query($sql) or die(mysql_error());
                      [COLOR=red] if ( mysql_num_rows($result)==1)
                      {
                      $user=mysql_fetch_assoc($result);
                      return $user['UserId'];
                      }[/COLOR]
                      else
                      return false;
                      }

                      hab mal rot makiert was ich nich so recht verstehe!

                      mysql_num_rows gibt doch die Anzahl der Datensätze zurück.. $result is ja eigentlich $sql und das wiederum müsste die UserID sein..

                      folglich wird die anzahl der DS der UserID geprüft.. mir ist nun nich wirklich klar ob das ergebnis denn jemals != 1 werden kann oO

                      Kommentar


                      • #12
                        mir ist nun nich wirklich klar ob das ergebnis denn jemals != 1 werden kann oO
                        Nach welchen Kriterien wird die Suche eingeschränkt? Richtig: Username und Passwort. Es gäbe also folgende Möglichkeiten diese Abfrage scheitern zu lassen:
                        - Benutzer existiert aber das PW ist falsch
                        - Benutzer exisitert nicht PW korrekt
                        - Weder Benutzer noch PW existieren

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          ach es wird daraufhin geprüft ob der komplette datensatz = true ist?

                          Kommentar


                          • #14
                            ach es wird daraufhin geprüft ob der komplette datensatz = true ist?
                            Es wird geprüft ob es einen DS gibt, bei dem beide Bedingungen erfüllt sind. AND oder && verknüpfen zwei Bedingungen und beide müssen erfüllt sein. Im Gegensatz zu OR oder || wo es reicht wenn eine der beiden erfüllt wurde.
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              ich dachte in $sql sei nur die UserID gespeichert? nun is id,name und pass gespeichert?

                              Kommentar

                              Lädt...
                              X