PHP - 基于电子邮件显示图像

时间:2018-04-06 12:30:45

标签: php image session mysqli display

我正在寻求帮助。 需要创建一个品牌页面,登录后会根据用户存储在数据库中的电子邮件显示图像。 创建cookie和会话ID工作得很好。根本无法根据用户的电子邮件找到选择图片的方法。 只粘贴实际处理用户ID的部分代码,因为我的index.php文件中的任何其他代码都是纯HTML。

到目前为止:

<?php
include 'function.php';
include 'sqlconnect.php';

//User Check
$adminid = "1";

$company1= "@gmail.com";
$company2= "@yahoo.com";

$gmail= mysqli_query($connection, "SELECT Email FROM Users WHERE Email='$company1'");
$yahoo= mysqli_query($connection, "SELECT Email FROM Users WHERE Email='$company2'");

if(loggedin()){
    $checkid = $_SESSION['user_id'];
    if ($adminid == $checkid){ //if user id is 1 then display img of administrator
        echo '<img src="images/admin.png" title="Administrator" width:"75px" height="75px">';
        echo "<li><a href='logout.php'>Logout</a></li>";
    } elseif(filter_var($company1, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\.gmail/', $company1)) {
        echo "<li><a href='logout.php'>Logout</a></li>";
        echo '<img src="images/google.png">';
    } elseif (filter_var($company2, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\.yahoo/',$company2)) {
        echo "<li><a href='logout.php'>Logout</a></li>";
        echo '<img src="images/yahoo.png>';
    }
}

?>

提前谢谢!

1 个答案:

答案 0 :(得分:0)

这应该让您的用户基于会话user_id,然后按预期显示图片。以下是一些注意事项:

  1. 我不确定您的ID字段是什么,因此如果不同,请将UserId替换为$results =行中列的名称。

  2. 如果是管理员,我没有运行查询,因此如果您需要其他内容的数据,则必须将$result = ..行移至上方if ($userid == 1){行。

  3. 我没有检查你的preg_match条件的正则表达式,所以如果结果出来但图像没有显示,你可以看到{{{ 1}}字段是在Email行之后添加echo <p>'.$result['Email'].'</p>

    if(mysql_num_rows($result) == 1) {