Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 18.01.2014
Сообщений: 19
1

Запрос mysqli_query - при попытке отправить данные ничего не происходит

18.01.2015, 03:28. Просмотров 1228. Ответов 13
Метки нет (Все метки)

Здравствуйте, мне нужно создать форму регистрации которая будет отправлять данные на MySQL сервер, проблема заключается в том что ошибок никаких я не получаю но и при попытке отправить данные ничего не происходит, вот 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
<?php
$connection = mysqli_connect('HOST', 'USER', 'PSWD', 'DB_NM');
if ($connection->connect_errno) {
    echo "Не удалось подключиться к MySQL: (" . $connection->connect_errno . ") " . $connection->connect_error;
}
if(isset($_POST['submit'])){
    $login = $_POST['Login'];
    $email = $_POST['Email'];
    $password = $_POST['password'];
    $r_password = $_POST['r_password'];
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $phone = $_POST['phone'];
    $city = $_POST['city'];
    
    if($password == $r_password){
       $password = md5($password);
       $query = mysqli_query($connection, "INTEST INTO users (user_id, username, passwd, email, first_name, last_name, phone, city) VALUES('', '$login', '$password', '$email', '$first_name', '$last_name', '$phone', '$city')");
       
    }
    else{
        die('Пароли не совпадают.');
    }
}
?>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2015, 03:28
Ответы с готовыми решениями:

При попытке вызова метода ничего не происходит. Код не отрабатывает.
Здравствуйте Решил разобраться с классами На нескольких сайтах нашёл пример кода с классами Но...

При попытке переустановки пишет exiting pxe rom и ничего не происходит
Ребят проблема,при попытке переустановить виндовс с 8 на 7 (через флешку) ставя легаси в...

При попытке включить компьютер кулеры заводятся но дальше ничего не происходит
При попытке включить компьютер кулеры заводятся но дальше ничего не происходит, некоторые звуки...

Работа с COM-портом, ошибка при попытке отправить данные
Всем доброго времени суток :) Обновляю программу, чтобы она кроме работы по Ethernet умела...

13
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,567
18.01.2015, 11:58 2
Если так работать не будет проверьте названия ключей в POST и названия полей в mysql
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
<?php
 
$connection = mysqli_connect('HOST', 'USER', 'PSWD', 'DB_NM');
 
if(isset($_POST['submit'])){
    $login = mysqli_real_escape_string($connection, $_POST['Login']);
    $email = mysqli_real_escape_string($connection, $_POST['Email']);
    $password = $_POST['password'];
    $r_password = $_POST['r_password'];
    $first_name = mysqli_real_escape_string($connection, $_POST['first_name']);
    $last_name = mysqli_real_escape_string($connection, $_POST['last_name']);
    $phone = mysqli_real_escape_string($connection, $_POST['phone']);
    $city = mysqli_real_escape_string($connection, $_POST['city']);
    
    if($password == $r_password){
        $password = md5($password);
        $result = mysqli_query($connection, "INTEST INTO `users` (`username`, `passwd`, `email`, `first_name`, `last_name`, `phone`, `city`) VALUES('{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
        if($result)
            echo 'Запись добавлена!';
        else
            echo 'Запись не добавлена!';
    }else{
        echo 'Пароли не совпали, повторите заново!';
    }
}
?>
0
0 / 0 / 1
Регистрация: 18.01.2014
Сообщений: 19
18.01.2015, 16:30  [ТС] 3
JimUSA, Нет, всё равно не работает.
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,567
18.01.2015, 17:40 4
А что за текст выводит?
0
0 / 0 / 1
Регистрация: 18.01.2014
Сообщений: 19
18.01.2015, 21:30  [ТС] 5
JimUSA, выдает просто ошибку по заданному условию. "echo 'Запись не добавлена!';"
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,567
18.01.2015, 23:10 6
EltonFir, А ключи в POST и значение в mysql проверили?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16813 / 6692 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
18.01.2015, 23:17 7
А что должен выполнять запрос INTEST ? Тестировать? Попробуйте, все-таки, использовать INSERT..
З.Ы. И на будущее научитесь отлаживать программу - есть mysqli_error().
1
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,567
18.01.2015, 23:21 8
KOPOJI,

Не по теме:

ё не заметил :D

0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16813 / 6692 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
18.01.2015, 23:23 9
Цитата Сообщение от EltonFir Посмотреть сообщение
VALUES('',
и вместо '' надо либо вставлять NULL для первичного ключа, либо следующий ключ (число), либо вообще не указывайте в запросе это поле - мускул сама подставит новый инкремент. Т.к., ЕМНИП, иначе вы получите ошибку data truncated for column '...'
0
0 / 0 / 1
Регистрация: 18.01.2014
Сообщений: 19
19.01.2015, 02:21  [ТС] 10
KOPOJI, Попробовал 3 варианта:

так,
PHP
1
$result = mysqli_query($connection, "INSERT INTO `users` ('user_id', 'username', 'passwd', 'email', 'first_name', 'last_name', 'phone', 'city') VALUES('{NULL}', '{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
так
PHP
1
$result = mysqli_query($connection, "INSERT INTO `users` ('user_id', 'username', 'passwd', 'email', 'first_name', 'last_name', 'phone', 'city') VALUES('NULL', '$login', '$password', '$email', '$first_name', '$last_name', '$phone', '$city')");
и вот так
PHP
1
$result = mysqli_query($connection, "INSERT INTO `users` ('user_id', 'username', 'passwd', 'email', 'first_name', 'last_name', 'phone', 'city') VALUES('NULL', '{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
Ничего не работает всё время даёт ошибку по заданному условию "echo 'Запись не добавлена!';"

Я до сих пор не понимаю что нужно сделать...

Добавлено через 6 минут
KOPOJI, Вот полный код, может это как нибудь поможет:

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
<meta charset="UTF-8">
 
<?php
 
$connection = mysqli_connect('HOST', 'LOGIN', 'PSWD', 'DB_N');
 
if(isset($_POST['submit'])){
    $login = mysqli_real_escape_string($connection, $_POST['username']);
    $email = mysqli_real_escape_string($connection, $_POST['Email']);
    $password = $_POST['password'];
    $r_password = $_POST['r_password'];
    $first_name = mysqli_real_escape_string($connection, $_POST['first_name']);
    $last_name = mysqli_real_escape_string($connection, $_POST['last_name']);
    $phone = mysqli_real_escape_string($connection, $_POST['phone']);
    $city = mysqli_real_escape_string($connection, $_POST['city']);
    
    if($password == $r_password){
        $password = md5($password);
        $result = mysqli_query($connection, "INSERT INTO 'users' ('user_id', 'username', 'passwd', 'email', 'first_name', 'last_name', 'phone', 'city') VALUES('{NULL}', '{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
        if($result)
            echo 'Запись добавлена!';
        else
            echo 'Запись не добавлена!';
    }else{
        echo 'Пароли не совпали, повторите заново!';
    }
}
?>
 
<form method="post" action="Register.php">
    <input type="text" name="username" placeholder="Имя пользователя"/><br>
    <input type="text" name="Email" placeholder="Email адрес"/><br>
    <input type="password" name="password" placeholder="Пароль"/><br>
    <input type="password" name="r_password" placeholder="Повторите пароль"/><br>
    <input type="text" name="first_name" placeholder="Имя"/><br>
    <input type="text" name="last_name" placeholder="Фамилия"/><br>
    <input type="text" name="phone" placeholder="+7(***)-***-**-**"/><br>
    <input type="text" name="city" placeholder="Город"/><br>
    <input type="submit" name="submit" value="Зарегистрироваться.">
</form>
0
63 / 63 / 23
Регистрация: 09.12.2012
Сообщений: 459
19.01.2015, 03:32 11
NULL не надо брать в кавычки, если user_id - это у вас первичный ключ с автоинкриментом, то тогда удалите это поле из запроса.
0
0 / 0 / 1
Регистрация: 18.01.2014
Сообщений: 19
19.01.2015, 04:05  [ТС] 12
Цитата Сообщение от M9ICHIK Посмотреть сообщение
NULL не надо брать в кавычки, если user_id - это у вас первичный ключ с автоинкриментом, то тогда удалите это поле из запроса.
Попробовал удалить поле "user_id" вместе с NULL из запроса, и просто убрать "кавычки" с NULL, все равно не работает.

PHP
1
$result = mysqli_query($connection, "INSERT INTO 'users' ('username', 'passwd', 'email', 'first_name', 'last_name', 'phone', 'city') VALUES({'{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16813 / 6692 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
19.01.2015, 07:28 13
Лучший ответ Сообщение было отмечено EltonFir как решение

Решение

кавычки неверные.
PHP
1
$result = mysqli_query($connection, "INSERT INTO `users` (`username`, `passwd`, `email`, `first_name`, `last_name`, `phone`, `city`) VALUES('{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
Либо так
PHP
1
$result = mysqli_query($connection, "INSERT INTO `users` (`user_id`, `username`, `passwd`, `email`, `first_name`, `last_name`, `phone`, `city`) VALUES(NULL, '{$login}', '{$password}', '{$email}', '{$first_name}', '{$last_name}', '{$phone}', '{$city}')");
И если вы данные не обрабатываете с помощью mysqli_real_escape_string - то запрос небезопасен. А еще лучше использовать подготовленные выражения
1
0 / 0 / 1
Регистрация: 18.01.2014
Сообщений: 19
19.01.2015, 20:06  [ТС] 14
KOPOJI, Спасибо большое, наконец то заработало!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2015, 20:06

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

При нажатии кнопки "Отправить" ничего не происходит
Здравствуйте. Пытаюсь разобраться как работает этот скрип. Вопрос вот в чем, почему когда нажимаешь...

При попытке отправить post запрос с капчей сервер не принимает его
на сайте имеется капча, смотрел сниффером - первый запрос идет на страницу с капчей, потом скрипт...

Запрос рабочий но mysqli_query выдает ошибку Warning: mysqli_query(): Couldn't fetch mysqli in [Мой_Файл]
Фой код генерирует запрос INSERT INTO `users`(`login`, `email`, `password`, `lname`, `fname`,...

При попытке отправить данные формы открывается страница с сообщением: 'The requested method POST is not allowed for the URL /cgi-bin/script.cgi.'
Имеется форма, начальный тег: &lt;form method=post action='cgi-bin/script.cgi'&gt; При попытке...


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

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

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