Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99

Метод передачи POST - Ошибка при добавление данных

16.05.2015, 10:33. Показов 2445. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, и снова я)
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 <?php
 
$dbhost = "localhost"; // Имя хоста БД
$dbusername = "Auto"; // Пользователь БД
$dbpass = "auto"; // Пароль к базе
$dbname = "auto"; // Имя базы
 
$dbconnect = mysql_connect ($dbhost, $dbusername, $dbpass); 
if (!$dbconnect) { echo ("Не могу подключиться к серверу базы данных!"); }
 
 $name = $_POST['name']; 
 $short_txt = $_POST['short_txt']; 
 $long_txt = $_POST['long_txt'];
 $image = $_POST['image'];
 $sql = 'INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) 
 VALUES('.$name.', '.$short_txt.', '.$long_txt.', '.$image.')';
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';} 
 else 
 {echo '<center><p><b>Данные добавлены!</b></p></center>';}
 ?>
Это сам обработчик

Это форма
Кликните здесь для просмотра всего текста
<form method="post" action="add.php">
Название новости: <input type="text" size="30" name="name">
Короткое название новости: <input type="text" size="30" name="short_txt">
Полное описание новости: <input type="text" size="45" name="long_txt">
Добавьте изображение: <input type="text" size="100" name="image">
<input type="submit" value="Добавить запись">
</form>


Это таблица у меня в бд.
Подключение происходит тоже верно.
Но постоянно происходит "Ошибка при добавление данных"
Где ошибся?? Не могу найти
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2015, 10:33
Ответы с готовыми решениями:

при передачи данных методом POST не преобразует в верхний регистр
Прошу помощи в решении следующей проблемы: при передачи данных методом POST не преобразует в верхний регистр $familiya =...

Ошибка при передачи данных из формы
Всем привет! Пожалуйста, помогите решить задачу! У меня есть форма: &lt;FORM method='POST' action='test.asp' ID='Form1'&gt; &lt;INPUT...

метод POST, кошмар с кодировкой при выводе данных
отправляю с сайта форму заказа, обрабатываю скриптом. после нажатия кнопки отправить данные выводятся юзверю и на мыло приходят - названия...

28
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
16.05.2015, 13:03
Студворк — интернет-сервис помощи студентам
хай, Вам нужно внимательнее читать комментарии, например, этот сразу после вашего
Цитата Сообщение от Jewbacabra Посмотреть сообщение
и еще бд не выбрана
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 13:07
Лучший ответ Сообщение было отмечено хай как решение

Решение

Не по теме:

Ок. Хорошо.



Вот так как-то по красивее

add_news.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
44
45
<form method="post" action="add_news.php">
    Название новости: <input type="text" size="30" name="news_name">
    Короткое название новости: <input type="text" size="30" name="news_short">
    Полное описание новости: <input type="text" size="45" name="news_long">
    Добавьте изображение: <input type="text" size="100" name="news_icon">
    <input type="hidden" name="addition_news" value="true" />
    <input type="submit" value="Добавить запись">
</form><?php
 
if( isset($_POST['addition_news']) ) {
 
        $dbhost = "localhost";
    $dbusername = "Auto";
        $dbpass = "auto";
        $dbname = "auto";
     
    $db_handle = mysql_connect ($dbhost, $dbusername, $dbpass); 
    mysql_select_db($db_handle);
 
    if( !$db_handle ) {
        exit ("Не могу подключиться к серверу базы данных!"); 
    }
 
     $news_name = addslashes($_POST['news_name']); 
    $news_short = addslashes($_POST['news_short']); 
     $news_long = addslashes($_POST['news_long']);
     $news_icon = addslashes($_POST['news_icon']);
 
    $sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES ('$news_name', '$news_short', '$news_long', '$news_icon');";
 
    if( !mysql_query($sql) ) {
        
        echo 
        '<center>
            <strong><font color="red">Ошибка при добавлении данных! '.mysql_error($db_handle).'</font></strong>
        </center>';
 
    } else {
        
        echo 
        '<center>
            <strong><font color="green">Новость добавлена!</font></strong>
        </center>';
    }
} ?>
1
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 15:19  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
Вот так как-то по красивее
Большое спасибо. А как мне теперь убить переменную POST, чтобы она не отправляла повторно данные?
Извиняюсь за наглость, просто времени на курсач не остается.
header('Location: URL');
exit();
Нашел вот это, но оно не работает
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 18:30
Цитата Сообщение от хай
Большое спасибо. А как мне теперь убить переменную POST, чтобы она не отправляла повторно данные?
хм... как это? не понял. Что Вы хотите?
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
17.05.2015, 03:21  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
хм... как это? не понял. Что Вы хотите?
После отправки формы, если нажать F5, то она снова отправится. Как от этого избавиться?
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
17.05.2015, 09:09
Отправляются данные из post формы при обнолении страницы (F5) , нужно запретить
Запретить повторную отправку POST запроса при обновлении страницы
Повторный POST при обновлении страницы

add_news.php | #2
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
44
45
<form method="post" action="add_news.php">
    Название новости: <input type="text" size="30" name="news_name">
    Короткое название новости: <input type="text" size="30" name="news_short">
    Полное описание новости: <input type="text" size="45" name="news_long">
    Добавьте изображение: <input type="text" size="100" name="news_icon">
    <input type="hidden" name="addition_news" value="true" />
    <input type="submit" value="Добавить запись">
</form><?php
 
if( isset($_POST['addition_news']) ) {
 
        $dbhost = "localhost";
    $dbusername = "Auto";
        $dbpass = "auto";
        $dbname = "auto";
     
    $db_handle = mysql_connect ($dbhost, $dbusername, $dbpass); 
    mysql_select_db($dbname);
 
    if( !$db_handle ) {
        exit ("Не могу подключиться к серверу базы данных!"); 
    }
 
     $news_name = addslashes($_POST['news_name']); 
    $news_short = addslashes($_POST['news_short']); 
     $news_long = addslashes($_POST['news_long']);
     $news_icon = addslashes($_POST['news_icon']);
 
    $sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES ('$news_name', '$news_short', '$news_long', '$news_icon');";
 
    if( !mysql_query($sql) ) {
        
        echo 
        '<center>
            <strong><font color="red">Ошибка при добавлении данных! '.mysql_error($db_handle).'</font></strong>
        </center>';
 
    } else {
        
        header('Location: add_news.php');
        exit;
    }
}
 
?>


теперь не должно добавляться F5/Ctrl+R
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
17.05.2015, 09:17  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
теперь не должно добавляться F5/Ctrl+R
так и делал, в итоге
Warning: Cannot modify header information - headers already sent by (output started at G:\home\test4.ru\www\add_news.php:10) in G:\home\test4.ru\www\add.php on line 62
то есть в твоем коде это линия 40
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
17.05.2015, 10:34
я там в строке №40 поставил
PHP
1
header('Location: add_news.php');
и до вызова этой ф-и не должно быть вывода в браузер через echo, exit, prin_r. нельзя!

Вот эта ошибка
Warning: Cannot modify header information - headers already sent by (output started at G:\home\test4.ru\www\add_news.php:10) in G:\home\test4.ru\www\add.php on line 62
означает что headers already sent. То есть что HTTP заголовки уже отправлены. Ожидаю вывода тела страницы. А мы браузеру подставляем ещё Location: add_news.php.

Подозреваю что это не весь код. Можно увидеть весь код файла add_news.php и файла add.php целиком весь?

Добавлено через 1 минуту
то есть должно быть
PHP
1
2
3
4
5
6
7
header('Location: ');
 
echo '';
 
echo '';
 
echo '';
а не
PHP
1
2
3
4
5
6
7
echo '';
 
echo '';
 
echo '';
 
header('Location: ');
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
17.05.2015, 10:56  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
Подозреваю что это не весь код. Можно увидеть весь код файла add_news.php и файла add.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<link rel="stylesheet" media="screen" href="styles.css" />
<form class="contact_form" action="add_news.php" method="post" name="contact_form">
    <ul>
        <li>
             <h2>Добавление новости</h2>
             
        </li>
        <li>
            <label>Название</label>
            <input type="text" name="news_name"  placeholder="Honda Shutle" required />
        </li>
        <li>
            <label>Заголовок</label>
            <input type="text" name="news_short" placeholder="Кратко опишите новость" required />
        </li>
        <li>
            <label>Полное описание</label>
            <textarea name="news_long" cols="40" rows="6" required ></textarea>
        </li>
        <li>
            <label>Изображение</label>
            <input type="text" name="news_icon" placeholder="*.jpg" required />
        </li>
        <li>
            <button class="submit" type="submit" name="addition_news" value="true" >Добавить новость</button>
        </li>
    </ul>
</form>
<?php
session_start();
if( isset($_POST['addition_news']) ) {
 
        $dbhost = "localhost";
        $dbusername = "Auto";
        $dbpass = "auto";
        $dbname = "auto";
     
    $db_handle = mysql_connect ($dbhost, $dbusername, $dbpass); 
    mysql_select_db($db_handle);
 
    if( !$db_handle ) {
    exit ("Не могу подключиться к серверу базы данных!"); 
    }
 
     $news_name = addslashes($_POST['news_name']); 
     $news_short = addslashes($_POST['news_short']); 
     $news_long = addslashes($_POST['news_long']);
     $news_icon = addslashes($_POST['news_icon']);
 
    $sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES ('$news_name', '$news_short', '$news_long', '$news_icon');";
    
    
    if( !mysql_query($sql) ) {
        
        echo 
        '<center>
            <strong><font color="red">Ошибка при добавлении данных! '.mysql_error($db_handle).'</font></strong>
        </center>';
 
    } else {
        
        echo 
        '<center>
            <strong><font color="green">Новость добавлена!</font></strong>
        </center>';
        
    }
}
 
 ?>

Он весь. Как был так и остался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.05.2015, 10:56

Ошибка при передачи данных между формами
Здравствуйте! Проблема такова: Есть две формы. Одна содержит таблицу(dataGridView) — Наименование товара, Цена, Количество. Вторая...

Помогите с проблемой передачи данных методом POST
Всем привет....Помогите плиз,с проблемой.... У меня на работе есть коммутатор...у него только вэб управление...через стандартную форму....

POST запрос после json передачи данных
Не могу понять, как мне одновременно сделать json передачу данных при нажатии на кнопку и передачу данных методом POST на страницу.... ...

Ошибка при передачи данных из другой формы, используя свойство 'родитель'
Помогите, пожалуйста! В теме &quot;Ответы на 7 самых частых вопроса по WinForms&quot; в пункте 2 расписан 5-й вариант передачи данных из другой...

Метод post, добавление div-ов
Заполняю div данными: $mark-&gt;GetID(); $mark-&gt;GetMark(); $mark-&gt;GetWheels($_POST); при каждом последующем...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru