PHP - 根据电子邮件显示图像
PHP - Display image based on email
我正在寻求帮助。
需要创建一个品牌页面,登录后将根据存储在数据库中的用户电子邮件显示图像。
创建 cookie 和会话 ID 就可以了。只是无法根据用户的电子邮件找到 select 图片的方法。
仅粘贴实际处理用户 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>';
}
}
?>
提前致谢!
这应该让您的用户基于会话 user_id
然后按预期显示图像。这里有一些注意事项:
我不确定您的 ID 字段是什么,所以如果它不同,请将 UserId
替换为您在 $results =
行中的列的名称。
如果是管理员,我没有运行查询,所以如果您在这种情况下需要其他数据,则必须移动$result = ..
行到 if ($userid == 1){
行上方。
我没有检查你的 preg_match
条件的正则表达式,所以如果结果出来了,但图像没有显示,你可以看看 Email
字段是在 if(mysql_num_rows($result) == 1) {
行之后添加 echo <p>'.$result['Email'].'</p>
。
<?php
include 'function.php';
include 'sqlconnect.php';
if(loggedin()){
$userid = $_SESSION['user_id'];
if ($userid == 1){ //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>";
} else {
$results = mysqli_query($connection, "SELECT Email FROM Users WHERE UserId='$userid'");
if(mysqli_num_rows($results) == 1) {
foreach(mysqli_fetch_assoc($results) as $result) {
echo "<li><a href='logout.php'>Logout</a></li>";
if (strpos($result,'yahoo')) {
echo '<img src="images/yahoo.png>';
} elseif (strpos($result,'gmail')) {
echo '<img src="images/google.png">';
} else {
// you could echo a default image here
}
}
}
}
}
?>
我正在寻求帮助。 需要创建一个品牌页面,登录后将根据存储在数据库中的用户电子邮件显示图像。 创建 cookie 和会话 ID 就可以了。只是无法根据用户的电子邮件找到 select 图片的方法。 仅粘贴实际处理用户 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>';
}
}
?>
提前致谢!
这应该让您的用户基于会话 user_id
然后按预期显示图像。这里有一些注意事项:
我不确定您的 ID 字段是什么,所以如果它不同,请将
UserId
替换为您在$results =
行中的列的名称。如果是管理员,我没有运行查询,所以如果您在这种情况下需要其他数据,则必须移动
$result = ..
行到if ($userid == 1){
行上方。我没有检查你的
preg_match
条件的正则表达式,所以如果结果出来了,但图像没有显示,你可以看看Email
字段是在if(mysql_num_rows($result) == 1) {
行之后添加echo <p>'.$result['Email'].'</p>
。<?php include 'function.php'; include 'sqlconnect.php'; if(loggedin()){ $userid = $_SESSION['user_id']; if ($userid == 1){ //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>"; } else { $results = mysqli_query($connection, "SELECT Email FROM Users WHERE UserId='$userid'"); if(mysqli_num_rows($results) == 1) { foreach(mysqli_fetch_assoc($results) as $result) { echo "<li><a href='logout.php'>Logout</a></li>"; if (strpos($result,'yahoo')) { echo '<img src="images/yahoo.png>'; } elseif (strpos($result,'gmail')) { echo '<img src="images/google.png">'; } else { // you could echo a default image here } } } } } ?>