Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] Schon nach wenigen Klicks ausgeloggt! (https://www.delphipraxis.net/87873-%5Bphp%5D-schon-nach-wenigen-klicks-ausgeloggt.html)

silentAMD 6. Mär 2007 17:19


[php] Schon nach wenigen Klicks ausgeloggt!
 
hi,
ich habe ein problem: ich werde nach normalem einloggen nach variabel vielen klicks ausgeloggt (0-20 oder auch mehr)... ich weiss nicht woran das liegt. in foren (wie diesem hier) habe ich noch nie ein solches problem gehabt.

hier ausschnitte meines codes:

Code:
<?php session_start();


function einloggen($name, $passwort)
{
   $result = mysql_query('SELECT usr_id,sta_id,name FROM user_list WHERE name="'.db_format($name).'" AND password=MD5("'.$passwort.'") LIMIT 1') or die(mysql_error());
   if(mysql_num_rows($result) == 1)
   {
      $result = mysql_fetch_assoc($result);
      if($result['sta_id'] > 0)
      {
         mysql_query('UPDATE user_list SET sessionid="'.session_id().'",ipadress="'.db_format($_SERVER['REMOTE_ADDR']).'",datelastlogin=datethislogin,datethislogin=NOW(),logins=logins+1 WHERE usr_id='.$result['usr_id']) or die(mysql_error());
         $_SESSION['sess_usrname'] = $result['name'];
         $_SESSION['sess_status'] = $result['sta_id'];
         $_SESSION['sess_usrid'] = $result['usr_id'];
         header('Location: '.str_replace('&amp;','&',LINK).'mitglieder');
         die();
      }
      else
         return msg(0,'Du wurdest noch nicht freigegeben!
Falls dein Account schnell aktiviert werden soll, melde dich bei mir (ICQ: '.GB_ADMICQ.')');
   }
   else
      return msg(0,'Deine Anmeldedaten waren nicht korrekt!');
}

function logged_in()
{
   $result = mysql_query('SELECT usr_id FROM user_list WHERE sessionid="'.session_id().'" AND ipadress="'.$_SERVER['REMOTE_ADDR'].'" AND sta_id>0 LIMIT 1') or die(mysql_error());
   return (mysql_num_rows($result) == 1);
}



if((isset($_POST['name']) && isset($_POST['pass']))
   $msg = einloggen($_POST['name'], $_POST['pass']);
else
   $msg = '';


define('ON_USR',logged_in());
define('ON_MEM',ON_USR && ($_SESSION['sess_status'] == 2));
define('ON_ADM',ON_USR && ($_SESSION['sess_status'] == 3));


?>

wo liegt das problem????


PLEASE HELP!!!!!

[edit=Phoenix]Code zugemacht. Mfg, Phoenix[/edit]

arbu man 6. Mär 2007 17:42

Re: [php] Schon nach wenigen Klicks ausgeloggt!
 
Schau doch mal nach setcookie da kannst du informationen bis zu 90 Tagen speichern.

[OT]
Ach wie schön php gehört jetzt quasi auch zu Delphi
[/OT]

mfg, Björn

silentAMD 6. Mär 2007 18:35

Re: [php] Schon nach wenigen Klicks ausgeloggt!
 
Zitat:

Zitat von arbu man
[OT]
Ach wie schön php gehört jetzt quasi auch zu Delphi
[/OT]

mfg, Björn

lies das mal zuerst ;)
Zitat:

Fragen, die sich beim Programmieren stellen und dennoch nichts mit Delphi zu tun haben.
Also auch insbesondere Fragen zu anderen Programmier- und Scriptsprachen.

Zitat:

Zitat von arbu man
Schau doch mal nach setcookie da kannst du informationen bis zu 90 Tagen speichern.


joa aber da muss ich ja bei meinen pagebesuchern cookies voraussetzen... bei anderen pages klappt das auch ohne...

Klaus-B.Schmidt 6. Mär 2007 19:03

Re: [php] Schon nach wenigen Klicks ausgeloggt!
 
Hallo,
da du anscheinend mit sessions arbeitest, ist dein Problem eine erscheinung, die ich schon öfters gesehen habe, eine mögliche Lösung, die funktionieren sollte:
Gebe die session-id über die links weiter, du bekommst sie als linkfähigen Zusatz mit diesem Code : session_name()."=".session_id();


MfG

Real_Thunder 6. Mär 2007 19:14

Re: [php] Schon nach wenigen Klicks ausgeloggt!
 
Ich tippe auf die session lifetime die etwas erhöht werden sollte.

Daniel G 6. Mär 2007 19:18

Re: [php] Schon nach wenigen Klicks ausgeloggt!
 
Zitat:

Zitat von silentAMD
Zitat:

Zitat von arbu man
[OT]
Ach wie schön php gehört jetzt quasi auch zu Delphi
[/OT]

mfg, Björn

lies das mal zuerst ;)
Zitat:

Fragen, die sich beim Programmieren stellen und dennoch nichts mit Delphi zu tun haben.
Also auch insbesondere Fragen zu anderen Programmier- und Scriptsprachen.

Ich denke, er spielt darauf an. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz