LogIn Script Logt sich jede Minute selbst aus

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

  • LogIn Script Logt sich jede Minute selbst aus

    Hi,
    ich habe damals ein LogIn Script übernommen und nur etwas verändert.
    Aber wenn ich eingeloggt bin und warte z.B. 1 Minute, dann bin ich wieder ausgeloggt. Warum? Am besten wäre es wenn der Login den ganzen Tag über aktiv bleibt, auch bei schließung des Browsers. Nach 1 Tag wird dann der Cookie gelöscht.

    LogIn.php
    PHP-Code:
    <?php 
      session_start 
    (); 
      include 
    'connection.php';

      include 
    'div_navi_2.php';

      if (!isset (
    $_SESSION["session_id"]))
      {  
    ?>
      <form action="index.php?content=login_check" method="post">

      <input type="text" name="useremail" value="Ihre Emailadresse"
      onfocus="if(this.value=='Ihre Emailadresse')
      this.value='';" onblur="if(this.value=='')
      this.value='Ihre Emailadresse';" >

      <input type="password" name="userpassword" value="Ihr Passwort"
      onfocus="if(this.value=='Ihr Passwort')
      this.value='';" onblur="if(this.value=='')
      this.value='Ihr Passwort';" >

      <input type="submit" value="Login">
      </form>
      <a href="index.php?content=register">Registrieren</a>


    <?php 
      
    } else {
        
    $sql mysql_fetch_array(mysql_query('SELECT * FROM user WHERE userid = '.$_SESSION["session_id"]));
        
    $username $sql[username];
        echo 
    "Angemeldet: <a href=index.php?content=profil&id=".$_SESSION["session_id"].">".$username."</a>";
        echo 
    ' | ';

        
    $sql mysql_query('SELECT
                        usermailbox.usermailboxid,
                        usermailbox.touserid
                        FROM usermailbox
                        WHERE usermailbox.touserid = '
    .$_SESSION["session_id"].'
                        AND usermailbox.textread = 0'
    );
        if (
    mysql_num_rows($sql) > 0)
        {
          echo 
    '<img src=/images/icons/email.png>';
        } 
          echo  
    '<a href=index.php?content=mailbox&usermailboxpurpose=show>'.mysql_num_rows($sql);
          echo 
    ' Neue Mail(s)</a>';
      }
    ?>
    login_check.php
    PHP-Code:
    <?php  
    include 'connection.php';

    $sql "SELECT *
    FROM user
    WHERE (useremail like '"
    .$_REQUEST["useremail"]."')
    AND (userpassword = '"
    .md5($_REQUEST["userpassword"])."')";  
    $result mysql_query ($sql); 


    if (
    mysql_num_rows ($result) > 0)  
    {  
      
    $data mysql_fetch_array ($result);  
      
    $_SESSION["session_id"] = $data["userid"];
      
    header ("Location: index.php?content=home");  

    }  
    else  
    {  
    echo 
    'Ihr Benutzername oder Passwort war falsch.<br>Bitte versuchen Sie es nocheinmal.';
    // echo '<meta http-equiv="refresh" content="3; URL=index.php?content=login">';
    }  
    ?>
    Zuletzt geändert von phpMorpheus2; 03.04.2008, 13:14.

  • #2
    Ich vermute, dass keine gültige Session-ID an den Server übergeben wird und der dann nicht weiß welche Session er fortsetzen soll... könnte das hinkommen bei dir?
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Original geschrieben von Shurakai
      Ich vermute, dass keine gültige Session-ID an den Server übergeben wird und der dann nicht weiß welche Session er fortsetzen soll... könnte das hinkommen bei dir?
      Das kann glaube ich nicht sein, denn warum auch?
      Die Session beginnt mit dem Anmelden.
      Dann funktioniert alles.
      Nur nach einer gewissen ZEit, loggt er sich selbst aus.

      Kommentar


      • #4
        Gewissen Zeit oder nach einer Minute?

        Eine Session ist generell nur eine gewisse Zeit gültig. Dazu musst du in deine phpinfo gucken, aber die Zeit ist meist höher eingestellt als die eine minute..

        btw: bitte code umbrechen

        mfg

        Kommentar


        • #5
          Und du hast wie es in den Regeln steht das error_reporting() mal voll aufgedreht? Glaub ich nicht Tim
          Weil so auf die Schnelle ist mir
          PHP-Code:
          $username $sql[username]; 
          aufgefallen. Und das würde dir der Parser melden.
          Also
          PHP-Code:
          error_reporting(E_ALL E_STRICT); 
          machen und schauen ob da nicht noch mehr ist

          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


          • #6
            PHP-Code:
            error_reporting(E_ALL E_STRICT); 
            Nicht schlecht Oo
            Man lernt ja nie aus richtig

            Kann es daran liegen, das ich bei jeder php eine session versuche neu zu starten?
            Das hatte ich vor monaten so gemacht weil die Ahnung noch nicht so da war.
            Könnte das der Fehler gewesen sein?

            Kommentar


            • #7
              Schon ok

              Kommentar


              • #8
                Wo liegt der Fehler?
                Ich sterbe gleich -.-'
                PHP-Code:
                      $eintrag mysql_query('INSERT INTO userinquiry (userinquirytouserid, 
                userinquiryfromuserid, 
                userinquirypurpose, 
                userinquirydate) 
                VALUES ('
                $_GET['userinquirytouserid']', 
                '
                $_GET['userinquiryfromuserid']',
                 '
                $_GET['userinquirypurpose']',
                 '
                $date')'); 
                Zuletzt geändert von phpMorpheus2; 03.04.2008, 13:15.

                Kommentar


                • #9
                  mysql_error...
                  Freedom is a state of mind. Not a state in which we live.

                  troxdev.ch | animefieber

                  Kommentar


                  • #10
                    Um genau zu sein hast du bei deinen Variablen hinten im query die Verbindung der Kette vergessen, sodass es nicht funktionieren kann..

                    mfg
                    ps: code umbrechen!

                    Kommentar


                    • #11
                      Und um genau zu sein hast du die Regeln immernoch nicht gelesen.


                      Übrigens: Informiere dich bitte mal über SQL-Injections, das was du da machst, ist ne dicke Sicherheitslücke
                      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                      var_dump(), print_r(), debug_backtrace und echo.
                      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                      Kommentar


                      • #12
                        Original geschrieben von Shurakai
                        Und um genau zu sein hast du die Regeln immernoch nicht gelesen.


                        Übrigens: Informiere dich bitte mal über SQL-Injections, das was du da machst, ist ne dicke Sicherheitslücke
                        In wiefern?
                        Kurze Erläuterung damit ich weiß was genau gemeint ist und ich es in zukunft besser machen kann!?!
                        Danke Leute :-)
                        Was wäre man ohne ein Forum

                        Kommentar


                        • #13
                          http://blog.chilicat.de/development/...development-ii
                          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                          var_dump(), print_r(), debug_backtrace und echo.
                          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                          Kommentar


                          • #14
                            Wenn ich als Angebe folgenden Code angebe,
                            PHP-Code:
                              $eintrag mysql_query('UPDATE user 
                                                      SET username = '
                            .$_POST['username'].',
                                                          userhometown = '
                            .$_POST['userhometown'].',
                                                          userplz = '
                            .$_POST['userplz'].',
                                                          usermotto = '
                            .$_POST['usermotto'].',
                                                          usericquin = '
                            .$_POST['usericquin'].',
                                                  userprofiltext = '
                            .$_POST['userprofiltext'].'
                                                      WHERE userid = '
                            .$_SESSION['session_id']); 
                            und es mir KEIN Fehler angezeigt wird, dann "KANN" es doch nur an falscher Definition der einzelnen Variablen liegen oder?
                            Sprich das ich eine variable falsch benannt habe oder so, richtig?
                            Dort wird kein fehler angezeigt, doch es funktioniert nicht.

                            Kommentar


                            • #15
                              OffTopic:
                              Ui, hät ja fast nicht gedacht, das mein Blog gelesen wird ^^

                              Kommentar

                              Lädt...
                              X