in reply to Re^16: global var
in thread global var
Test Program Error Log
Can' find the log Padre file
Real Program Error log:
found:/home/jalamior/www/httpsdocs/cgi-bin/lib/perl/manageusers.pm at update_tables-development.cgi line 41. Tue Apr 11 11:26:22 2017 update_tables-development.cgi: found:/home/jalamior/www/httpsdocs/cgi-bin/lib/perl/manageusers.pm at update_tables-development.cgi line 41. Can't opendir /usr/local/apache/lib/perl: No such file or directory at update_tables-development.cgi line 38. Tue Apr 11 11:26:22 2017 update_tables-development.cgi: Can't opendir /usr/local/apache/lib/perl: No such file or directory at update_tables-development.cgi line 38.
Line 30 use manageusers qw($LoggedOn_user_id); { use strict; use warnings; my %wanted; $wanted{manageusers}=1; for my $inc (@INC) { opendir (my $dh,$inc) || warn "Can't opendir $inc: $!"; while (my $file=readdir $dh) { if ($file=~m/(.*)[.]pm$/) { if ($wanted{$1}) { warn 'found:'.$inc.'/'.$file; } } } closedir $dh; } }
You say: and saying And later I populate the variable with the desired data is easy, proving it is not as easy. So cut and paste ALL of manageusers::OpenConnection() and ALL of every subroutine it calls to prove that you do set $manageusers::LoggedOn_user_id properly every time and dont set it back to zero somewhere else.
I don't understand the question. Search all fdiles on manageusers::OpenConnection(); yields 10 hits.
manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection(); manageusers::OpenConnection();
They all call the same function
#--------------------------------------------------------------------- +---------- # Database Conection Functions #--------------------------------------------------------------------- +---------- # FUNCTION: OpenConnection() # DESCRIPTION: Connect to the MySQL database #--------------------------------------------------------------------- +---------- sub OpenConnection { my $localtimenow = localtime(Now()); $dbh = DBI->connect($dsn,$sql_username,$sql_password) or ErrorMessage("Could not connect to the database."); warn("Open Connection-JustBefore returning database handle: '$dbh' + Current Time: '$localtimenow'"); return $dbh; }
You say: prove that you do set $manageusers::LoggedOn_user_id properly every time and dont set it back to zero somewhere else
It is oly populated at two places. For a new logged on user it gets the id from the session table. For an already logged on user (cookie expires 7 days) it get the ID from the session table based on the SID lookup.
New login warn("Hash evaluation succeded - $passhash = $passhash1 : $sessiondata +2 = $sessiondata2md5p"); my $timein = time(); $session->param('user_id',$uid); $session->param('username',$username); $session->param('forename', $forename); $session->param('lastname', $lastname); $session->param('timein', $timein); $session->param('timeout', 0); $session->param('attempts',0); $session->param('isloggedin',1); $session->expires('+7d'); $LoggedOn_user_id = $uid; #$session->param("user_id");
Already logged on if ($status == 1) { warn("Process Login returning after confirmed already logged in: s +tatus: '$status' sessionname: '$sessionname' SID: '$sid'"); my $username1 = $session->param("user_id"); warn("username1 : '$username1'"); $LoggedOn_user_id = $username1; warn("Already logged on LoggedOn_user_id : '$LoggedOn_user_id'");
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^18: global var
by huck (Prior) on Apr 11, 2017 at 18:33 UTC | |
by tultalk (Monk) on Apr 11, 2017 at 20:14 UTC | |
by huck (Prior) on Apr 11, 2017 at 23:44 UTC | |
by tultalk (Monk) on Apr 19, 2017 at 02:28 UTC | |
by tultalk (Monk) on Apr 20, 2017 at 22:42 UTC |