adamjones Posted January 25, 2009 Share Posted January 25, 2009 Hi. I set up a CMS quite a while back, and it was all working fine, until about a week ago, when it just suddenly stopped echoing things, like usernames, last logins, etc.. I think it's just no longer registering the username, etc... But I haven't a clue why. Can anyone find out the problem? (This is the forum where username and password are posted to): <?php <?php ob_start(); $host="localhost"; $username="domainey_x"; $password="pass"; $db_name="domainey_x"; $tbl_name="members"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); $data=mysql_fetch_array($result); $access= $data['access']; $id= $data['id']; $name= $data['name']; $email= $data['email']; $number= $data['number']; $count=mysql_num_rows($result); if($count==1){ session_register("myusername"); session_register("access"); session_register("mypassword"); session_register("name"); session_register("email"); session_register("number"); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $lastlogin = $data['lastlogin']; session_register("lastlogin"); $DB_Query = @mysql_query("UPDATE `members` SET lastlogin=Now() WHERE username='$myusername'") OR die('MySQL error: '.mysql_error()); header("location:admin.php"); } else { echo "Silly PHP. "; } ob_end_flush(); ?> It logs in, etc, just doesn't register anything! Cheers! Quote Link to comment Share on other sites More sharing options...
tommyda Posted January 25, 2009 Share Posted January 25, 2009 try removing one of the <?php tags from the start. Quote Link to comment Share on other sites More sharing options...
gevans Posted January 25, 2009 Share Posted January 25, 2009 session_register("myusername"); session_register("access"); session_register("mypassword"); session_register("name"); session_register("email"); session_register("number"); deprecated as of php 5.3 use $_SESSION['myusername'] = $myusername; Quote Link to comment Share on other sites More sharing options...
PFMaBiSmAd Posted January 25, 2009 Share Posted January 25, 2009 session_register (and the two other related functions) were disabled in php4.2 in the year 2002 when register_globals were turned off and have been completely removed in php6. Quote Link to comment Share on other sites More sharing options...
gevans Posted January 25, 2009 Share Posted January 25, 2009 I stand corrected, I was going off the top of my head I'd say your servers have just been updated Quote Link to comment Share on other sites More sharing options...
adamjones Posted January 25, 2009 Author Share Posted January 25, 2009 Right.. :s So, I need to like, re-learn all of PHP? Quote Link to comment Share on other sites More sharing options...
Mchl Posted January 25, 2009 Share Posted January 25, 2009 Right.. :s So, I need to like, re-learn all of PHP? Nope. Just the changes Quote Link to comment Share on other sites More sharing options...
gevans Posted January 25, 2009 Share Posted January 25, 2009 Right.. :s So, I need to like, re-learn all of PHP? Haha, session register being deprecated is hardly all of php Quote Link to comment Share on other sites More sharing options...
adamjones Posted January 25, 2009 Author Share Posted January 25, 2009 Right.. :s So, I need to like, re-learn all of PHP? Haha, session register being deprecated is hardly all of php Lol! I suppose not, but I'm just confused as to what I need to change? Quote Link to comment Share on other sites More sharing options...
Mchl Posted January 25, 2009 Share Posted January 25, 2009 Check this out This is "why" http://www.zend.com/topics/White-paper-PHP4-PHP5.pdf This is "what" http://www.php.net/manual/en/migration5.php Quote Link to comment Share on other sites More sharing options...
gevans Posted January 25, 2009 Share Posted January 25, 2009 session_register("myusername"); session_register("access"); session_register("mypassword"); session_register("name"); session_register("email"); session_register("number"); deprecated as of php 5.3 use $_SESSION['myusername'] = $myusername; Quote Link to comment Share on other sites More sharing options...
adamjones Posted January 25, 2009 Author Share Posted January 25, 2009 Ok. I changed it to; $_SESSION['myusername'] = $myusername; $_SESSION['access'] = $access; $_SESSION['mypassword'] = $mypassword; $_SESSION['name'] = $name; $_SESSION['email'] = $email; $_SESSION['number'] = $number; But it's still not registering them? Quote Link to comment Share on other sites More sharing options...
Mchl Posted January 25, 2009 Share Posted January 25, 2009 I guess adding session_start before those, would help. Quote Link to comment Share on other sites More sharing options...
adamjones Posted January 25, 2009 Author Share Posted January 25, 2009 I guess adding session_start before those, would help. Well, I changed the code to this; <?php ob_start(); $host="localhost"; $username="domainey_x"; $password="pass"; $db_name="domainey_x"; $tbl_name="members"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); $data=mysql_fetch_array($result); $access= $data['access']; $id= $data['id']; $name= $data['name']; $email= $data['email']; $number= $data['number']; $count=mysql_num_rows($result); if($count==1){ session_start(); $_SESSION['myusername'] = $myusername; $_SESSION['access'] = $access; $_SESSION['mypassword'] = $mypassword; $_SESSION['name'] = $name; $_SESSION['email'] = $email; $_SESSION['number'] = $number; $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $lastlogin = $data['lastlogin']; session_register("lastlogin"); $DB_Query = @mysql_query("UPDATE `members` SET lastlogin=Now() WHERE username='$myusername'") OR die('MySQL error: '.mysql_error()); header("location:admin.php"); } else { echo "silly PHP "; } ob_end_flush(); ?> But it's still not registering. Quote Link to comment Share on other sites More sharing options...
Mchl Posted January 25, 2009 Share Posted January 25, 2009 One more left session_register("lastlogin"); Quote Link to comment Share on other sites More sharing options...
adamjones Posted January 25, 2009 Author Share Posted January 25, 2009 One more left session_register("lastlogin"); Thanks, but still not registering anything; <?php ob_start(); $host="localhost"; $username="domainey_x"; $password="pass"; $db_name="domainey_x"; $tbl_name="members"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); $data=mysql_fetch_array($result); $access= $data['access']; $id= $data['id']; $name= $data['name']; $email= $data['email']; $number= $data['number']; $count=mysql_num_rows($result); if($count==1){ session_start(); $_SESSION['myusername'] = $myusername; $_SESSION['access'] = $access; $_SESSION['mypassword'] = $mypassword; $_SESSION['name'] = $name; $_SESSION['email'] = $email; $_SESSION['number'] = $number; $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $_SESSION['lastlogin'] = $lastlogin; $DB_Query = @mysql_query("UPDATE `members` SET lastlogin=Now() WHERE username='$myusername'") OR die('MySQL error: '.mysql_error()); header("location:admin.php"); } else { echo "silly PHP "; } ob_end_flush(); ?> Quote Link to comment Share on other sites More sharing options...
Mchl Posted January 25, 2009 Share Posted January 25, 2009 Now we should probably check the code that uses those session variables. But before that, let's make sure, that they actually go to session var_dump($_SESSION); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.