如何在安卓浏览器(如计算机浏览器)上启用网络应用登录

时间:2021-06-27 00:41:20

标签: php google-login

这只是一个一般性问题,因为我找不到任何答案(或为 google 想出正确的关键字)。问题是我最近刚刚在我的网站上启用了谷歌登录,它在我的笔记本电脑浏览器上就像一个魅力一样,但由于某种原因在我的安卓手机上它不起作用。就像我可以看到该按钮一样,但是当我在手机上按下它时,它会将我带到另一个浏览器选项卡,然后它关闭了,什么也没有发生。

enter image description here

<div class="btn  mr-16pt g-signin2" data-onsuccess="onSignIn"></div>
<script>
        function onSignIn(googleUser) {
            var profile = googleUser.getBasicProfile();


            if (profile) {

                $.ajax({
                    type: 'POST',
                    url: 'login_g.php',
                    data: {
                        id: profile.getId(),
                        name: profile.getName(),
                        email: profile.getEmail(),
                        image: profile.getImageUrl()
                    }
                }).done(function(data) {
                    console.log(data);
                    if (data == 1) {
                        window.location.href = '../profile';
                    } else {
                        location.href = "../register/step-2.php?id=" + profile.getId();
                    }
                }).fail(function() {
                    alert("Posting failed.");
                });
            }


        }
        </script>

这是唱歌的代码,它会带您进入个人资料,或者如果您是新人,那么它会保存您的详细信息并带您进入注册过程的其余部分。

$email = $_POST['email'];
   $name = $_POST['name'];
   $image = $_POST['image'];
   $id = $_POST['id'];
   $stu_id = $_POST['id'];


    $pwdCheck = "SELECT * FROM `login` WHERE email=?";

    $stmt = mysqli_stmt_init($conn);

    if(mysqli_stmt_prepare($stmt,$pwdCheck)){

    mysqli_stmt_bind_param($stmt,"s", $email);
    mysqli_stmt_execute($stmt);
    $result = mysqli_stmt_get_result($stmt);
    $row = mysqli_fetch_array($result);

    mysqli_stmt_close($stmt);

    if (mysqli_num_rows($result) > 0) {
include "../session/session.php";
            $_SESSION['email'] = $email;
            $_SESSION['token'] = $token;
            $_SESSION['image'] = $image;



            echo 1;


    }else{

        $login = mysqli_query($conn, "SELECT * FROM `login` WHERE email='$email'");

        if (!mysqli_num_rows($login) > 0) {
    $reg = "INSERT INTO `login`(`name`,`stu_id`,`email`,`google_id`) VALUES ('$name','$id','$email','$id')";

            $query = mysqli_query($conn, $reg);


                    }

    }

  }

这是 login_g.php 代码

您可以避免使用变量名称(如 pwdcheck),因为我从当前登录系统中选择了这些名称并且没有更改它们

让我知道我在这里做错了什么,我的意思是它在计算机浏览器上运行良好,但在移动设备上运行得很好。

0 个答案:

没有答案