Невозможно опубликовать данные Google onSignIn, используя ajax in php - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь опубликовать Google onSignIn в моей базе данных, используя ajax, когда я запускаю localhost, все работает нормально, но при попытке на веб-сервере данные не публикуются в базе данных, просто передается ноль.

Может кто-нибудь помочь мне, почему я не могу вставить данные в DB на веб-сервере. Когда я могу вставить данные на локальный хост.

на веб-сервере, я могу видеть данные для входа в систему log.console, но не могу $_POST в PHP

скрипт

         function onSignIn(googleUser) {
            var profile = googleUser.getBasicProfile();
            if (profile) {
                $.ajax({
                    type: 'POST',
                    url: 'social.php',
                    data: {
                        name: profile.getName(),
                        mail: profile.getEmail(),
                        img: profile.getImageUrl()
                    }
                }).done(function (data) {
                    console.log(profile.getName());
                    console.log(profile.getEmail());
                    console.log(profile.getImageUrl());

                }).fail(function () {
                    alert("Something went wrong !!");
                });
            }
        }

PHP

error_reporting(E_ALL);
ini_set('display_errors', 1);

include("$_SERVER[DOCUMENT_ROOT]/include/config.php");

$_SESSION["name"] = $_POST['name'];
$_SESSION["email"] = $_POST['mail'];
$_SESSION["img"] = $_POST['img'];

$email = strip_tags($_POST['mail']);
// The request is using the POST method

$stmt = $conn->prepare("SELECT * FROM sociall WHERE email=:email");
$stmt->execute(array(':email' => $email));
$count = $stmt->rowCount();

if ($count > 0) {
    //email used
} else {
    $stmt = $conn->prepare("INSERT INTO sociall (username, email, socialID, img) VALUES (:username, :email, :socialID, :img)");
    $stmt->bindParam(':username', $_POST['name'], PDO::PARAM_STR, 100);
    $stmt->bindParam(':email', $email, PDO::PARAM_STR, 100);
    $stmt->bindParam(':img', $_POST['img'], PDO::PARAM_STR, 200);
    if ($stmt->execute()) {

    }exit;
}

я также попробовал $_GET метод, но ничего не делает.

я получаю следующая ошибка

Undefined index: id in C:\Users\Amin\Documents\NetBeansProjects\OLX\ads\login\social.php on line 8
Undefined index: name in C:\Users\Amin\Documents\NetBeansProjects\OLX\ads\login\social.php on line 9 
Undefined index: mail in C:\Users\Amin\Documents\NetBeansProjects\OLX\ads\login\social.php on line 10
Undefined index: img in C:\Users\Amin\Documents\NetBeansProjects\OLX\ads\login\social.php on line 11
Undefined index: mail in C:\Users\Amin\Documents\NetBeansProjects\OLX\ads\login\social.php on line 13

1 Ответ

0 голосов
/ 07 февраля 2020

В вашем коде jQuery используйте method вместо type:

method: 'POST',

Тогда вы можете использовать $_POST переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...