Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391

Регистрация. Не заносятся данные в базу

29.03.2013, 19:20. Показов 1785. Ответов 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
25
26
27
28
29
if (isset($_POST['submit'])){
    if(isset($_POST['login'], $_POST['pass'], $_POST['pass2'], $_POST['email'])){
        $login=trim(stripslashes(htmlspecialchars($_POST['login'])));
        $pass=trim(stripslashes(htmlspecialchars($_POST['pass'])));
        $pass2=trim(stripslashes(htmlspecialchars($_POST['pass2'])));
        $email=trim(stripslashes(htmlspecialchars($_POST['email'])));
        if (!empty($login) && !empty($pass) && !empty($pass2) && !empty($email)){
            if($pass==$pass2){
                $login=mysql_real_escape_string($login);
                $pass=mysql_real_escape_string($pass);
                $email=mysql_real_escape_string($email);
                $q4=mysql_query('SELECT COUNT(*) FROM `table` WHERE `Login`="'.$login.'" OR `Email`="'.$email.'"') or die ('Mysql error4: ' . mysql_error());
                if (mysql_result($q4, 0) > 0)
                    echo 'Пользователь с таким ником или email уже зарегистрирован';
                else {
                    $arr=str_split('1234567890qwertyuiopasdfghjklzxcvbnm');
                    $salt='';
                    for ($i=0; $i<=5; $i++)
                        $salt .= $arr[array_rand($arr)];
                    $pass=md5($salt . $pass . $salt);
                    $q5=mysql_query('INSERT INTO `table` (`Login`,`Password`,`Salt`) VALUES ("'.$login.'", "'.$pass.'", "'.$salt.'"') or die ('Mysql error5: ' . mysql_error());
                    header("Location: http://morohon.site88.net");
                    }
                } else
                    echo 'Пароли не совпадают!';
            } else
                echo 'Вы заполнили не все поля!';
        }
    }

Проблема в том, что данный скрипт совершенно не хочет записывать значения в базу.. Даже если в базе есть данный логин и пароль, скрипт не выдает ошибок (error_reporting(E_ALL) в начале есть)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2013, 19:20
Ответы с готовыми решениями:

Данные не заносятся в базу данных после использование символов ' и -
создаю форму для регистрации. вроде все нормально работает, если информация введена правильна данные заносятся в базу данных.но если в поле...

В базу mysql данные заносятся только один раз, не знаю в чём дело
//reg.php &lt;?php include ('connect.php'); $name=$_POST; $sname=$_POST; $data_d=$_POST; $data_m=$_POST; $data_y=$_POST; ...

Не заносятся данные в базу
Добрый день, подскажите что делаю не так, не заносятся данные в базу. protected void doPost(HttpServletRequest request,...

9
 Аватар для KaRaNTiN
44 / 44 / 11
Регистрация: 10.06.2009
Сообщений: 311
Записей в блоге: 2
29.03.2013, 19:26
Скиньте свою структуру таблицы)..
1
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
29.03.2013, 19:38  [ТС]
Цитата Сообщение от KaRaNTiN Посмотреть сообщение
Скиньте свою структуру таблицы)..
Вот:
SQL
1
2
3
4
5
6
7
8
9
CREATE TABLE `table` (
 `ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 `Login` VARCHAR(15) NOT NULL,
 `Password` VARCHAR(32) NOT NULL,
 `Email` VARCHAR(32) NOT NULL,
 `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 `Salt` VARCHAR(32) NOT NULL,
 PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
0
 Аватар для KaRaNTiN
44 / 44 / 11
Регистрация: 10.06.2009
Сообщений: 311
Записей в блоге: 2
29.03.2013, 19:44
Попробуйте перед запросом вывести каждую переменную:

PHP
1
2
3
echo $login;
echo $pass;
echo $salt;
Они нормально выводятся?
1
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
29.03.2013, 20:12  [ТС]
Цитата Сообщение от KaRaNTiN Посмотреть сообщение
Они нормально выводятся?
Ничего не понимаю.. Делаю вот так:
Кликните здесь для просмотра всего текста

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
error_reporting(E_ALL);
if (isset($_POST['submit'])){
    if(isset($_POST['login'], $_POST['pass'], $_POST['pass2'], $_POST['email'])){
        $login=trim(stripslashes(htmlspecialchars($_POST['login'])));
        $pass=trim(stripslashes(htmlspecialchars($_POST['pass'])));
        $pass2=trim(stripslashes(htmlspecialchars($_POST['pass2'])));
        $email=trim(stripslashes(htmlspecialchars($_POST['email'])));
        echo var_dump($_POST);
        if (!empty($login) && !empty($pass) && !empty($pass2) && !empty($email)){
            if($pass==$pass2){
                $login=mysql_real_escape_string($login);
                $pass=mysql_real_escape_string($pass);
                $email=mysql_real_escape_string($email);
                $q4=mysql_query('SELECT COUNT(*) FROM `table` WHERE `Login`="'.$login.'" OR `Email`="'.$email.'"') or die ('Mysql error4: ' . mysql_error());
                if (mysql_result($q4, 0) > 0)
                    echo 'Пользователь с таким ником или email уже зарегистрирован';
                else {
                    $arr=str_split('1234567890qwertyuiopasdfghjklzxcvbnm');
                    $salt='';
                    for ($i=0; $i<=5; $i++)
                        $salt .= $arr[array_rand($arr)];
                    $pass=md5($salt . $pass . $salt);
                    $q5=mysql_query('INSERT INTO `table` (`Login`,`Password`,`Salt`) VALUES ("'.$login.'", "'.$pass.'", "'.$salt.'"') or die ('Mysql error5: ' . mysql_error());
                    header("Location: http://morohon.site88.net");
                    }
                } else
                    echo 'Пароли не совпадают!';
            } else
                echo 'Вы заполнили не все поля!';
        }
    }
?>

То есть вывожу вар дампом весь массив $_POST - результата НЕТ. Как так? Что за магия? Или я криворукий...
Вот форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Регистрация</title>
</head>
<body>
    <form method="POST">
        Введите Логин: <input type="text" name="login"><br>
        Введите пароль: <input type="password" name="pass"><br>
        Повторите пароль: <input type="password" name="pass2"><br>
        Введите E-mail: <input type="text" name="email"><br><br>
        <input type = "submit" name="button" value="Нажать!">
    </form>
</body>
</html>
0
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
29.03.2013, 20:24
Может стоит указать обработчика?
HTML5
1
<form method="POST">
1
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
29.03.2013, 20:25  [ТС]
Цитата Сообщение от Svid_off Посмотреть сообщение
Может стоит указать обработчика?
HTML5
1
<form method="POST">
Сначала было с ним. Потом, ища ошибку, удалил
0
 Аватар для KaRaNTiN
44 / 44 / 11
Регистрация: 10.06.2009
Сообщений: 311
Записей в блоге: 2
29.03.2013, 22:15
Цитата Сообщение от M1lleniuM Посмотреть сообщение
<form method="POST">
так сейчас он есть или его нету?.. Он должен быть обязательно, чтобы знать в каком массиве передавать значения формы.
1
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
29.03.2013, 22:20  [ТС]
Цитата Сообщение от KaRaNTiN Посмотреть сообщение
так сейчас он есть или его нету?.. Он должен быть обязательно, чтобы знать в каком массиве передавать значения формы.
ПРОБЛЕМА РЕШЕНА! К кнопке неправильно обращался. У кнопки название не то было
PHP
1
if(isset($_POST['submit']))
А надо было :
PHP
1
if(isset($_POST['button']))
0
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 64
29.03.2013, 23:44
Невнимательность это реальная проблема и с ней надо боротся я уже давно пробую нормально получается только всё равно синтаксические ошибки всё равно допускаю так что не волнуйся молодец что на форум обратился...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.03.2013, 23:44
Помогаю со студенческими работами здесь

Не заносятся данные в базу данных
&lt;?php include '../db.php'; $stmt = $dbh-&gt;prepare(&quot;SHOW VARIABLES WHERE Variable_name='autocommit';&quot;); $stmt-&gt;execute(); $result =...

Данные не заносятся в базу данных
Здравствуйте, есть форма для добавления новости и обработчик к ней, который заносит в БД данные введенные в форме, вроде бы ошибки нигде...

Не заносятся данные в базу данных mysql
Добрый день, Столкнулся вот с такой проблемой,при нажатии на кнопку данные не записываются хотя в базе данных создается поля. ...

Данные в базу заносятся не по порядку. Как исправить?
Пишу плагин для цмс piwigo заодно изучая пхп и скуль. Плагин должен выводить на главной странице мини-бложик. Записи блога хранятся в базе...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru