Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите пожалуйста с перезапросом страницы методом GET
Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017
Помог: 0 раз(а)
Чтобы форма при перезапуске страницы не отправляла новую запись в базу надо перезапросить страницу методом GET, но поскольку страница инклюдится заголовок не отправляется.... Попробовал включить буферизацию не помогает. Подскажите пожалуйста в чём моя ошибка!!!! С удалением записи тоже пока не понял что делать....
Вот код страницы.
Эти две строки в коде уже есть. Но страница подключаемая к index.php.... В этом-то и засада. При отправке заголовка пишет ошибку что заголовки отправлены. Пробовал буферизацию включить но не помогает. Это всё отображено в коде страницы.
Строитель
Отправлено: 21 Мая, 2017 - 21:52:35
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
новый ученик, а что толку что они уже есть? Они НЕ ТАМ ГДЕ НАДО - понимаете?
новый ученик
Отправлено: 21 Мая, 2017 - 22:03:12
Новичок
Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017
Помог: 0 раз(а)
Строитель пишет:
новый ученик, а что толку что они уже есть? Они НЕ ТАМ ГДЕ НАДО - понимаете?
Понял свою ошибку. Вставил так как вы указали. Только стало ещё веселей.... Теперь при отправке формы происходит переход на index.php а новая запись не добавляется... Или я снова что-то накосячил?
/* Сохранение записи в БД */
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['name']) and isset($_POST['email']) and isset($_POST['msg'])){
$name = trim(strip_tags($_POST['name']));
$email = trim(strip_tags($_POST['email']));
$msg = trim(strip_tags($_POST['msg']));
$sql = "INSERT INTO msgs (name, email, msg) VALUES ('$name', '$email', '$msg')";
mysqli_query($link, $sql);
if( !$result)
echo mysqli_error($link);
}
header("Location: " . $_SERVER["PHP_SELF"]);
exit;
}
/* Сохранение записи в БД */
Строитель
Отправлено: 21 Мая, 2017 - 22:20:06
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Не должно быть никакого вывода в браузер до вызова header(). А у вас там над ней echo прописан. Попробуйте пока так:
Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017
Помог: 0 раз(а)
Строитель пишет:
новый ученик, а что толку что они уже есть? Они НЕ ТАМ ГДЕ НАДО - понимаете?
Уважаемый! Подскажите что теперь за засада образовалась???? Я отправку заголовка вообще удалил а страница теперь после отправки формы всё время переходит на index.php не отправляя запись в базу... Что теперь делать с этим и почему это происходит после удаления отправки заголовка????
Строитель
Отправлено: 21 Мая, 2017 - 22:24:50
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
новый ученик, пост выше вашего видели? Пробовали?
новый ученик
Отправлено: 21 Мая, 2017 - 22:32:41
Новичок
Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017
Помог: 0 раз(а)
Строитель пишет:
новый ученик, пост выше вашего видели? Пробовали?
Да видел попробовал. С тем же результатом. После отправки новой записи переход на index.php и новой записи нет. Попробовал совсем удалить отправку заголовка. Результат тоже. После отправки новой записи переход на index.php и новой записи нет. Но ведь отправку заголовка я удалил.... Почему страница на index.php переходит???? Что-то у меня мозг вскипать начинает...
Строитель
Отправлено: 21 Мая, 2017 - 22:33:58
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
новый ученик, напишите пожалуйста, ещё раз ваш код, но с учётом текущих изменений.
новый ученик
Отправлено: 21 Мая, 2017 - 22:39:42
Новичок
Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017
Помог: 0 раз(а)
Строитель пишет:
новый ученик, напишите пожалуйста, ещё раз ваш код, но с учётом текущих изменений.
Вот код всей страницы. Отправка заголовка закоментирована. Но результат при отправке формы тот же. Переход на index.php к которому подключается страница а новая запись не вносится в базу данных.
<?php
/* Основные настройки */
const DB_HOST = 'localhost';
const DB_LOGIN = 'root';
const DB_PASSWORD = '';
const DB_NAME = 'gbook';
$link = mysqli_connect(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_NAME);
/* Основные настройки */
Я немного по другому сделал. Полностью пересоздал эту страницу с прежним кодом. Раскоментировал заголовок. Теперь снова пишет ошибку что заголовки отправлены Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\mysite.local\index.php:12) in C:\OpenServer\domains\mysite.local\inc\gbook.inc.php on line 28.
Вот код страницы.
<?php
/* Основные настройки */
const DB_HOST = 'localhost';
const DB_LOGIN = 'root';
const DB_PASSWORD = '';
const DB_NAME = 'gbook';
$link = mysqli_connect(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_NAME);
/* Основные настройки */
/* Сохранение записи в БД */
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if (isset($_POST['name'], $_POST['email'], $_POST['msg'])) {
$name = trim(strip_tags($_POST['name']));
$email = trim(strip_tags($_POST['email']));
$msg = trim(strip_tags($_POST['msg']));
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
новый ученик, по тексту ошибки становится понятно, что у вас вывод начат в файле index.php, а файл gbook.inc.php подключен к index.php ниже этого вывода. Верно?
новый ученик
Отправлено: 21 Мая, 2017 - 23:19:51
Новичок
Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017
Помог: 0 раз(а)
Строитель пишет:
новый ученик, по тексту ошибки становится понятно, что у вас вывод начат в файле index.php, а файл gbook.inc.php подключен к index.php ниже этого вывода. Верно?
Да. Так и есть. В этом-то и засада что gbook.inc.php подключен к index.php. Если бы это была самостоятельная страница вопроса бы не возникло.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.