Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 1
Регистрация: 12.08.2012
Сообщений: 140
MySQL

Не получается перезаписать данные в таблицу БД. Личный кабинет

16.04.2015, 21:29. Показов 1710. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Регистрация рабочая есть, авторизация тоже ( но там не получается на главную страницу логин авторизованного пользователя вывести). Начал делать личный кабинет пользователя, в котором он может: изменить пароль, указать ФИО, дату окончания ВУЗа, специальность, телефон, эл. почту, место работы.
Решил начать потихоньку с замены пароля, ибо в php не очень силен. В итоге скрипт то ли выполняется, то ли нет, но в таблицу 'users' не прописывается старый пароль и не изменяется на новый. Ошибок тоже не выдает, хоть и поставил вывод всех ошибок и предупреждений. Есть подозрение, что у меня где-то пустая переменная, либо меняю пароли неправильно.
Вот форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form  action="profile.php" method="POST" />
                <h1> Редактирование профиля </h1>
                <h3>Изменение пароля</h3>
                <p>
                    <label for="new_password" class="new_password" data-icon="p">Ваш новый пароль</label>
                    <input id="new_password" name="new_password" required="required" type="password" placeholder="Введите новый пароль" />
                </p>
                <p>
                    <label for="old_password" class="old_password" data-icon="o">Ваш старый пароль</label>
                    <input id="old_password" name="old_password" required="required" type="password" placeholder="Введите Ваш старый пароль"/>
                </p>
                
                <p>
                    <label for="conf_password" class="conf_password" data-icon="c">Повторите ввод старого пароля</label>
                    <input id="conf_password" name="conf_password" required="required" type="password" placeholder="Введите еще раз старый пароль"/>
               </p>
<p class="signin button">
                    <input type="submit" value="Сохранить данные"/>
                </p>
</form>
        <div class="close">Закрыть</div>
profile.php:
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
34
35
36
37
38
39
40
41
42
43
<?php
ini_set('display_errors','On');
error_reporting(E_ALL | E_STRICT);
$link = mysqli_connect("mysql.hostinger.ru", "u104639590_root", "Rad89177376317rad", "u104639590_mydb" ) or die ("Не могу подключиться к серверу");
   // mysqli_set_charset('utf8'); 
    if( isset($_SESSION['login']) && isset($_SESSION['password']) ){
$query = "SELECT COUNT(1) FROM `users` WHERE `login` = '".$_SESSION['login']."'
             AND `password` = '".$_SESSION['password']."';";
$res = mysqli_query($link, $query) or die(mysqli_error());
$row = mysqli_fetch_array($res, MYSQLI_NUM);
if (empty($row[0])) {
        echo "Вы не можете изменять данные, пока не авторизуетесь на сайте! Вы будете перенаправлены на <a href = 'index.html'>Главную страницу </a> через 5 секунд.";
        header("Refresh:5;url=/index.html");
        exit;
                    }
else {
        if ($res){
            // принимаем параметры из страницы редактирования профиля
    $new_password = mysqli_real_escape_string($link, (stripslashes(trim($_POST['new_password']))));
    $old_password = mysqli_real_escape_string($link, (stripslashes(trim($_POST['old_password']))));
    $conf_password = mysqli_real_escape_string($link, (stripslashes(trim($_POST['conf_password']))));
            if (isset($new_password) && isset($old_password) && isset($conf_password)) {
                $query = "SELECT COUNT(1) FROM users WHERE password = '".$old_password."'";
                $res = mysqli_query($link, $query);
                $row = mysqli_fetch_array($res, MYSQLI_NUM);
                extract($row);
                if (strlen($new_password) >=6) {
    if (($new_password == $_SESSION['password']) or ($old_password !=$conf_password))
    { echo "Новый пароль совпадает со старым или старый пароль и пароль подтверждения не совпадают.";}
    else {
            $sql = "INSERT INTO `users` (password, old_password) values ('".$new_password."','".$password."' )";
            $result = mysqli_query($link, $sql) or die(mysqli_error());
                echo "<strong> ".$_SESSION['login']." </strong>, Ваш пароль успешно изменен.";}}
                else echo "Слишком короткий пароль.";
echo "Добро пожаловать, <strong> ".$_SESSION['login']." </strong>! Вы будете перенаправлены на <a href = 'index.html'>Главную страницу </a> через 5 секунд.";
header("Refresh:5;url=/index.html");
        }else{
            echo 'Вы ввели не все данные!';
        }
    }
    }
    }
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.04.2015, 21:29
Ответы с готовыми решениями:

Не заносятся данные в личный кабинет
При входе любого пользователя в личном кабинете не заносятся данные .Помогите пожалуйста!

php личный кабинет и как туда занести данные с сайта ,?
Здравствуйте у меня большая проблема . я создал сайт обьявлений но не знаю как сделать чтоб пользователь при добавлении обьявлений это...

Личный кабинет
Есть сайт на wordpress, в шапке которого есть вкладка &quot;войти&quot;. Нужно чтобы после нажатия на нее появлялась форма входа/регистрации(либо шло...

1
1 / 1 / 1
Регистрация: 12.08.2012
Сообщений: 140
20.04.2015, 13:25  [ТС]
Может подскажет кто-то где что не так? Для дипломки очень нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2015, 13:25
Помогаю со студенческими работами здесь

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

Личный кабинет
У меня есть форма авторизации, все ок, все работает, кидает на созданную форму Но теперь задача сложнее, как сделать для каждого, кто...

Личный кабинет
Доброго времени суток! Назрел вопрос о создании личного кабинета в Worpdress. Функционал кабинета сходится лишь к регистрации клиента на...

Личный кабинет
Здравствуйте, посоветуйте как реализовать кабинет пользователей, в связке с кабинетом админа. Чтобы можно было управлять кабинетами...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru