Login Probleme

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

  • Login Probleme

    Guten Tag,
    ich habe ein Problem und zwar, ich habe eine Seite (so eine Art Plattform für Promotion und Event), die noch nicht fertig ist ein login-Bereich eingesetzt. Soweit so gut . Klappt auch alles wunderbar.
    Am Anfang sollten sich User registrieren...Nach dem Einloggen kommen Sie auf login.php und da haben sie die Möglichkeit: Profil bearbeiten, Anzeigen aufgeben, Terminkallender...).

    Ich habe alle einzelne PHP-Seiten fertig gemacht (terminchange.php, profil.php ....), aber das Problem es klappt ja nicht, wenn ich die alle miteinander verlinke, weil jedes mal sagt mein Script, dass ich mich einloggen muss. Das heißt die Daten vom User werden nicht von der Seite: login.php zur Seite terminchange.php, profil.php ....
    Wie kann ich es am besten machen??? Die Seiten so zuverlinken und die Daten (Passwort und Benutzername) vom User auch auf die nächste Seite übertragen????

    Ich danke euch

  • #2
    arbeite mit sessions

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      erstmal danke für deine Antwort.


      hier mein Script:

      <?
      $username = $_GET[login];
      $passwd = $_GET[password];

      if ($_GET[logout] != "logout" ) {


      /* Verbindung aufbauen, auswählen einer Datenbank */
      $link = mysql_connect('xxx', 'xxx', 'xxx')
      or die("Keine Verbindung möglich: " . mysql_error());
      mysql_select_db('DB238535') or die("Auswahl der Datenbank fehlgeschlagen");

      $select = "select count(*) anzahl from kunden where Benutzername = \"".$username."\" and Passwort = \"".$passwd."\"";
      $result = mysql_query($select) or die("Anfrage fehlgeschlagen: " . mysql_error());
      $login = mysql_fetch_array($result, MYSQL_ASSOC);

      if( $login[anzahl] >= 1 ) {
      if ($_POST[Schicken] != "Ändern" ) {
      echo "<font class=\"bold\" style=\"font-size:8pt; font-weight:bold;\" face=\"Arial\" color=\"#17E6FE\">Der Login war erfolgreich!</font><br>";
      echo "<font class=\"bold\" style=\"font-size:8pt; font-weight:bold;\" face=\"Arial\" color=\"#FFFFFF\">Zum ausloggen bitte hier klicken: <a href=\"login.php?logout=logout\">Ausloggen</a></font><br><p>&nbsp;</p>";
      echo "<font class=\"bold\" style=\"font-size:8pt; font-weight:bold;\" face=\"Arial\" color=\"#FFFFFF\">Hier können Sie Ihre Persönlichendaten ändern:</font>";
      $select = "select * from kunden where Benutzername = \"".$username."\" and Passwort = \"".$passwd."\"";
      $result = mysql_query($select) or die("Anfrage fehlgeschlagen: " . mysql_error());
      $login = mysql_fetch_array($result, MYSQL_ASSOC);
      ?>


      Dann habe ich ein Script geschrieben, der die Daten von der Datenbank hollt und die auf der Seite (login.php, terminchange.php...) überträgt, laüft auch wunderbar.

      Wo soll ich die session_start (); einsetzen?? und soll ich die auf alle Script oder nur auf der login.php (die erste Seite nach dem Login)??

      Danke

      Kommentar


      • #4
        schau dir mal das hier an. da wird alles erklärt.

        und meinst du doch sicher nicht ernst
        PHP-Code:
        $username $_GET[login];
        $passwd $_GET[password]; 
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Hallo Peter,
          stimmt was mit meinem Script nicht???
          Musste ja auch sein, sont würde ich keine Probleme haben.

          Kommentar


          • #6
            Ich denke der Herr Kropff meint das GET ... damit werden die Daten im Klartext übergeben ... verwende lieber POST ...

            Kleines Beispiel für Login:

            Du erstellst eine 'login.php'[list=1][*]session_start();//Session aufnehmen/starten[*]session_destroy(); //Session beenden (oder das Session-array auf null setzen)[*]Formular erstellen <form action='backend.php' method='POST'> ...[/list=1]


            Du erstellst die 'backend.php' (bzw. die Seite, die nur der eingeloggte User sehen darf)
            [list=1][*]if(isset($_POST["name"])) ... //Überprüfen, ob POST gesetzt[*]if($_POST["name"] == "Max" && $_POST["passwd"] == "mustermann")///*Falls Name und Passwort korrekt --> normalerweise aus DB!*/[*]$_SESSION["name"] = $_POST["name"]; $_SESSION["passwd"] = $_POST["passwd"];//Übergabe an Session[*]include "login_controll.php";//Hier includierst Du die Kontrolle[*]... hier befindet sich der Rest Deiner backend.php, also alles, was der eingeloggte User sehen darf[/list=1]


            Du erstellst die login_kontroll.php
            [list=1][*]if(!isset($_SESSION["name"])) ... //wenn die Session nicht vorhanden/gesetzt wurde[*]header("Location: login.php");// dann zeige wieder die Login-Seite[/list=1]


            Somit hat nur der Zugang, der auch eingeloggt ist und sieht die gesamte backend.php. Auch ein direktes Aufrufen der backend.php duch die URL ist nicht möglich, da die Session-Variable fehlt!

            Gruß php_fussel
            Zuletzt geändert von php_fussel; 11.02.2009, 14:23.

            Kommentar


            • #7
              damit werden die Daten im Klartext übergeben
              und jeder dödel, der hinter einem steht, kanns mitlesen.

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                JEP!

                Kommentar


                • #9
                  Das mit Session habe ich ja verstanden.

                  Das mit dem Link bekomme ich nicht hin. Ich habe einfach ein Link von der login.php zu terminchange.php gesetzt und habe auch das mit

                  <a href=\"terminchange.php?login=".$username."&password=".$passwd."\"/a>

                  ausprobiert aber das kriege ich einfach nicht hin.


                  Bitte um Hilfe, denn der User soll nicht irgend eine Seite sehen, ER soll seine Daten, Termin...ändern können und die werden von der Datenbank gerufen.

                  Kommentar


                  • #10
                    Original geschrieben von prince2402
                    Das mit Session habe ich ja verstanden.
                    Sicher ...?
                    Das mit dem Link bekomme ich nicht hin. Ich habe einfach ein Link von der login.php zu terminchange.php gesetzt
                    Wenn du das Vorgehen mit Sessions verstanden hast - dann sehe ich nicht, wozu du immer noch Nutzername und Passwort von einem Dokument zum anderen uebergeben willst. (Und dazu immer noch fuer jeden sichtbar per GET.)
                    Bitte um Hilfe, denn der User soll nicht irgend eine Seite sehen, ER soll seine Daten, Termin...ändern können und die werden von der Datenbank gerufen.
                    Dann beschaeftige dich mit Sessions - noch mal.
                    So lange, bis du verstanden hast, was sie sind und leisten, und wie man sie in eben so einem Fall einsetzt.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X