从类获取函数不起作用


getting function from class not working

我正试图将一个函数从类获取到另一个文件,但当我运行代码时,它显示"致命错误:调用C:''AppServ''www''store''start.php中第4行的非对象上的成员函数start_order()"

这是呼叫代码:

    <?php
    @session_start();
    require_once ( 'include/functions.php' );
    $users->start_order();
    ?>

这是类和函数代码:

    <meta charset='utf-8' />
    <?php
    require_once ( 'include/config.php' );
    class users {
    public function start_order () {
    if($_SESSION['id']) {
    $services=mysql_query("SELECT * FROM services");
    print ("
    <form action='<?php echo $PHP_SELF; ?>' method='post'>
    <input name='orderlink' type='text'></input>
    <input name='orderquantity' type='text'></input>
    <input name='ordersubmit' type='text'></input>
    </form>
    ");
    $order_submit=$_POST ['ordersubmit'];
    $order_link=$_POST ['orderlink'];
    $order_quantity=$_POST ['orderquantity'];
    if($order_submit AND !empty($order_link) AND !empty($order_quantity)){
    while ($fetch_services=mysql_fetch_object($services)) {
    print ("<select>");
    print ("<option value='$fetch_services->id'>$fetch_services->service_name ($fetch_services->service_price)</option>");
    print ("</select>"); }
    } else { echo "خطاء";}
    $s_id=$_POST ['service'];
    $g_s_i=mysql_query("SELECT * FROM services WHERE id='$s_id'");
    $fetch_service=mysql_fetch_object($g_s_i);
    $s_price=$fetch_service->servic_price;
    $service_n=$fetch_service->service_name;
    $charge=$s_price/$order_quantity*$order_quantity;
    $date=date ("Y-m-d");
    $userbalance=mysql_query("SELECT * FROM users WHERE id='$_SESSION[id]'");
    $fetch_userbalance=mysql_fetch_object($userbalance);
    $u_balance=$fetch_userbalance->balance;
    if ($u_balance >= $charge) {
    $insert_order_values=mysql_query("INSERT INTO orders(id,u_id,u_name,date,link,charge,quantity,service_name,status) VALUES ('','$_SESSION[username]','$date','$order_link','$charge','$order_quantity','$service_n','0')"); 
    $update_balance=mysql_query("UPDATE users SET balance=$u_balance-$charge WHERE id='$_SESSION[id]'");
    }
    else { echo "not enough fund";}
    }}}
    ?>

您还没有创建$users。

 $users = new users();
 $users->start_order();

此外,最好将类名大写,这样它们看起来就不像你的实例了。

 $users = new Users();
 $users->start_order();

在使用对象之前,您需要创建一个对象实例:

<?php
@session_start();
require_once ( 'include/functions.php' );
$users = new users();
$users->start_order();
?>