首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UserCake上添加新字段

在UserCake上添加新字段
EN

Stack Overflow用户
提问于 2013-10-26 10:59:35
回答 1查看 774关注 0票数 2

我想添加一个user_photo (用户图像网址)字段到我的基于UserCake PHP的网站,你知道这个脚本吗?

我知道如何将字段添加到寄存器页,后者将URL添加到数据库中,但我不知道如何使用它作为显示名称:当我将&loggedInUser->displayname放入时,它会返回,例如,GrupoActemp。

我想将&loggedInUser->picture&loggedInUser->image&loggedInUser->photo放在它返回的地方,例如http://www.imageserver.com/directory/image.png

Info: db表的名称为user_photo

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 06:40:09

你猜怎么着,我刚刚解决了这个问题。我得把所有的东西都找回来,然后拿到东西。将字段添加到register.ph和newuser类后,

  • 转到models/ funcs.php,找到函数fetchUserDetails (行~ 318 )。在$stmt变量中添加您的字段(第345行)。
  • 再次将其添加到行(~354,~456)。
  • 转到login.php,转到行(~ 60 ),将变量添加到其他变量的末尾(在注释下--将一些db数据传输到会话对象)

就是这样。使用此代码检查是否有您想要的字段:

代码语言:javascript
复制
<pre>
    <?php print_r(get_object_vars($loggedInUser)); ?>
</pre>

例如,我想添加道布(生日)字段,在添加了要注册的值、新用户类和func.php文件、登录文件之后,我的文件如下所示:

login.php

代码语言:javascript
复制
//Construct a new logged in user object
//Transfer some db data to the session object
$loggedInUser = new loggedInUser();
$loggedInUser->email = $userdetails["email"];
$loggedInUser->user_id = $userdetails["id"];
$loggedInUser->hash_pw = $userdetails["password"];
$loggedInUser->title = $userdetails["title"];
$loggedInUser->displayname = $userdetails["display_name"];
$loggedInUser->username = $userdetails["user_name"];
$loggedInUser->dob = $userdetails["dob"];

funcs.php

代码语言:javascript
复制
//Retrieve complete user information by username, token or ID
function fetchUserDetails($username=NULL,$token=NULL, $id=NULL)
{
    if($username!=NULL) {
        $column = "user_name";
        $data = $username;
    }
    elseif($token!=NULL) {
        $column = "activation_token";
        $data = $token;
    }
    elseif($id!=NULL) {
        $column = "id";
        $data = $id;
    }
    global $mysqli,$db_table_prefix; 
    $stmt = $mysqli->prepare("SELECT 
        id,
        user_name,
        display_name,
        password,
        email,
        activation_token,
        last_activation_request,
        lost_password_request,
        active,
        title,
        sign_up_stamp,
        last_sign_in_stamp,
        dob
        FROM ".$db_table_prefix."users
        WHERE
        $column = ?
        LIMIT 1");
        $stmt->bind_param("s", $data);

    $stmt->execute();
    $stmt->bind_result($id, $user, $display, $password, $email, $token, $activationRequest, $passwordRequest, $active, $title, $signUp, $signIn,$dob);
    while ($stmt->fetch()){
        $row = array('id' => $id, 'user_name' => $user, 'display_name' => $display, 'password' => $password, 'email' => $email, 'activation_token' => $token, 'last_activation_request' => $activationRequest, 'lost_password_request' => $passwordRequest, 'active' => $active, 'title' => $title, 'sign_up_stamp' => $signUp, 'last_sign_in_stamp' => $signIn,'dob'=>$dob);
    }
    $stmt->close();
    return ($row);
}

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19605880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档