Ansimov
@Ansimov
Веб-разработка, Веб-дизайн, Графический дизайн

Переход с php5 на php7?

Люди добрые помогите разобраться с проблемой.
Перешел на PHP7.
Переписал php скрипт.
Обращение к БД есть, права к БД выставлены полные.

Почему не происходит запись в БД???

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } 
	//заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
	if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
	//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
	if    (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') {    unset($email);} } 
	//заносим введенный пользователем e-mail, если он    пустой, то уничтожаем переменную

$login = stripslashes($login);
$login = htmlspecialchars($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);

$email = stripslashes($email);
$email = htmlspecialchars($email);

//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);
$email = trim($email);

$password = md5($password);//шифруем пароль
$password = strrev($password);// для надежности добавим реверс
$password = $password."b3p6f";
//можно добавить несколько своих символов по вкусу, например, вписав "b3p6f". Если этот пароль будут взламывать метадом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую ставить другие символы, можно в начале строки или в середине.

//При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера.

// подключаемся к базе
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
mysqli_set_charset("utf8");

// проверка на существование пользователя с таким же логином
$result = mysqli_query($bd, "SELECT id FROM users WHERE login='$login'");
$myrow = mysqli_fetch_array($result);
if (!empty($myrow['id'])) {
	exit ("taken");
}

// если такого нет, то сохраняем данные
$result2 = mysqli_query($bd, "INSERT INTO users (login,password,email) VALUES('$login','$password', '$email')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
	echo "ok";
}

else {
	echo "err";
  • Вопрос задан
  • 1792 просмотра
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
добавь после mysqli_query:
$result = mysqli_query(...)
...
 if ($err = mysqli_error()) die($err);

И напиши сюда ошибку, если такая имеется

так же не видать функций соединения, возможно оно у тебя не создается, так что добавь еще проверку и на это
include ("bd.php");
if (!is_resource($bd)) die('No connection to database');
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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