首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用会话电子邮件在php中获取用户名字

使用会话电子邮件在php中获取用户名字
EN

Stack Overflow用户
提问于 2018-07-08 21:58:22
回答 1查看 524关注 0票数 0

我创建了一个用户使用电子邮件和密码登录的会话,该会话正在捕获他/她的电子邮件,我想使用电子邮件获取她的其他数据,如名字和姓氏,我试图获取它,但由于我的新手,我最终收到了错误,这是我的登录代码:

// LOGIN A USER INTO HIS/HER ACCOUNT
if (isset($_POST['login_user'])) {
$email = mysqli_real_escape_string($db, $_POST['email']);
$password = mysqli_real_escape_string($db, $_POST['password']);

if (empty($email)) {
 array_push($errors, "Email is required");
}
if (empty($password)) {
  array_push($errors, "Password is required");
}

if (count($errors) == 0) {
$password = md5($password);
$query = "SELECT * FROM users WHERE email='$email' AND password='$password'";
$results = mysqli_query($db, $query);  
if (mysqli_num_rows($results) == 1) {
  $_SESSION['email'] = $email;
  $_SESSION['success'] = "You are now logged in";
  header('location: index.php');
 }else {
  array_push($errors, "Wrong Email or Password combination");
 }
 }
}

我认为它类似于下面的代码:(这实际上并不起作用)

if($result) {
    if(mysqli_num_rows($result) == 1) {
        //Login Successful
        session_regenerate_id();
        $user = mysqli_fetch_assoc($result);
        $_SESSION['id'] = $user['user_id'];
        $_SESSION['email'] = $user['email'];
        $_SESSION['first_name'] = $user['first_name'];
        $_SESSION['last_name'] = $user['last_name'];
        session_write_close();
        header("location: user_index.php");
        exit();

        else {
            $sql = "SELECT first_name FROM users WHERE email = '" . 
$_SESSION['email'] . "'";
$result = mysqli_query($sql);
$user = mysqli_fetch_array($result);
echo "Hello, " . $user['first_name']";

        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-08 23:12:43

我发现这种方法是有效的,感谢所有试图帮助我的人

<?php
include'db.php';

if(isset($_SESSION['email'])){

           $query = "SELECT first_name FROM users WHERE email= '".$_SESSION['email']."'";     

           $result = mysqli_query($db, $query) or 

           die(mysql_error($db)); 

           if (!$result) die('Query failed: ' . mysqli_error($db)); 

           while($row = mysqli_fetch_array($result)){ 

           echo $row['first_name'];

        }

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

https://stackoverflow.com/questions/51232708

复制
相关文章

相似问题

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