doutuo6689
doutuo6689
2018-04-04 08:59

在我的登录通知中回显用户名

已采纳

How to make a notification that echoes the username of the specific user , not the level of the user

For example the user logins , an alert will pop out and says , welcome customer , what i want is to change the customer to the name of the person.

Thank you very much.

this is my code

<?php
    include('conn.php');
    session_start();
    function check_input($data) {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }

    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $username=check_input($_POST['username']);

        if (!preg_match("/^[a-zA-Z0-9_]*$/",$username)) {
            $_SESSION['msg'] = "Username should not contain space and special characters!"; 
            header('location: index.php');
        }
        else{

        $fusername=$username;

        $password = check_input($_POST["password"]);
        $fpassword=md5($password);

        $query=mysqli_query($conn,"select * from `user` where username='$fusername' and password='$fpassword'");

        if(mysqli_num_rows($query)==0){
            $_SESSION['msg'] = "Login Failed, Invalid Input!";
            header('location: index.php');
        }
        else{

            $row=mysqli_fetch_array($query);
            if ($row['access']==1){
                $_SESSION['id']=$row['userid'];
                ?>
                <script>
                    window.alert('Login Success, Welcome Admin!');
                    window.location.href='admin/';
                </script>
                <?php
            }
            elseif ($row['access']==2){
                $_SESSION['id']=$row['userid'];
                ?>
                <script>
                    window.alert('Login Success, Welcome User!');
                    window.location.href='user/';
                </script>
                <?php
            }
            else{
                $_SESSION['id']=$row['userid'];
                ?>
                <script>
                    window.alert('Login Success, Welcome Supplier!');
                    window.location.href='supplier/';
                </script>
                <?php
            }
        }

        }
    }
?>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • dongre6404 dongre6404 3年前

    Let's say you have mentioned username field present in database.

     $row=mysqli_fetch_array($query);
    if ($row['access']==1)
    {
        $_SESSION['id']=$row['userid'];
        $_SESSION['username']=$row['username'];
        ?>
        <script>
            window.alert('Login Success, Welcome Admin!');
            window.location.href='admin/';
        </script>
        <?php
    }
    elseif ($row['access']==2){
        $_SESSION['id']=$row['userid'];
        $_SESSION['username']=$row['username'];
        ?>
        <script>
    
            var username = '<?php echo $_SESSION['username']; ?>';
            var notification_text = "Login Success, Welcome "+username+"!";
            window.alert(notification_text);
            window.location.href='user/';
        </script>
        <?php
    }
    else{
        $_SESSION['id']=$row['userid'];
        $_SESSION['username']=$row['username'];
        ?>
        <script>
            var username = '<?php echo $_SESSION['username']; ?>';
            var notification_text = "Login Success, Welcome "+username+"!";
            window.alert(notification_text);
            window.location.href='supplier/';
        </script>
        <?php
    }
    

    This is how you can access jquery inside PHP and can work on your notifications. P.S - They are not called notification, you can simply call them as an jquery alert.

    点赞 评论 复制链接分享
  • duanpai6581 duanpai6581 3年前

    Replace all window.alert to

       <script>
           window.alert('Login Success, Welcome <?php echo {$fusername}; ?>!');
        </script>
    

    Also use php default password_hash() md5 isnt safe

    点赞 评论 复制链接分享