我正在寻求帮助。 需要创建一个品牌页面,登录后会根据用户存储在数据库中的电子邮件显示图像。 创建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>';
}
}
?>
提前谢谢!
答案 0 :(得分:0)
这应该让您的用户基于会话user_id
,然后按预期显示图片。以下是一些注意事项:
我不确定您的ID字段是什么,因此如果不同,请将UserId
替换为$results =
行中列的名称。
如果是管理员,我没有运行查询,因此如果您需要其他内容的数据,则必须将$result = ..
行移至上方if ($userid == 1){
行。
我没有检查你的preg_match
条件的正则表达式,所以如果结果出来但图像没有显示,你可以看到{{{ 1}}字段是在Email
行之后添加echo <p>'.$result['Email'].'</p>
。
if(mysql_num_rows($result) == 1) {