Login in mit Sessionübergabe

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

  • Login in mit Sessionübergabe

    Hallo zusammen habe mir hier ein kleines Loginscript was nach dem richtigen Login die passenden Daten des Useres aus einer Datenbank ausliest.Und in die Session schreibt.Jedoch klappt dies nur nach dem richtigen Login Sprich User und Passwort eingabe "Login" Jedoch nicht wenn der User wiederkeehrt und er das PAsswort in seinem Browser gespeichert hat.Was mach ich da denn nun auf jeder Seite meiner Homepage wurde die sessiongestartet jedoch wenn ich auf irgendeiner Seite die Datenausgeben will klappt dies nicht.

    also hier mein

    PHP-Code:
     <?php connection mysql_connect("localhost","username","passwort"
      or die (
    "Konnte Verbindung zur Datenbank nicht herstellen!");
    mysql_select_db("usr_web64_1"
      or die (
    "Die Datenbank konnte nicht ausgewählt werden!");
    $anfrage mysql_query("SELECT * FROM users WHERE  UserName = '$username'"); 
    $ausgabe mysql_fetch_array($anfrage);
    ?>
    die Datenbankverbindung

    PHP-Code:
      <?php $UserName $ausgabe['UserName'];
    $Name $ausgabe['Name'];
    $Vorname $ausgabe['Vorname']; ?>
    deklarierung von Variablen

    PHP-Code:
     <?php session_register(UserName);
    session_register(Name);
    session_register(Vorname);  ?>
    sessions werden regestriert

    PHP-Code:
     <?php echo "<a href=index.php?sid=".session_id().">Home</a>"?>
    und so werden sie als link weitergegeben.

    Was mache ich falsch?

    sO und hier noch das login script

    PHP-Code:
     <?php if (isset($_POST['login']))
    {
        
    $userid=check_user($_POST['username'], $_POST['userpass']);
        if (
    $userid!=false)
            
    login($userid);
        else
            echo 
    'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!
    logged_in())
        echo 
    '<form method="post" action="access.php">
            <label>Benutzername:</label><input name="username" type="text"><br>
            <label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
            <input name="login" type="submit" id="login" value="Einloggen">
        </form>'
    ;
    else .......

    ?>
    Bitte helf mir weiter.Kräftigen Dank schoneimal im vorraus
    EDIT:
    TobiaZ: Brich den code doch mal um, dann braucht man nicht zu scrollen!
    Zuletzt geändert von TobiaZ; 02.06.2004, 17:20.

  • #2
    wo/wie speichert der User die Zugangsdaten im Browser???



    PHP-Code:
    session_register(); 
    // alt, mal [url]www.php.net[/url] lesen


      
    echo "<a href=index.php?sid=".session_id().">Home</a>";  
    //?sid=". müll, besser statt sid session_name() verwenden.


    $anfrage mysql_query("SELECT * FROM users WHERE  UserName = '$username'"); 
    // lese mal was zu register_global = off und was zu  $_GET, $_POST
    // dazu noch www.php.net nach mysql_escape_string befragen 
    zu deinem Problem, halt mal erste frage beantworten oben.
    EDIT:
    TobiaZ: und du bitte die URL-erkennung ausschalten
    Zuletzt geändert von TobiaZ; 02.06.2004, 17:21.
    mfg
    marc75

    <Platz für anderes>

    Kommentar


    • #3
      Die Daten über den User sprich Username,passwort werden in der selben datenbank und in der selben tabelle gespeichert wie der rest sprich name,vorname etc.Jedoch nach erfolgreichen überprüfen will ich den rest abfragen.Frage beantwortet?

      Kommentar


      • #4
        Jedoch nach erfolgreichen überprüfen will ich den rest abfragen
        habs jetzt nicht ganz gelesen. Aber da du ja den Usernamen in der Session hast, kannst du damit ja ein ganz normales Select-Query machen. und gut ist?

        Kommentar


        • #5
          isch nix verstehen isch anfänger

          Kommentar


          • #6
            Original geschrieben von Trexx
            Die Daten über den User sprich Username,passwort werden in der selben datenbank und in der selben tabelle gespeichert wie der rest sprich name,vorname etc.Jedoch nach erfolgreichen überprüfen will ich den rest abfragen.Frage beantwortet?
            jetzt verstehe ich nur noch Bahnhof, was hat das hiermit zu tun:

            Jedoch klappt dies nur nach dem richtigen Login Sprich User und Passwort eingabe "Login" Jedoch nicht wenn der User wiederkeehrt und er das PAsswort in seinem Browser gespeichert hat.
            ???


            Jedoch nach erfolgreichen überprüfen will ich den rest abfragen.
            Einfach den Rest auch ausgeben.
            $ausgabe['Vorname'];
            $ausgabe['etc'];

            Wo liegt da das Problem?
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              Also am besten poste ich mal das ganze Script den ich habe vorhin mit einem Kollegen gelabbert über dieses Problem und der kennt sich schon ganz gut damit aus im gegenteil zu mir jedoch hatte er auch kein passende Antwort also hier die seite mit dem login

              PHP-Code:
               <?php
              session_start
              ();
              include (
              "config.php");
              include 
              'inc/connect.inc.php';?>

              <html>
              <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
              </head>
              <style>
              <!--
              BODY { font-family: arial; color: black; background:  #E1CF93; }
              A:LINK    { color: #AE9333;   text-decoration: none; }
              A:ACTIVE  { color: #AE9333;    text-decoration: underline; }
              A:HOVER   { color: #AE9333;    text-decoration: underline; }
              A:VISITED { color: #AE9333; text-decoration: none; }
              -->
                </style>
              <body bgcolor="#FFFFFF" text="#000000">
              <table width="948" border="0" cellspacing="0" cellpadding="0" height="526" align="center">
                <tr>
                  <td valign="top" bgcolor="#EBDFB8"> 
                    <table width="947" border="0" cellspacing="0" cellpadding="0" height="526">
                      <tr>
                        <td width="133" valign="top" align="left" bgcolor="#EBDFB8"> 
                          <table width="133" border="0" cellspacing="0" cellpadding="0" background="menu.jpg" height="403">
                            <tr>
                              <td valign="top" height="411"> 
                                <table width="120" border="0" cellspacing="0" cellpadding="0" height="375" align="right">
                                  <tr> 
                                    <td height="27">&nbsp;</td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link1?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name1?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link2?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name2?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link3?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name3?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link4?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name4?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link5?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name5?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link6?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name6?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link7?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name7?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link8?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name8?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link9?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name9?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link10?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name10?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link11?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name11?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="middle"><a href="<?php echo $Link12?> "> 
                                      <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name12?>
                                      </font> </a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="bottom"><a href="<?php echo $Link13?> "><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name13?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="bottom"><a href="<?php echo $Link14?> "><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/button.jpg" width="6" height="6" border="0"> 
                                      <?php echo $Name14?>
                                      </font></a></td>
                                  </tr>
                                  <tr> 
                                    <td height="16" valign="bottom"></td>
                                  </tr>
                                  <tr> 
                                    <td height="72" valign="top"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
                                      </font></td>
                                  </tr>
                                </table>
                              </td>
                            </tr>
                          </table>
                        </td>
                        <td width="696" valign="top" bgcolor="#EBDFB8"> 
                          <table width="696" border="0" cellspacing="0" cellpadding="0" height="524">
                            <tr>
                              <td background="top.jpg" height="25"></td>
                            </tr>
                            <tr>
                              <td align="center"><?php

              if (isset($_POST['login']))
              {
                  
              $userid=check_user($_POST['username'], $_POST['userpass']);
                  if (
              $userid!=false)
                      
              login($userid);
                  else
                      echo 
              'Ihre Anmeldedaten waren nicht korrekt!';
              }
              if (!
              logged_in())
                  echo 
              '<form method="post" action="access.php">
                      <label>Benutzername:</label><input name="username" type="text"><br>
                      <label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
                      <input name="login" type="submit" id="login" value="Einloggen">
                  </form>'
              ;


              else



              $connection mysql_connect("localhost","web38","passwort") or die ("Konnte Verbindung zur Datenbank nicht herstellen!");
              mysql_select_db("usr_web38_3") or die ("Die Datenbank konnte nicht ausgewählt werden!");
              $anfrage mysql_query("SELECT * FROM Friends WHERE  UserName = '$username'");
              //echo mysql_errno().": ".mysql_error()."<BR>";

              $ausgabe mysql_fetch_array($anfrage);


              $UserName $ausgabe['UserName'];
              $Name $ausgabe['Name'];
              $Vorname $ausgabe['Vorname'];


              session_register(UserName);
              session_register(Name);
              session_register(Vorname);


              echo 
              "<a href=testa.php?sid=".session_id().">weiter</a>";

               
              ?>

              Kommentar


              • #8
                PHP-Code:
                 <?php </td>
                              </
                tr>
                            </
                table>
                          </
                td>
                          <
                td width="114" valign="top" align="right"
                            <
                table width="118" border="0" cellspacing="0" cellpadding="0" background="right.jpg" height="525">
                              <
                tr>
                                <
                td valign="top"
                                  <
                table width="111" border="0" cellspacing="0" cellpadding="0" height="178" align="right">
                                    <
                tr
                                      <
                td height="27">&nbsp;</td>
                                    </
                tr>
                                    <
                tr
                                      <
                td height="118" valign="top"
                                        <
                div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><a href="cam1.php"><img src="" width="94" height="86" border="0"></a><font color="#000000"><br>
                                          </
                font><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><font color="#000000"><a href="JavaScript:void(window.open('cam1_info.php','Info','toolbar=no,width=500,height=300,resizable=yes,scrollbars=yes'));">Info 
                                          Webcam
                </a><br>
                                          <
                a href="cam1.php">Ältere Bilder</a></font></font><a href="cam1.php"><font color="#000000"
                                          </
                font></a></font></div>
                                      </
                td>
                                    </
                tr>
                                    <
                tr
                                      <
                td valign="top" height="118"
                                        <
                div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><a href="cam2.php"><a><font color="#000000"><br>
                                          <
                a href="JavaScript:void(window.open('cam2_info.php','Info','toolbar=no,width=500,height=300,resizable=yes,scrollbars=yes'));">Info 
                                          Webcam
                </a><br>
                                          <
                a href="cam2.php">Ältere Bilder</a></font></font></div>
                                      </
                td>
                                    </
                tr>
                                    <
                tr
                                      <
                td valign="top" height="118"
                                        <
                div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><a href="cam3.php"><img src="http://home.arcor.de/surfwave/cam3/cam3_.jpg" width="94" height="86" border="0"></a><font color="#000000"><br>
                                          <
                a href="JavaScript:void(window.open('cam3_info.php','Info','toolbar=no,width=500,height=300,resizable=yes,scrollbars=yes'));">Info 
                                          Webcam
                </a><br>
                                          <
                a href="cam3.php">Ältere Bilder</a></font></font></div>
                                      </
                td>
                                    </
                tr>
                                    <
                tr
                                      <
                td valign="top" height="124"
                                        <
                div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><a href="cam4.php"><img src="http://home.arcor.de/surfwave/cam4/cam4_.jpg" width="94" height="86" border="0"></a><font color="#000000"><br>
                                          <
                a href="JavaScript:void(window.open('cam4_info.php','Info','toolbar=no,width=500,height=300,resizable=yes,scrollbars=yes'));">Info 
                                          Webcam
                </a><br>
                                          <
                a href="cam4.php">Ältere Bilder</a><br>
                                          <
                br>
                                       </
                font></font></div>
                                      </
                td>
                                    </
                tr>
                                  </
                table>
                                </
                td>
                              </
                tr>
                            </
                table>
                          </
                td>
                        </
                tr>
                      </
                table>
                    </
                td>
                  </
                tr>
                  <
                tr>
                    <
                td height="32" background="button.jpg">&nbsp;</td>
                  </
                tr>
                </
                table>
                </
                body>
                </
                html>
                und hier noch die passenden connect.inc.php datei

                PHP-Code:
                 <?
                function connect()
                {
                    $con= mysql_connect('localhost','web38','passwort') or die(mysql_error());
                     mysql_select_db('usr_web38_3',$con) or die(mysql_error());
                }

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



                function login($userid)
                {
                    $sql="UPDATE Friends
                    SET UserSession='".session_id()."'
                    WHERE UserId=".$userid;
                     mysql_query($sql);
                }

                function logged_in()
                {
                    $sql="SELECT UserId
                    FROM Friends
                    WHERE UserSession='".session_id()."'
                    LIMIT 1";
                    $result= mysql_query($sql);
                      return ( mysql_num_rows($result)==1);
                }

                function logout()
                {
                    $sql="UPDATE Friends
                    SET UserSession=NULL
                    WHERE UserSession='".session_id()."'";
                     mysql_query($sql);
                }

                connect();

                ?>

                So und die Sessions werden bei jeder meiner Seite von der Homepage gestartet und mit weitergegeben an die nächste Beispiel :
                Gerade eingeloggt (Daten werden angezeigt)von der Loginseite geh ich auf die HomeSeite und dann wieder auf die Loginseite jedoch stehten dann keine daten mehr.

                Hoffe man kann mir hier weiterhelfen.

                Kommentar


                • #9
                  meinst du wirklich dass sich jetzt jemand den hässlichen langen code ansieht?

                  Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                  sondern mit den Augen das Manual zu lesen.

                  Kommentar


                  • #10
                    ich weiß nicht ist aber meine letzte hoffnung !

                    Kommentar


                    • #11
                      Original geschrieben von xManUx
                      meinst du wirklich dass sich jetzt jemand den hässlichen langen code ansieht?
                      Da hst du recht

                      Und nun zu deinem Problem. Wenn cih dich richtig verstanden habe (ws wirklich schwer ist) möchtest du:

                      User logged sich ein --> Profil vom User (oder halt so was ähnliches)

                      Original geschrieben von Trexx
                      Jedoch nicht wenn der User wiederkeehrt und er das PAsswort in seinem Browser gespeichert hat
                      was meinst du damit?

                      Original geschrieben von TobiaZ
                      Brich den code doch mal um, dann braucht man nicht zu scrollen!
                      Ich glaube das liegt nicht am Code, sondern an seinen ersten Text

                      Und @ Trexx. Schau dir mal die erste Seite meiner Signatur an, dort steht ein gutes tutorial für Login und ein gutees für Sessions
                      Zuletzt geändert von davidovich; 03.06.2004, 13:49.

                      Forumregeln!

                      Gute PHP-(tutorial-)Seiten

                      Kommentar


                      • #12
                        Also zu den Fragen.

                        Also Beispiel User kommt -> gibt Username und Passwort ein -> bei richtigem Passwort wird er sozusagen im script weitergeleitet und es werden Ihm seine restlichen dargestellt -> User will sich auf der Seite umschauen hat jedoch durch den Login zugriff auf geschützte Bereiche -> USer möchte nun jedoch zurück um sich seine Daten nochma anzuschauen klickt er jedoch jetzt auf die Seite mit dem vorherigen Passwort abfrage steht nix mehr da ,sprich da er ja schon eingeloggt ist fällt das Login wech und nur eine normale Variable in der Session soll ausgegeben werden.

                        Hoffentlich war das jetzt verständlich :-)

                        So und dank dir für dein SCript jedoch muss ich meins weiterverwenden da andere SCripte drauf aufbauen und vorher hat es ja auch funktioniert nur jetzt bei der neue Homepage wieder net?

                        Hoffe du kannst mir da weiter helfen Danke für die Hilfe im vorraus

                        Kommentar


                        • #13
                          also ich würd dir
                          pauschal mal session_start() raten
                          und mir mal den query
                          mit echo auslesen
                          lassen ( wo die session_id() ) drin steht.

                          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                          sondern mit den Augen das Manual zu lesen.

                          Kommentar


                          • #14
                            Original geschrieben von xManUx
                            also ich würd dir
                            pauschal mal session_start() raten
                            Hat er doch im quelltext stehen (ja ich habe ihn mir angeschaut )

                            <?php </td>
                            meckert da php nicht rum?

                            function logged_in()
                            {
                            $sql="SELECT UserId
                            FROM Friends
                            WHERE UserSession='".session_id()."'
                            LIMIT 1";
                            $result= mysql_query($sql);
                            return ( mysql_num_rows($result)==1);
                            }
                            Ich würd sagen dein Fehler liegt hier
                            Zuletzt geändert von davidovich; 03.06.2004, 15:59.

                            Forumregeln!

                            Gute PHP-(tutorial-)Seiten

                            Kommentar


                            • #15
                              Ähm grübbel grübel.Komm mir schon fast vor wie in einem Crash Kurs.Was habe ich denn in diesem Abschnitt falsch gemacht?Ich frage doch nur in der Datenbank was ab was identisch mit der Session ist.

                              Kommentar

                              Lädt...
                              X