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

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

16.05.2015, 10:33. Показов 2460. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru