WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   fehler in session (http://www.wcm.at/forum/showthread.php?t=127439)

Potassium 05.03.2004 21:01

fehler in session
 
langsam aber sicher fürchte ich ich hab da an ordentlichen quargel zam in meinem script.
das prob is einloggen funzt manchmal und manchmal ned bzw einloggen funzt immmer aber manchmal bleiben die sessionvars und dann sind sie wieder weg. und ich kommm ned drauf warum.
nachfolgend mein script in gekürzter version:
PHP-Code:

<?
#Includes
include('config.php');
include(
'functions.php');
include(
'session.php');

include(
'vars.php');

if (isset(
$HTTP_GET_VARS['action'])) { #klammer 1 auf
    
if ($HTTP_GET_VARS['action'] != '') { #klammer 2 auf
        
$action $HTTP_GET_VARS['action'];
#hier stehen vorher noch einige if abfragen was $action anbelangt                         
elseif($action == 'do_login') {#klammer 26 auf
            
if (isset($_REQUEST['user_name']) and isset($_REQUEST['user_pw'])) {#klammer 27 auf
                
$User_Name strtolower($_REQUEST['user_name']);
                
$User_Pw $_REQUEST['user_pw'];
                if (
$User_Name != '' and $User_Pw != '') {#klammer28 auf
                    ###############################
                    #datenbankabfrage#
                    ###############################
                    
@$connect mysql_connect($Server,$db_user,$db_pw)or die('keine verbindung mit datenbanke möglich');
                    
mysql_select_db($db);
                    
#echo $User_Name;
                    
$query "SELECT * FROM kalium_users WHERE lower(User_Name) = '$User_Name' LIMIT 1";
                    
$ausführen mysql_query($query);
                    
$row mysql_fetch_object($ausführen);
                    {
#klammer 29 auf
                        
$user_tmp=$row->User_Name;
                        
$pw_tmp $row->User_Pw;
                        
$User_ID $row->User_ID;
                        
$Active $row->User_Active;
                        
$Priv $row->User_Priv;
                    }
#klammer 29 zu
                    
                    
if (strtolower($User_Name) == strtolower($user_tmp) and md5($User_Pw) == $pw_tmp) {#klammer 30 auf
                        
                        
if ($Active == '1') {#klammer 61 auf
                                                    
                            
$_SESSION['LoggedIn'] = "OK";
                            
$_SESSION['User'] = $User_ID;
                            
$_SESSION['Priv'] = $Priv;                        
                            
GetNameFromID($User_ID);
                            
$main_body "Der User ".$_SESSION['UserName']." wurde erfolgreich eingeloggt";
                            include(
'main.php');
                            exit();
                        }
#klammer 61 zu
                        
else {#klammer 62 auf
                            
$_SESSION['LoggedIn'] = "";
                            
$_SESSION['User'] = "";
                            
$_SESSION['Priv'] =  "";
                            
$main_body "Der Account ist nicht aktiv. 
 Bitte kontaktieren Sie den [url='index.php?action=contact']Administrator[/url] bei weiteren Fragen"
;
                            include(
'main.php');
                            exit();
                        }
#klammer 62 zu
                    
}#klammer 30 zu
                    
else {#klammer 66 auf
                        
$main_body "Passwort oder Usernamen sind nicht korrekt";
                        include(
'main.php');
                        exit();
                    }
#klammer 66 zu
                
}#klammer 28 zu
            
}#klammer 27 zu
            
$main_body='';
            include(
'main.php');
            exit();
        }
#klammer 26 zu
?>

das is die index.php (bzw ein teil davon)
nun noch die session.php
PHP-Code:

<?
session_start
();
session_register('UserName');
session_register('User');
session_register('LoggedIn');
session_register('Priv');
?>

in der config.php stehen die daten für den db zugriff etc aber der funzt ja

BITTE HELFTS MA.
i komm nimma weita

Potassium 05.03.2004 21:15

ajo das beste:
auf einem andren server (www.nightman.at)
hat bis auf session.save_path
EINE IDENTE php.ini
und dort funktioniert es PERFEKT.
und der pfad stimmt bei mir auch
:confused:

jak 06.03.2004 13:18

1.) ist die php.ini echt ident?
(mit fc überprüfen)
2.) ist die php-Version gleich?

Jak

Potassium 06.03.2004 13:40

also
die beiden php ini's:
meine:
PHP-Code:

[Session]

session.save_handler files
session
.save_path E:ProgrammePHPsessiondata    argument passed to save_handler
session
.use_cookies 1
session
.name PHPSESSID
session
.auto_start 0
session
.cookie_lifetime 0
session
.cookie_path = /
session.cookie_domain =
session.serialize_handler php
session
.gc_probability 1
session
.gc_divisor     100
session
.gc_maxlifetime 1440
session
.bug_compat_42 1
session
.bug_compat_warn 1
session
.referer_check =
session.entropy_length 0
session
.entropy_file =
session.cache_limiter nocache
session
.cache_expire 180
session
.use_trans_sid 0
url_rewriter
.tags "a=href,area=href,frame=src,input=src,form=,fieldset=" 

die funktionierende php.ini:
PHP-Code:

[Session]

session.save_handler files
session
.save_path Z:PHPsessiondata    argument passed to save_handler
session
.use_cookies 1
session
.name PHPSESSID
session
.auto_start 0
session
.cookie_lifetime 0
session
.cookie_path = /
session.cookie_domain =
session.serialize_handler php
session
.save_handler files
session
.gc_probability 1
session
.gc_divisor     100
session
.gc_maxlifetime 1440
session
.bug_compat_42 1
session
.bug_compat_warn 1

session
.referer_check =
session.entropy_length 0
session
.entropy_file =
session.cache_limiter nocache
session
.cache_expire 180
session
.use_trans_sid 0
url_rewriter
.tags "a=href,area=href,frame=src,input=src,form=,fieldset=" 

php version ist 2x 4.3.4
meins is wxp pro und seins w2k3 server.

jak 06.03.2004 15:51

Die Zeile
session.save_handler = files
fehlt in der ersten php.ini
(Ich hab eigentlich gemeint du sollst auf der Kommandozeile "fc php1.ini php2.ini > vergleich.txt" machen, und nur die Unterschiede posten, ist aber egal).

Vielleicht liegts ja daran.

Jak

Potassium 06.03.2004 16:03

oh fc kannte ich ned :D
aber nein leider liegts daran auch ned :heul:

jak 06.03.2004 16:15

Vielleicht liegts am session.save_path.
Ich hab (liegt bei mir auf d:\wampp2\php)

session.save_path = \wampp2\tmp
vielleuicht funktioniert bei dir
session.save_path = \Programme\PHP\sessiondata

Jak

Potassium 06.03.2004 17:09

Zitat:

Original geschrieben von jak
Vielleicht liegts am session.save_path.
Ich hab (liegt bei mir auf d:\wampp2\php)

session.save_path = \wampp2\tmp
vielleuicht funktioniert bei dir
session.save_path = \Programme\PHP\sessiondata

Jak

werds nachher probieren muss jetzt schnell weg.
:hallo:
*zisch*

Potassium 06.03.2004 19:04

:mad:
funktioniert auch nicht
ich zuck bald aus. des gibts ja ned überall funzt es nur da ned :mad2:

Potassium 06.03.2004 19:32

so nun hab ich php deinstalliert und neu installiert. es funzt noch immer ned :mad:


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag