Задать вопрос
@qu1kgg

Не добавляет пользователя в бд?

Как понять в чём ошибка, пользователя в бд не добавляет, но входит с пустыми значениями. Код входа через ulogin:
<?php
if (!isset($_SESSION)) session_start();
require("db_connect.php");
$s = file_get_contents('http://ulogin.ru/token.php?token='.$_POST['token'].'&host='.$_SERVER['HTTP_HOST']);
$user = json_decode($s, true);
$id = $user['identity'];
$name = $user['first_name']." ".$user['last_name'];
$photo = $user['photo'];
$db_data = $db->query("SELECT * FROM users WHERE uid='$id'")->fetch();
if (count($db_data) > 1) {
    //Если такой юзер имеется в нашей базе, то обновляем его инфу у нас на сайте
    $db->query("UPDATE users SET `name`='$name' WHERE uid='$id'");
      $db->query("UPDATE users SET `photo`='$photo' WHERE uid='$id'");
      $db->query("UPDATE users SET `last_act`= NOW() WHERE uid='$id'");
      $_SESSION['uid'] = $db_data['uid'];
      $_SESSION['name'] = $db_data['name'];
      $_SESSION['photo'] = $db_data['photo'];
     header('Location: http://'.$_SERVER['HTTP_HOST']);
} else {
      $balance = 0;
      $ref = "";
      if(isset($_SESSION['ref'])) {
        $ref = $_SESSION['ref'];
        unset($_SESSION['ref']);
      }
    //Если такого юзера у нас в базе нет, регистрируем
     $stmt = $db->prepare("INSERT INTO users VALUES (NULL, :id,:name:,:photo,:last_act,:ref,:balance)");
         $stmt->execute(array(':id'=>$id, ':name'=>$name, ':photo'=>$photo, ':last_act'=>time(), ':ref'=>$ref, ':balance'=>$balance));
         $_SESSION['uid'] = $id;
      $_SESSION['name'] = $name;
      $_SESSION['photo'] = $photo;
      header('Location: http://'.$_SERVER['HTTP_HOST']);
      exit();
}
?>
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы