Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Почему не получается записать в базу данных?
@vaz-vazovich
Делаю сайты

Как можно реализовать идею?

<?php 
session_start()
 ?>

<?php 
include '../php/base.php';


$login = $_POST['login'];
$password = $_POST['password'];
mysqli_query($connection, "INSERT INTO `users` (`id`, `login`, `password`) VALUES (NULL, '$login', '$password')");
$_SESSION['user'] = $login;
?>

После переключение по разделам в личногом кабинете и возвращением обратно, сессия пустая и не выводит данные, потому что $login пустой, как можно реализовать идею?
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Простой 9 комментариев
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
@MrCheatEugene
Человек. Учусь кодить.
Во-первых чекать пустые ли логин и пароль фунциями isset/empty.
Во вторых - вы инициализируете сессию в страницах ЛК? Если нет - это нужно делать так же как и раньше - session_start();
В третьих - Экранирование строк.
Поможет оно тут или нет - сказать сложно, но в любом случае - его добавлять нужно даже если не хочется. Если нужно не стимулятор, то базе данных может придти конец. Подробнее можно почитать загуглив что такое SQL-Инъекция.
$login=$connection->escape_string($login);
$password=$connection->escape_string($password);


Все пункты выше так или иначе обезопасят сайт или приложение, но причина в пункте 1.
Мы перезаписываем логин и пароль на пустые, пока в лог ошибок пишется что-то типа "переменная $_POST['login'] НЕ СУЩЕСТВУЕТ!", т.к она не существует при переходе, опять-же назад.
Надеюсь, что мой ответ пригодится хоть кому-то, кто работает с PHP.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы