Darkmatter5 Posted December 31, 2008 Share Posted December 31, 2008 Here's the error message Fatal error: Call to a member function current_user() on a non-object in "my file at line x" Here's the code: class vein { function current_user() { include 'library/config.inc.php'; $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql'); mysql_select_db($dbnameprim); if(!isset($_SESSION['member_id'])) { echo "guest"; } else { $member_id=$_SESSION['member_id']; $query=mysql_query("SELECT mem_username FROM members WHERE member_id='$member_id' ") or die(mysql_error()); $current_user=mysql_fetch_array($query); echo $current_user['mem_username']; } mysql_close($conn); } function login_tool() { include 'library/config.inc.php'; $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql'); mysql_select_db($dbname); if(!isset($_SESSION['member_id'])) { echo "<table width='100%' height='100%' valign='middle'> <tr><td><b><span class='welcome_text'>Welcome guest!<strong></b></td> <td align='right'><span class='medium_text'><a href='login1.php?try=true'>Login</a> | <a href='register.php'>Register</a></span></td></tr> </table>"; } else { $member_id=$_SESSION['member_id']; $username=$vein->current_user(); $vein=new vein(); $query="SELECT COUNT(message_id) as count FROM messages WHERE recipient=$_SESSION[member_id] AND read_status=0"; $result=mysql_query($query) or die($query . '<br >' .mysql_error()); $row=mysql_fetch_array($result); if($row['count']>=1) { echo "<table width='100%' height='100%' valign='middle'> <tr> <td><b><span class='welcome_text'>Welcome <strong></b>$username</strong>! Not $username? <a href='logout.php' tabindex='5'>Logout</a></span></td> <td align='right'><span class='medium_text'><a href='res_accmaint.php'>Edit your profile</a> | <a href='res_maint.php' tabindex='7'>Maint</a> | <a href='help.php' tabindex='8'>Help</a> | <a href='res_mess.php'>You have $row[count] message(s)</a></span></td> </tr> </table>"; } } } } The problem is with this line: $username=$vein->current_user(); What's the problem?? Quote Link to comment Share on other sites More sharing options...
bluesoul Posted December 31, 2008 Share Posted December 31, 2008 It looks like you're calling the function before you've instantiated the object. Flip-flop these two lines. $username=$vein->current_user(); $vein=new vein(); Quote Link to comment Share on other sites More sharing options...
rhodesa Posted December 31, 2008 Share Posted December 31, 2008 use $this: class vein { function current_user() { include 'library/config.inc.php'; $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql'); mysql_select_db($dbnameprim); if(!isset($_SESSION['member_id'])) { echo "guest"; } else { $member_id=$_SESSION['member_id']; $query=mysql_query("SELECT mem_username FROM members WHERE member_id='$member_id' ") or die(mysql_error()); $current_user=mysql_fetch_array($query); echo $current_user['mem_username']; } mysql_close($conn); } function login_tool() { include 'library/config.inc.php'; $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql'); mysql_select_db($dbname); if(!isset($_SESSION['member_id'])) { echo "<table width='100%' height='100%' valign='middle'> <tr><td><b><span class='welcome_text'>Welcome guest!<strong></b></td> <td align='right'><span class='medium_text'><a href='login1.php?try=true'>Login</a> | <a href='register.php'>Register</a></span></td></tr> </table>"; } else { $member_id=$_SESSION['member_id']; $username=$this->current_user(); $query="SELECT COUNT(message_id) as count FROM messages WHERE recipient=$_SESSION[member_id] AND read_status=0"; $result=mysql_query($query) or die($query . '<br >' .mysql_error()); $row=mysql_fetch_array($result); if($row['count']>=1) { echo "<table width='100%' height='100%' valign='middle'> <tr> <td><b><span class='welcome_text'>Welcome <strong></b>$username</strong>! Not $username? <a href='logout.php' tabindex='5'>Logout</a></span></td> <td align='right'><span class='medium_text'><a href='res_accmaint.php'>Edit your profile</a> | <a href='res_maint.php' tabindex='7'>Maint</a> | <a href='help.php' tabindex='8'>Help</a> | <a href='res_mess.php'>You have $row[count] message(s)</a></span></td> </tr> </table>"; } } } } 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.