Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
RRRAAAA
3 / 3 / 0
Регистрация: 21.06.2015
Сообщений: 33
#1

Нет записи данных в переменные

22.06.2016, 19:15. Просмотров 746. Ответов 6
Метки нет (Все метки)

Учусь писать код, требуется данные из формы отправить в базу данных, беда в том, что в переменные он не записывает
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form name="add" action="index.php" method="post">
        <table border>
        <tr rowspan='2'> Добавить новое управление:</tr>
        <tr>
            <td>Наименование:</td>
            <td><input name="naim" type="text" value=""></td>
        </tr>
        <tr>
            <td>Код начальника управления:</td>
            <td><input name="id_s" value=""></td>
        </tr>
        </table>
        <br>
        <input type=submit  name="action" value="Добавить">
    <hr>
    </form>
<?
    $naim = $_post['naim'];
    $id_s = $_post['id_s'];
    if (!empty ($name)){
    $sql_add = "INSERT INTO s_y (naim, id_s) VALUES ('$naim', '$id_s')";
    mysql_query($sql_add) or die("ошибка");}
?>
Помогите уважаемые форумчане, уже 2 часа тухну, туплю не могу понять в чем проблема
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2016, 19:15
Ответы с готовыми решениями:

Как сделать что если нет данных в таблице, чтобы шаблон этой самой таблице не выводился а писалось что данных в таблице нет
В общем проблема такая, есть админка где выводится список жалоб которые без...

Если нет в базу вывести нет данных
Есть запрос , нужно вернуть ответ если нет элимента в базе . function...

Нет записи в базу
Вот сама форма &lt;form name=&quot;forma&quot; aсtion=&quot;index.php?view=add.php&quot;...

Запись данных в переменные
Добрый день. Вопрос следующий. Есть парсер страницы, который выцепляет данные с...

Добавление записи в базу данных и считывание из базы данных
Здравствуйте! Знаю, что эти вопросы поднимались уже тысячи раз, но помогите...

6
Mikhail Shell
50 / 50 / 39
Регистрация: 15.11.2014
Сообщений: 626
22.06.2016, 19:33 #2
Цитата Сообщение от RRRAAAA Посмотреть сообщение
PHP
1
2
$naim = $_post['naim'];
$id_s = $_post['id_s'];
Насколько я знаю post пишется заглавными буквами
PHP
1
2
$naim = $_POST['naim'];
$id_s = $_POST['id_s'];
и если у вас файл обработчик одновременно является файлом с формой, то php код желательно ставить перед формой.
То есть код
PHP
1
2
3
4
5
$naim = $_post['naim'];
    $id_s = $_post['id_s'];
    if (!empty ($name)){
    $sql_add = "INSERT INTO s_y (naim, id_s) VALUES ('$naim', '$id_s')";
    mysql_query($sql_add) or die("ошибка");}
нужно поставить перед формой
0
nekosoku
60 / 60 / 31
Регистрация: 24.05.2016
Сообщений: 202
22.06.2016, 19:35 #3
Лучший ответ Сообщение было отмечено RRRAAAA как решение

Решение

RRRAAAA, в 20 строке присланного Вами кода проверяется на пустоту переменная $name, которая у Вас не инициализирована.
Вероятно, Вы опечатались и хотели там прописать $naim.
Такое часто происходит, когда не получается назвать переменную правильно и приходится добавляться какие то символы, что приводит к некорректному названию переменной и несовпадению сего с ее логикой.
На Вашем месте я бы PHP код привел к следующему виду:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_POST['action'])) {
    if(!isset($_POST['naim']) || empty($_POST['naim'])) {
        exit('Не заполнено поле: "Наименование"!');
    }
    if(!isset($_POST['id_s']) || empty($_POST['id_s'])) {
        exit('Не заполнено поле: Код начальника управления"!');
    }
    $naim = $_POST['naim'];
    $id_s = $_POST['id_s'];
    $sql_add = "INSERT INTO s_y (naim, id_s) VALUES ('$naim', '$id_s')";
    mysql_query($sql_add) or die("Ошибка: " . mysql_error());}
}
?>
Разумеется, не забывайте про фильтрацию переменных и рассмотрите вариант отказа от mysql нативного драйвера.
1
RRRAAAA
3 / 3 / 0
Регистрация: 21.06.2015
Сообщений: 33
22.06.2016, 19:38  [ТС] #4
Регистр изменил, обработчик переместил, не помогло
0
nekosoku
60 / 60 / 31
Регистрация: 24.05.2016
Сообщений: 202
22.06.2016, 19:42 #5
RRRAAAA, присылайте свой результат.
0
RRRAAAA
3 / 3 / 0
Регистрация: 21.06.2015
Сообщений: 33
22.06.2016, 19:54  [ТС] #6
Огромное спасибо! Вот я не внимательный, действительно дело в необъявленной переменной, в полном варианте это "Наименование" а я по привычке "Имя", мне многие говорят про отказ от mysql в сторону mysqli, но пока бы с этим разобраться), за пример кода отдельное спасибо, буду работать дальше

Добавлено через 5 минут
И может ещё подскажете как наколдовать с кодировкой чтобы вводились русские буквы или может ссылочка какая есть по этой теме? Ато он только английские отправляет, в БД тип данных varchar

Добавлено через 5 минут
Всё, разобрался, поменял кодировку в нотпаде на UTF-8
0
Custos
189 / 174 / 30
Регистрация: 23.09.2014
Сообщений: 631
22.06.2016, 21:01 #7
RRRAAAA, не используйте устаревшие функции mysql_*
0
22.06.2016, 21:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2016, 21:01

Если в БД нет записи с определённым индексом - перенаправить на страницу "404".
Доброго дня суток! Столкнулся с такой ситуацией есть страница...

Кодировка при записи данных в БД
Приветствую уважаемые форумчане. У меня такая проблема. В админке...

записи не добавляются в базу данных
Записи в базу данных не добавляются... в чем может быть проблема? &lt;?php if...


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

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

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