0

我试图将一组用户引导Basic到一种类型的个人资料页面mod_profile.php,将另一组用户引导upgraded到不同的个人资料页面mod_account.php。到目前为止,我有这个,但它似乎遇到了麻烦。当我打开mod_account.php它无法从mod_profile其他个人资料页面重新声明某些功能时,我遇到了错误,但我不明白为什么,我只想为每种用户类型加载一个页面。

有人可以告诉我我做错了什么吗?

我的profile.php页面:

 <?php
    $page_title = "Profile";
    include('includes/header.php');
    include ('includes/mod_login/login_form2.php');     

    // GET PROFILE ID FROM URL
    if (isset ($_GET['id'])) {
        $profile_id = $_GET['id'];
    }
    ?>

    <?php
    $user_info_set = get_user_info();
    if (!$user = mysql_fetch_array($user_info_set)) {
        include ('includes/mod_profile/mod_noprofile.php');
    } else if (!isset($profile_id)) {
        include("includes/mod_profile/mod_noprofile.php");
    }

    $profile_info_set = get_profile_info();
    while ($profile = mysql_fetch_array($profile_info_set)) 

    if (isset ($profile_id))
    if ($user['account_status'] == "Active") {
        include("includes/mod_profile/mod_profile.php");
    }

    $profile_info3_set = get_profile_info3();

    while ($profile = mysql_fetch_array($profile_info3_set)) 
        if (isset ($profile_id))
        if ($user['account_type'] == "Basic

    ----------

    ") {
        include("includes/mod_profile/mod_account.php");
    }
    ?>
    <script type="text/javascript" src="assets/js/jquery.prettyPhoto.js"></script>
    <?php include('includes/footer.php');?>

我定义的功能代码:

 // profile functions
        function get_user_info() {
            global $connection;
            global $profile_id;
            $query = "SELECT *
                        FROM ptb_users
                        WHERE id = \"$profile_id\"
                        AND account_status = \"Active\" ";
            $user_info_set = mysql_query($query, $connection);
            confirm_query($user_info_set);
            return $user_info_set;
        }

function get_profile_info() {
            global $connection;
            global $profile_id;
            $query = "SELECT *
                        FROM ptb_profiles, ptb_users
                        WHERE ptb_profiles.user_id = \"$profile_id\"
                        AND account_type = \"Basic\"
                        AND ptb_profiles.user_id = ptb_users.id";
            $profile_info_set = mysql_query($query, $connection);
            confirm_query($profile_info_set);
            return $profile_info_set;

            }


            function get_profile_info3() {
            global $connection;
            global $profile_id;
            $query = "SELECT *
                        FROM ptb_profiles, ptb_users
                        WHERE ptb_profiles.user_id = \"$profile_id\"
                        AND account_type = \"Upgraded\"
                        AND ptb_profiles.user_id = ptb_users.id";
            $profile_info3_set = mysql_query($query, $connection);
            confirm_query($profile_info3_set);
            return $profile_info3_set;

            }
4

1 回答 1

0

好的,所以您的问题是您有时会两次加载同一个文件并重新定义函数。PHP 对此有一个解决方案:) http://php.net/manual/en/function.include-once.php

include_once "functions.php"

这意味着在加载任何页面时,functions.php 只会在尚未加载的情况下加载。

让我知道这是否有助于解决您的问题。第二个代码块是什么文件?

于 2012-11-01T16:24:42.367 回答