Jump to content

Calling a function is generating a Fatal Error, please help!


Darkmatter5

Recommended Posts

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??

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>";
      }
    }
  }
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.