Top.Mail.Ru
Ответы

Проблема с PHP и MySql. Что делать?

Здравствуйте, проблема такая..
Я подключил на свой сайт Интеркассу и при успешной оплате хочу выводить указанные покупателем данные в базу данных, но.. этого не происходит! Может ошибка в коде, что скорее всего.. В общем, пожалуйста, помогите!!!
<?php
include ('../db.php');

$dataSet = $_POST;

if (!$dataSet)
exit('Ошибка платежа');

unset($dataSet['ik_sign']); //удаляем из данных строку подписи
ksort($dataSet, SORT_STRING); // сортируем по ключам в алфавитном порядке элементы массива
array_push($dataSet, '*********'); // добавляем в конец массива "секретный ключ"
$signString = implode(':', $dataSet); // конкатенируем значения через символ ":"
$sign = base64_encode(md5($signString, true)); // берем MD5 хэш в бинарном виде по сформированной строке и кодируем в BASE64

if ($sign != $_POST['ik_sign'])
exit('Ошибка обработки платежа');

$login = $_POST[ik_x_login];
$pass = $_POST[ik_x_pass];

file_put_contents('oplata.txt', "Логин: $login, Пароль: $pass, № Платежа: $_POST[ik_pm_no]");
$query = mysql_query("INSERT INTO `subs` VALUES ($login,$pass)");
?>

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Мастер
6лет

1) Не используйте устаревшее расширение mysql_query
2) Всегда используйте подготавливаемые запросы при работе с БД
3) Для фильтрации и валидации переменных запроса используйте filter_input() и аналоги.
4) Не храните пароли в открытом виде - для этого есть password_hash()

В oplata.txt данные записываются?
В таблице `subs` только два поля?