【问题标题】:How Do I show a users Email address from MYSQL?如何显示来自 MYSQL 的用户电子邮件地址?
【发布时间】:2017-12-09 03:36:48
【问题描述】:

我试图在哪里得到它,当用户访问他们的个人资料时,它会向他们显示他们的电子邮件地址。我有它,它使用 $_SESSION['username'] 显示他们的用户名,但是当我尝试使用 EMAIL 地址时它不起作用。关于如何让它从数据库中选择电子邮件地址的任何想法?先感谢您!! :)

它显示了他们当前的电子邮件地址:然后是代码。 这是我的 PHP:

Includes/config.php 正在获取 DATABASE INFO。

<?php require('includes/config.php'); 

//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: login.php?action=login'); } 

 ?>

包括/config.php

<?php
ob_start();
session_start();

//set timezone
date_default_timezone_set('Europe/London');

//database credentials
define('DBHOST','localhost');
define('DBUSER','xxxxx');
define('DBPASS','xxxxx');
define('DBNAME','bigfellamembers');

//application address
define('DIR','http://xxxxxxxxxxx.com');
define('SITEEMAIL','noreply@domain.com');

try {

    //create PDO connection
    $db = new PDO("mysql:host=".DBHOST.";dbname=".DBNAME, DBUSER, DBPASS);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {
    //show error
    echo '<p class="bg-danger">'.$e->getMessage().'</p>';
    exit;
}

//include the user class, pass in the database connection
include('classes/user.php');
include('classes/phpmailer/mail.php');
$user = new User($db);
?>

这是我的数据库表。

这里:我的一些 HTML:

   <!-- row -->
                <div class="row">
                    <div class="col-md-12">
                        <div class="white-box">
                            <div class="user-bg"><img width="100%" alt="user" src="login-bg.jpg">
                                <div class="overlay-box">
                                    <div class="user-content">
                                        <a href="javascript:void(0)"><img src="uploads/<?php echo $_SESSION['username']; ?>.jpg" class="thumb-lg img-circle" alt="img"></a>
                                         <h4 class="text-white">Current Username: <?php echo $_SESSION['username']; ?> </h4>
                                        <h5 class="text-white">Current Email Address:    <?php  echo $_SESSION['email']; ?>

                                   </div>
                                </div>
                            </div>

【问题讨论】:

    标签: php mysql email


    【解决方案1】:

    如果您还没有在 SESSION 中设置电子邮件,那么您就不能这样尝试获取它。

    您需要使用 MySQL 查询(研究 PDO)根据某些条件(例如用户名)从数据库中获取电子邮件。

    【讨论】:

    • 这样的? $sql = "SELECT FROM members WHERE email='$email' $row = mysqli_query($connect, $sql); $id = $row['userID']; echo $id;
    • 如果您还没有收到他们的电子邮件,您的查询将无法工作 - 如果您有他们的电子邮件,那么您一开始就不需要查询。您需要类似“SELECT email FROM members WHERE id = :id”的内容。一定要查看准备好的语句(PDO 和绑定),否则你可能会面临 SQL 注入的风险。
    • @BigfellaHQ 如果上述查询引入了有效的用户 ID,那么您就知道该电子邮件是有效的。然后,您可以简单地将其设置为创建用户登录会话的会话变量:例如:$_SESSION['email'] = $email;
    【解决方案2】:

    您首先需要从数据库中获取用户电子邮件,比如说

    查询:

    "SELECT email from user WHERE username ='$username' ";

    运行查询并从数据库中获取数据后,您可以执行以下操作:$_SESSION['email'] = $result['email'];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      • 2017-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      相关资源
      最近更新 更多