Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Rover_Hevik
0 / 0 / 0
Регистрация: 17.02.2018
Сообщений: 23
1

Не изменяет бд

28.02.2018, 15:45. Просмотров 161. Ответов 9

есть пшп код который должен менять пароль но не работает, где ошибка?
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
<?php session_start(); require 'db.php';
$o = R::findOne('users', 'login = ?', array($_SESSION['username']));
$data = $_GET;
if (isset($data['do_signup'])) 
{
    if (password_verify($data['old'], $o->password)) 
        { $data["new"] == password_hash($data['password'], PASSWORD_DEFAULT);
            if ($data['new'] == $data['pov']) {
                mysqli_query($con, 'UPDATE `users` SET `password` = $data["new"] WHERE `users`.`login` = $_SESSION["username"]' );
            };
        };
    };
 
 ?>
 <form action="" method="GET">
    <hr><p>текущий пароль</p>
        <input  name="old" type="password">
    <hr><p>новый пароль</p>
        <input  name="new" type="password">
    <hr><p>повторите новый пароль</p>
        <input  name="pov" type="password">
    <hr>
        <button name="do_signup">изменить</button>
 </form>
п.с. ред бин подключается в дб.пшп

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2018, 15:45
Ответы с готовыми решениями:

Администратор изменяет тип пользователя
Доброго времени суток. В общем нужно сделать, чтобы Админ мог изменять тип пользователя (выводится...

$file, "w" сохранение txt файла на сервере, изменяет данные
всем привет. Q1. имею вот такой скрипт. &lt;?PHP // main saiving part $saving =...

Не изменяет записи
Доброго времени суток! Столкнулся с проблемой по изменению записей в теблицах Есть вот такая...

UPDATE изменяет только последнюю запись
Сюда выводятся сообщения из БД по порядку и под каждым отдельная кнопка &quot;Изменить&quot; &lt;?php include...

Не изменяет данные
Всем привет! Есть BindingSource и в нём результат запроса select DEPART_ID,DEPART_NAME,...

9
atanov
210 / 203 / 79
Регистрация: 26.05.2016
Сообщений: 1,282
28.02.2018, 16:50 2
Не страшно mysqli_query юзать? PDO понадёжнее ... Да и есть какие-нибудь логи mysql и/или appache/др. серверная прога?
0
Rover_Hevik
0 / 0 / 0
Регистрация: 17.02.2018
Сообщений: 23
28.02.2018, 17:56  [ТС] 3
нет не страшно т-к это тестовый проект для обучения пшп логи есть но ошибок в них нету

Добавлено через 7 минут
ну так где ошибка?
0
atanov
210 / 203 / 79
Регистрация: 26.05.2016
Сообщений: 1,282
28.02.2018, 18:00 4
Ну не знаю, если ошибок нет...
У меня всегда вот такие конструкции чудили (но всегда были ошибки в логах или на экране, если есть вывод ):
'UPDATE `users` SET `password` = $data["new"] WHERE `users`.`login` = $_SESSION["username"]'. Я всегда старался уйти от переменных вида $_ и массивных переменных $bla-bla-bla['key'] в простые $data1 и т.д. и экранировал их в sql запросе вот так "$data1".

Да, ещё, не помню назначение 'R' в REdBean, проверяли подстановку подготовленного значения во 2 строке?
0
Jodah
Эксперт PHP
2836 / 2471 / 1053
Регистрация: 01.08.2012
Сообщений: 8,754
28.02.2018, 18:05 5
Цитата Сообщение от Rover_Hevik Посмотреть сообщение
method="GET"
Для подобных форм нужно использовать метод POST.

Цитата Сообщение от Rover_Hevik Посмотреть сообщение
PHP
1
$data["new"] == password_hash($data['password'], PASSWORD_DEFAULT);
1. Эта строчка не имеет смысла.
2. В форме нет элемента с названием password.

Цитата Сообщение от Rover_Hevik Посмотреть сообщение
PHP
1
mysqli_query
Вы же RedBeanPHP используете, зачем писать этот запрос вручную? И непонятно, откуда взялась $con.
0
Rover_Hevik
0 / 0 / 0
Регистрация: 17.02.2018
Сообщений: 23
28.02.2018, 18:14  [ТС] 6
это уже изменил на дата нью т-к строку брал с формы рега где шифрует и забыл изменить но оно все равно не работает

Добавлено через 41 секунду
$con хранится в дб пшп это подключение к дате базе
0
Jodah
Эксперт PHP
2836 / 2471 / 1053
Регистрация: 01.08.2012
Сообщений: 8,754
28.02.2018, 18:19 7
Цитата Сообщение от Rover_Hevik Посмотреть сообщение
это уже изменил
Показывайте изменённый код.
0
Rover_Hevik
0 / 0 / 0
Регистрация: 17.02.2018
Сообщений: 23
28.02.2018, 18:20  [ТС] 8
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
33
<?php session_start(); require 'db.php';
$o = R::findOne('users', 'login = ?', array($_SESSION['username']));
$data = $_POST;
if (isset($data['do_signup'])) 
{
    if (password_verify($data['old'], $o->password)) 
        { 
            $data["new"] == password_hash($data['new'], PASSWORD_DEFAULT);
            };
            if ($data['new'] == $data['pov'])
        {
                mysqli_query($con, 'UPDATE `users` SET `password` = $data["new"] WHERE `users`.`login` = $_SESSION["username"]' );
                if  ($data['new'] != $data['pov'])              
                    {
                        $errors = 'Введеные пароли не соответствуют';
                    };
                };
            
        };
    
 
 ?>
 <form action="" method="POST">
    <?php echo $errors; ?>
    <hr><p>текущий пароль</p>
        <input  name="old" type="password" value="<? echo $data['old']; ?>" >
    <hr><p>новый пароль</p>
        <input  name="new" type="password" value="<? echo $data['new']; ?>">
    <hr><p>повторите новый пароль</p>
        <input  name="pov" type="password">
    <hr>
        <button name="do_signup">изменить</button>
 </form>
изменений чуть-чуть
0
Jodah
Эксперт PHP
2836 / 2471 / 1053
Регистрация: 01.08.2012
Сообщений: 8,754
28.02.2018, 19:32 9
На 8 строке должно быть присваивание, а не сравнение.

На 13 условие никогда не выполнится, поскольку ему противоречит условие на строке 10.

Значения переменных подставляются в строки только в двойных кавычках.

PHP
1
2
3
4
$a = 5;
 
echo '$a'; // $a
echo "$a"; // 5
И строки в SQL-запросах должны находиться в кавычках.

В общем, начните с чего попроще, вы явно не понимаете, что делаете.
0
Rover_Hevik
0 / 0 / 0
Регистрация: 17.02.2018
Сообщений: 23
28.02.2018, 20:55  [ТС] 10
исправил. всё ещё не работает

Добавлено через 46 минут
починил
0
28.02.2018, 20:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2018, 20:55

Не изменяет запись
В общем... Не могу разобраться, почему 4-ая(find) функция не меняет данные...Помогите, пожалуйсто.)...

Кто изменяет данные?
При переходе по записям на форме, где-то в коде происходит изменение или переход в режим...

Grub не изменяет настройки
Здравствуйте. При загрузке ядра вот такая ситуация...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru