如何在 PHP MySQLi 中的 echo 中创建 if 语句 [英] How to create if statement inside echo in PHP MySQLi

查看:60
本文介绍了如何在 PHP MySQLi 中的 echo 中创建 if 语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想问一下,

我有两个表,usersposts 带有列字段

用户:user_id、姓名、电子邮件

帖子:post_id、user_id、post_title

我想显示所有用户的所有帖子

但我只希望 logged_in user session 有另外两个额外的按钮,而其他公开帖子只有两个按钮

p/s :我使用用户表中的 email 列字段作为登录 $_SESSION.

<p>$user_name</p><p>$user_email</p><p>$post_title</p><a href=''><button>喜欢</button></a><a href=''><button>评论</button></a>//我希望这两个按钮(编辑和删除)只对登录用户可用<a href=''><button>编辑</button></a><a href=''><button>删除</button></a>

";回声 $post_output;}mysqli_free_result($run_post);}别的{echo "还没有帖子";}?>

解决方案

用户登录后,在会话中保留用户详细信息,并检查用户是否登录的条件 例如,如果您尝试仅对登录用户发表评论和点赞,则你可以做一些像

在上面的代码中,用户已登录,所以所有按钮都是可见的.如果不是,那么它对所有人都不可见.只是尝试销毁会话.我认为以前的会话电子邮件仍然存在

I want to ask,

I have two tables , users and posts with column field

users : user_id, name, email

posts : post_id, user_id, post_title

I want to display all posts from all users,

but I want only logged_in user session to have another two extra button while other public posts only have two button

p/s : I used email column field in users table as login $_SESSION.

<?php 
    global $connect;
    global $user_id;

    $sql_post = "SELECT * FROM posts";
    $run_post = mysqli_query($connect, $sql_post);

    if($run_post && mysqli_num_rows($run_post) > 0 )
    {
        while($row_post = mysqli_fetch_array($run_post))
        {
            $post_id    = $row_post['post_id'];
            $user_id    = $row_post['user_id'];
            $post_title = $row_post['post_title'];

            $sql_user   =  "SELECT * FROM users WHERE user_id='$user_id'";
            $run_user   = mysqli_query($connect, $sql_user);
            $check_user = mysqli_fetch_array($run_user);

                    $user_id     = $check_user['user_id'];
                    $user_name   = $check_user['name'];
                    $user_email  = $check_user['email'];

                    $post_output = "<div id='posts_wrap'>
                                        <p>$user_name</p>
                                        <p>$user_email</p>
                                        <p>$post_title</p>
                                        <a href=''><button>Like</button></a>
                                        <a href=''><button>Comment</button></a> 

                                            // i want these two button (Edit and Delete) only available to logged in user
                                            <a href=''><button>Edit</button></a>
                                            <a href=''><button>Delete</button></a>  
                                    </div>
                                   ";
                    echo $post_output;
        }
        mysqli_free_result($run_post);          
    }
    else
    {
        echo "No post yet";
    }
?>

解决方案

After user loggine keep user detail in session and check condition if user logged in or not For example if you are trying to comment and like only for logged in user then you can do somethink like

<?php
session_start();
$_SESSION['email']='email@example.com';
$user_name='dd';
$user_email='ddd';
$post_title='gsdg';

$post_output = "<div id='posts_wrap'><p>$user_name</p><p>$user_email</p><p>$post_title</p>";
 if(isset($_SESSION['email'])){ 
        $post_output.="<a href=''><button>Like</button></a><a href=''><button>Comment</button></a> ";
    }  
    // i want these two button (Edit and Delete) only available to logged in user
    $post_output.= "<a href=''><button>Edit</button></a><a href=''><button>Delete</button></a> </div>";                                    
            print_r($post_output);      





?>

in the above code user is logged in so all buttons are visible .if not then its not visible to all .just try to destroy session.i think previous session email still there

这篇关于如何在 PHP MySQLi 中的 echo 中创建 if 语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆