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?? Link to comment https://forums.phpfreaks.com/topic/139009-calling-a-function-is-generating-a-fatal-error-please-help/ 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(); Link to comment https://forums.phpfreaks.com/topic/139009-calling-a-function-is-generating-a-fatal-error-please-help/#findComment-727024 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>"; } } } } Link to comment https://forums.phpfreaks.com/topic/139009-calling-a-function-is-generating-a-fatal-error-please-help/#findComment-727027 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.