php - 登录成功后回显用户详细信息

标签 php mysql html

呃..现在它不工作了?

现在我希望能够扩展我的 session 回显,以便我可以添加用户名/全名/等等。如果你能告诉我我需要做什么来添加第二个,我就能弄清楚如何从那里扩展用户值(value)。

尝试回显用户名,但也能够将其扩展到用户名、名字、姓氏、emp id 等的不同页面上......

访问.php

    <?php
    class Access {      
final public function login( $id, $url = false, $user ) {
        $_SESSION[LOGINSESSION] = $id;

        //you would do this for all columns
        $_SESSION['user'] = $user;

        if ( $url )
            new Redirect(urldecode($url));
        else
            new Redirect(URL);
    }

        final public function require_login() {
            if ( ! self::is_logged(true) )
                self::not_logged();
        }
    }

索引.php

    <?php require_once('../admin/pinAPP.php'); $pinAPP = new pinAPP( 'newhire', false, false, true ); ?>
<?php if ( $pinAPP->can_access() ) { ?><!-- New hire -->
    <center>
        <div class="panel">
                    <div>
                        <br>
                            <b><?= $_SESSION['user']['username']; 
//or
$_SESSION['user']['FirstName']; ?>,</b>
                        <br>
                        <br>
                            <p>Below you will find all the necessary information on needed for onboarding process.</p>                  
                        <br> 
                        <br>
                    </div>
<?php } else {} ?>

<!-- -->

<?php include('footer.php'); ?>

最佳答案

已更新。您需要在 Access::login 方法中设置一个 session 变量来存储该信息。

Access::login(md5($u->username), $_REQUEST['return_url'], $_POST['username']);

将用户名 post 对象传递给 Access::login 方法,然后在该方法中将该用户名设置为 session 变量:

final public function login( $id, $url = false, $username ) {
        $_SESSION[LOGINSESSION] = $id;
        $_SESSION['username'] = $username;

        if ( $url )
            new Redirect(urldecode($url));
        else
            new Redirect(URL);
    }

然后你只需在你的pinAPP页面中调用一个session变量:

 <?php require_once('../admin/pinAPP.php'); $pinAPP = new pinAPP( 'newhire', false, false, true ); ?>
<?php if ( $pinAPP->can_access() ) { ?><!-- New hire -->
    <center>
        <div class="panel">
                    <div>
                        <br>
                            <b><?= $_SESSION['username']; ?>,</b>
                        <br>
                        <br>
                            <p>Below you will find all the necessary information on needed for onboarding process.</p>                  
                        <br> 
                        <br>
                    </div>
<?php } else {} ?>

将整行传递给函数:

final public function login( $id, $url = false, $user ) {
        $_SESSION[LOGINSESSION] = $id;

        //you would do this for all columns
        $_SESSION['user'] = $user;

        if ( $url )
            new Redirect(urldecode($url));
        else
            new Redirect(URL);
    }

然后您将更改您的索引页面以通过以下方式访问该值:

$_SESSION['user']['username']; 
//or
$_SESSION['user']['FirstName'];

你会这样调用这个函数:

$userRow = $sql->sqls("UPDATE `". DBPREFIX ."users` SET `last_login_ip` = '". $ip ."', `last_login_timestamp` = '". time() ."' WHERE `username`='$user'");
Access::login(md5($u->username), $_REQUEST['return_url'],$userRow);

关于php - 登录成功后回显用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33727975/

相关文章:

php - 发表评论脚本

java - 性能测试各种数据库

javascript - 根据选择选项显示 div

html - Bootstrap 媒体查询覆盖未按预期工作

html - 调整窗口大小时保持横幅图像居中?

php - 我的 PHP 代码出现在导出的 CSV 文档中

php - 在environment.prod.ts 文件上设置条件

javascript - 表单提交后 Magento 电子邮件成功消息返回空白页

MySQL 根据找到的 ID 返回 1 或 0

mysql - 修改mysql中通过group_concat()获取的值