Re: [PHP-DB] "global" variables
Yes agreed - but you cannot store them in a variable because they will be lost each time the page reloads. Why not store them in a cookie? Hello Davey, thank you for help! I now don't use a cookie but added a column for this purpose in my usertable in the db. Torsten -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re[2]: [PHP-DB] "global" variables
Hello Torsten, Monday, March 1, 2004, 6:30:11 PM, you wrote: TL> You mean this will unset $v_dec["page_no"]? Well $page_no at that point in your script equals nothing, so yes - it will always make $v_dec equal nothing. TL> This explains why at reload of index.php happens what happend. TL> But how to solve it? I _have_ to store some variables anywhere. Yes agreed - but you cannot store them in a variable because they will be lost each time the page reloads. Why not store them in a cookie? -- Best regards, Richard Davey http://www.phpcommunity.org/wiki/296.html -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] "global" variables
Hello Devey, > $v_dec["page_no"] = $page_no; > Which means that $v_dec will always equal nothing, because at the > point at which the file is included, $page_no hasn't been set to > anything at all. You mean this will unset $v_dec["page_no"]? This explains why at reload of index.php happens what happend. But how to solve it? I _have_ to store some variables anywhere. The session management at this point is rudimentary. I wrote it that way, that it works for now, i.e. building the query pages. This is of course not the final session management. At login I just write the session_id() into the table without checking if the user already owns a session. I left it to the end of work. So maybe it is not a problem of login_status()? function check_user($check_name, $check_passw) { $connect = @OCILogon("", "", ""); if(!$connect) { $err_oci = OCIError(); echo "(2) No connection - OCIError(): ".$err_oci["message"]; echo ""; } else { $sql_check = "SELECT count(*) AS count FROM user_web WHERE user_name = '".$check_name."' AND user_pass = '".$check_passw."'"; $stmt = OCIParse($connect, $sql_check); OCIExecute($stmt); while(OCIFetch($stmt)) { $res_check = (int) OCIResult($stmt, "COUNT"); } if(!$res_check == 1) { OCIFreeStatement($stmt); OCILogOff($connect); return(false); } else { $sql_check = "SELECT user_pid FROM user_web WHERE user_name = '".$check_name."' AND user_pass = '".$check_passw."'"; $stmt = OCIParse($connect, $sql_check); OCIExecute($stmt); while(OCIFetch($stmt)) { $user_pid = (int) OCIResult($stmt, "USER_PID"); } OCIFreeStatement($stmt); OCILogOff($connect); return($user_pid); } } } function login($user_pid, $session_id) { $connect = @OCILogon("", "", ""); if(!$connect) { $err_oci = OCIError(); echo "(2) No connection - OCIError(): ".$err_oci["message"]; echo ""; } else { $sql_login = "UPDATE user_web SET user_session = '".$session_id."' WHERE user_pid = '".$user_pid."'"; $stmt = OCIParse($connect, $sql_login); OCIExecute($stmt); } OCIFreeStatement($stmt); OCILogOff($connect); } function login_status($session_id) { $connect = @OCILogon("", "", ""); if(!$connect) { $err_oci = OCIError(); echo "(2) No connection - OCIError(): ".$err_oci["message"]; echo ""; } else { $sql_session_id = "SELECT count(user_session) FROM user_web WHERE user_session = '".$session_id."'"; $stmt = OCIParse($connect, $sql_session_id); OCIExecute($stmt); while(OCIFetch($stmt)) { $res_status = OCIResult($stmt, "COUNT(USER_SESSION)"); } if(!$res_status == 1) { return(false); } else { return($res_status); } } OCIFreeStatement($stmt); OCILogOff($connect); } Now I changed $page_no to $v_dec["page_no"] with the same result. If through submitting a form index.php is reloaded, but the value in $v_dec["page_no"] get lost. #manage.php if(!isset($v_dec["page_no"])) { $v_dec["page_no"] = "login"; } if(!(login_status($session_id)) == 1) { $v_dec["page_no"] = "login"; } /* User logged in? */ if(!($v_dec["page_no"] == "login")) { include('head.php'); } else { if(isset($_POST['login'])) { if(!($_POST['user'] == "") && !($_POST['passw'] =="")) { $user_pid = check_user($_POST['user'], $_POST['passw']); if(($user_pid != false) && (login_status($user_pid) == false)) { login($user_pid, $session_id); $res_login = 1; $v_dec["page_no"] = "start_auswahl"; } else { $res_login = 0; $res_login_text = "Login incorrect."; } } else { $res_login = 0; $res_login_text = "Insert Login AND Passwort."; } } else { $res_login = 0; } if($res_login == 0) { include('b_login.php'); } } /* if page = wells, springs, precipitation, surface used überprüfen, ob Formulare abgeschickt */ if($v_dec["page_no"] == "start_select") { if(isset($_POST['b_start_select'])) { if(!($_POST['sources'] == "")) { switch($_POST['sources']) { case
Re: [PHP-DB] "global" variables
Richard Davey wrote: > You don't check $v_dec in your manage.php script though, you check to > see if $page_no is set which it never will be, because no-where do you > give it a value. Thanks Davey, but is $page_no not set every time (see below) or did you mean that I must rather use $v_dec["page_no"] in the code? if(!isset($page_no)) { $page_no = "login"; } $page_no is set to "login" if(!(login_status($session_id)) == 1) { $page_no = "login"; } $page_no is set to "login" if(($user_pid != false) && (login_status($user_pid) == false)) { login($user_pid, $session_id); $res_login = 1; $page_no = "start_select"; If login ok then $page_no is set to "start_select". if(!($page_no == "login")) switch { case...: $page_no="new value"} Torsten -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] "global" variables
Hello Torsten, Monday, March 1, 2004, 4:48:39 PM, you wrote: TL> I build a small web interface to a database. This should be on the PHP General list, not DB - but even so, I'll answer your question: TL> if(!isset($page_no)) TL> { TL> $page_no = "login"; TL> } TL> I declared the $page_no in my TL> #variables.php as TL> $v_dec["page_no"] = $page_no. You don't check $v_dec in your manage.php script though, you check to see if $page_no is set which it never will be, because no-where do you give it a value. -- Best regards, Richard Davey http://www.phpcommunity.org/wiki/296.html -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] "global" variables
Hi, I build a small web interface to a database. I include into the index.php the and a : #index.php In I include the and the and then decide on the status of a variable $page_no which further has to be included to perfom the query jobs: #manage.php if(!isset($page_no)) { $page_no = "login"; } if(!(login_status($session_id)) == 1) { $page_no = "login"; } // user logged in? if(!($page_no == "login")) { include('head.php'); } else { if(isset($_POST['login'])) { if(!($_POST['user'] == "") && !($_POST['passw'] =="")) { $user_pid = check_user($_POST['user'], $_POST['passw']); if(($user_pid != false) && (login_status($user_pid) == false)) { login($user_pid, $session_id); $res_login = 1; $page_no = "start_select"; } else . . . if($res_login == 0) { include('b_login.php'); } } if($page_no == "start_select") { if(isset($_POST['b_start_select'])) { if(!($_POST['sources'] == "")) { switch($_POST['sources']) { case "wells": $page_no = "wells"; break; case "springs": $page_no = "springs"; break; case "precipitation": $page_no = "precipitation"; break; case "surface": $page_no = "surface"; break; case "used": $page_no = "used"; break; default: $page_no = "start_select"; } } } } if(!($page_no == "login")) { switch($page_no) { case "start_select": include('b_start_select.php'); break; case "wells": include('b_wells.php'); break; case "springs": include('b_springs.php'); break; case "precipitation": include('b_precipitation.php'); break; case "surface": include('b_surface.php'); break; case "used": include('b_used.php'); break; default: echo "If you see this side, please mail to.; } include('fuss.php'); } ?> I declared the $page_no in my #variables.php as $v_dec["page_no"] = $page_no. Now I have the problem that after login and switching to b_start_select.php still $page_no="start_select", because I can print it to this page: echo $page_no gives: start_select but echo $v_dec["page_no"] prints nothing Second problem: When I pass my selection through the form on the b_start_select.php (form action = "index.php") $page_no again becomes unset. That means I fall back to the login page. Any suggestions? How in general do you this. Thank you, Torsten -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DB] Global variables
> -Original Message- > From: Jim [mailto:[EMAIL PROTECTED]] > Sent: 10 December 2002 18:51 > > Can I define a global variable in a function and then > successfully reference > it in the rest of the page? Yes. (Why didn't you just try it?) Cheers! Mike - Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning & Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: [EMAIL PROTECTED] Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Global variables
Can I define a global variable in a function and then successfully reference it in the rest of the page? I know that globals are usually defined in the page scope and referenced in a function by specifying them as globals, but it seems logical that a variable can be created and given a value in a function and then referenced after the function has been called. -- Jim Freedom is worth protecting -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Global variables, $_GET problem
Thank you very much for your help. It was a silly mistake. We had a few sites affected. I was so worried that I overlooked the simple problem. Thanks again. Mailing List is great (first time for me)! Ruth - Original Message - From: "Beau Lebens" <[EMAIL PROTECTED]> To: "'Ruth Zhai'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Wednesday, July 24, 2002 1:44 PM Subject: RE: [PHP-DB] Global variables, $_GET problem > Ruth, > > your reference to $_GET('var') is close, but as you have seen - no cigar :) > using the "()" after GET makes it refer to a function, but it is actually an > array which is automatically created, so you need to use > > $_GET['var'] (note the square brackets > > as for point 2 (register_globals) did you restart the apache service after > changing it? because registering globals should make $var available again > (but won't help with problem 1 :) > > HTH > > Beau > > // -Original Message- > // From: Ruth Zhai [mailto:[EMAIL PROTECTED]] > // Sent: Wednesday, 24 July 2002 11:39 AM > // To: [EMAIL PROTECTED] > // Subject: [PHP-DB] Global variables, $_GET problem > // > // > // Hello php friends, > // We just upgraded our PHP to version 4.2.1. I realized that > // $var is no > // longer available from www.url.com/myphp.php?var=3 . As > // instructed in the > // document, we have tried two things: > // 1. I tried to use $_GET('var'), however, I got "Fatal error: Call to > // undefined function: array() in /home/httpd/... " message. I > // have no clue > // what this means, and what I have done wrong. > // 2. Set register_globals = on in the configuration file. > // This did not make > // any difference. > // > // I don's know what to do now. Your help is highly appreciated. > // > // Ruth > // > // > // > // -- > // PHP Database Mailing List (http://www.php.net/) > // To unsubscribe, visit: http://www.php.net/unsub.php > // -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Global variables, $_GET problem
- Original Message - From: "Jason Wong" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, July 24, 2002 6:45 AM Subject: Re: [PHP-DB] Global variables, $_GET problem > On Wednesday 24 July 2002 11:38, Ruth Zhai wrote: > > > We just upgraded our PHP to version 4.2.1. I realized that $var is no > > longer available from www.url.com/myphp.php?var=3 . As instructed in the > > document, we have tried two things: > > Good, someone who reads the docs :) > > > 1. I tried to use $_GET('var'), however, I got "Fatal error: Call to > > undefined function: array() in /home/httpd/... " message. I have no clue > > what this means, and what I have done wrong. > > It should be $GET['var']. It should be $_GET['var'] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Global variables, $_GET problem
On Wednesday 24 July 2002 11:38, Ruth Zhai wrote: > We just upgraded our PHP to version 4.2.1. I realized that $var is no > longer available from www.url.com/myphp.php?var=3 . As instructed in the > document, we have tried two things: Good, someone who reads the docs :) > 1. I tried to use $_GET('var'), however, I got "Fatal error: Call to > undefined function: array() in /home/httpd/... " message. I have no clue > what this means, and what I have done wrong. It should be $GET['var']. > 2. Set register_globals = on in the configuration file. This did not make > any difference. Did you restart the webserver? Did you make sure you're editing the correct php.ini? Check using phpinfo(). -- Jason Wong -> Gremlins Associates -> www.gremlins.com.hk Open Source Software Systems Integrators * Web Design & Hosting * Internet & Intranet Applications Development * /* Serocki's Stricture: Marriage is always a bachelor's last option. */ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DB] Global variables, $_GET problem
Ruth, your reference to $_GET('var') is close, but as you have seen - no cigar :) using the "()" after GET makes it refer to a function, but it is actually an array which is automatically created, so you need to use $_GET['var'] (note the square brackets as for point 2 (register_globals) did you restart the apache service after changing it? because registering globals should make $var available again (but won't help with problem 1 :) HTH Beau // -Original Message- // From: Ruth Zhai [mailto:[EMAIL PROTECTED]] // Sent: Wednesday, 24 July 2002 11:39 AM // To: [EMAIL PROTECTED] // Subject: [PHP-DB] Global variables, $_GET problem // // // Hello php friends, // We just upgraded our PHP to version 4.2.1. I realized that // $var is no // longer available from www.url.com/myphp.php?var=3 . As // instructed in the // document, we have tried two things: // 1. I tried to use $_GET('var'), however, I got "Fatal error: Call to // undefined function: array() in /home/httpd/... " message. I // have no clue // what this means, and what I have done wrong. // 2. Set register_globals = on in the configuration file. // This did not make // any difference. // // I don's know what to do now. Your help is highly appreciated. // // Ruth // // // // -- // PHP Database Mailing List (http://www.php.net/) // To unsubscribe, visit: http://www.php.net/unsub.php // -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Global variables, $_GET problem
Hello php friends, We just upgraded our PHP to version 4.2.1. I realized that $var is no longer available from www.url.com/myphp.php?var=3 . As instructed in the document, we have tried two things: 1. I tried to use $_GET('var'), however, I got "Fatal error: Call to undefined function: array() in /home/httpd/... " message. I have no clue what this means, and what I have done wrong. 2. Set register_globals = on in the configuration file. This did not make any difference. I don's know what to do now. Your help is highly appreciated. Ruth -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php