Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
1

Данные не попадают в таблицу

20.04.2020, 23:31. Показов 419. Ответов 16

Author24 — интернет-сервис помощи студентам
Пытаюсь сделать регистрацию на сайте со входом через steam. Проблема что данные не заносятся в базу данных.
Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    $connection = mysqli_connect('127.0.0.1', 'furryonelove', 'qwertY1', 'MainDB');
 
    if ( $connection == false ) {
      echo "База данных недоступна!";
      exit;
    } else {
 
    require 'steamauth/steamauth.php';
    loginButton();
    require 'steamauth/userInfo.php';
 
    $playerid = $steamprofile['steamid'];
    $nickname = $steamprofile['personaname'];
    $raw_SQL_answer = mysqli_query($connection, "SELECT `id` FROM `players` WHERE `steamid` = '$playerid' ");
    $SQL_answer = mysqli_fetch_assoc($raw_SQL_answer);
 
      if ( $SQL_answer['id'] == 0 ) {
        $BDreg = mysqli_query($connection, "INSERT INTO `players`(steamid, nickname) VALUES ($playerid, $nickname)");
        echo "Регистрация успешна!";
        exit;
      } else {
 
        if (isset($_SESSION['steamid'])){
            echo 'Вы вошли в систему как ';
            echo $nickname;
            echo '<br/>';
            logoutbutton();
            }
        }
      }
  ?>
Если увидите ошибки в коде буду благодарен за исправление!
Я новичок в php
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2020, 23:31
Ответы с готовыми решениями:

По нажатию на кнопку данные из текстбокса попадают в таблицу
Как сделать, чтоб по нажатию на кнопку данные из текстбокса заносились в таблицу?...

Не попадают данные в БД
Доброго времени суток! Имеется код, где в $_GET попадает строка или число, вот если в $_GET из...

Не попадают данные в БД
Помогите разобраться, данные с формы не попадают в бд. &lt;? if($_POST){ $name = $_POST; $login =...

Данные не попадают в переменные
Доброго времени суток! Обращаюсь с таким вопросом: есть парсер, данные собираются с...

16
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 02:10 2
furryonelove, А что значит
PHP
1
if ( $SQL_answer['id'] == 0 )
Если он не нашёл $SQL_answer['id'] не будет равно 0. Вы либо проверяйте количество найденных записей и тогда уже сравнивайте с 0 или
PHP
1
if (empty($SQL_answer['id']))
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 08:35  [ТС] 3
Программа смотрит присвоена ли данному steamid id на сайте, и если он её не находит, то он заносит данные в базу
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 10:16 4
furryonelove, Вы не поняли. Не найденный id не будет равно 0. Он пустой. Вы же сравниваете со значением. 0 это такой же как id = 123.
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 10:34  [ТС] 5
Всё равно не работает(
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 10:43 6
furryonelove, Значит не то что-то до этого. Во-первых в начало php вставьте
PHP
1
2
3
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
и потом проверяйте промежуточное значение. Например получаете ли вы от steam
PHP
1
2
3
$playerid = $steamprofile['steamid'];
$nickname = $steamprofile['personaname'];
echo $playerid . "<br/>" . $nickname;
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 11:01  [ТС] 7
Все данные со steam'а есть, ошибок никаких нет
Данные не попадают в таблицу
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 11:17 8
furryonelove,Так у вас сейчас находит id?

P.S. else у вас заморочен. куда проще можно

PHP
1
} else if (isset($_SESSION['steamid'])){
и посмотрите в базе такие именно имена столбцов в которые заносите данные. кстати да - VALUES ($playerid, $nickname) $nickname бы в кавычки нужно '$nickname'.
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 12:00  [ТС] 9
Нет, данные полученные из  steam'а должны попадать в БД, но дальше переменных внутри кода они никуда не уходят. Я пытаюсь зайти на сайт с другого пользователя, но ничего не работает
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 12:18 10
furryonelove, Вы всё же включите вывод ошибок и $nickname в кавычки заключите.
PHP
1
$BDreg = mysqli_query($connection, "INSERT INTO `players`(steamid, nickname) VALUES ($playerid, '$nickname')");

И покажите структуру базы.
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 12:20  [ТС] 11
HotReboot, Сделал, ошибок нет, проблема та же
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 12:24 12
furryonelove, Структуру базы покажите.
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 12:28  [ТС] 13
HotReboot,
Данные не попадают в таблицу
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 12:32 14
furryonelove, Вы попробуйте в лоб вставить
PHP
1
$BDreg = mysqli_query($connection, "INSERT INTO `players`(steamid, nickname) VALUES (127, 'test_nick')");
Можно прям в sql в phpmyadmin
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 12:37  [ТС] 15
HotReboot, Работает!
0
324 / 225 / 90
Регистрация: 22.04.2017
Сообщений: 1,113
21.04.2020, 12:49 16
furryonelove, Значит смотрите свои переменные. Что-то не так с ними. И исправьте в базе сравнение на utf8_general_ci
0
0 / 0 / 0
Регистрация: 20.04.2020
Сообщений: 10
21.04.2020, 14:56  [ТС] 17
Всё, я нашёл ошибку, в запросе:
PHP
1
$raw_SQL_answer = mysqli_query($connection, "SELECT `id` FROM `players` WHERE `steamid` = '$playerid' ");
надо было вместо одного знака равенства использовать два.
0
21.04.2020, 14:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2020, 14:56
Помогаю со студенческими работами здесь

В таблицу user попадают пустые значения при регистрации
есть код https://www.cyberforum.ru/php-yii/thread2046832.html и есть таблица --прикрепляю...

Данные с формы не попадают по адресу
Отправляю форму на страницу , и почему-то не доходять туда данные с формы.. Массив пустой, на...

Почему данные не попадают в MySQL?
Есть страница с формой добавления данных в MySQL. После нажатия на кнопку &quot;Добавить&quot; происходит...

Определить, попадают ли данные точки в квадрат
Как определить попадают ли данные точки в квадрат с помощью функции &quot;Если&quot; ? Квадрат с центром в...

Данные не попадают в переменные при вводе
Не хочу создавать новую тему, раз зашла речь об адресации. У меня на днях возник такой вопрос-...

Куда попадают данные после DrawImage()?
делал размещение выделенной части картинки на кнопке, смотрел на разные куски в нете, получилось...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru