Знаю, что подобные темы обсуждались везде где только можно, в том числе и на этом форуме, но раз уж решил создать свою тему, значит те решения мне не подошли.
Проблема в следующем,
есть форма (о которой была моя вчерашняя тема ). Там была проблема с кодировкой одного скрипта. Но после замены кодировки везде на UTF-8 вместо кириллицы стали отображаться кракозябры. Это удалось исправить добавив в файл header.php строку header('Content-Type: text/html; charset=utf-8'); но это создало другую проблему, при обновлении страницы, браузер отправляет данные формы повторно, но решение с перенаправлением на ту же страницу черезе header("Location: register.php"); не работает, так как заголовки уже отправлены.
Как можно решить проблему? А главное, как это сделать лучше?
Спустя 47 минут, 15 секунд (28.06.2012 - 12:36) pak написал(а):
Вам суда Сброс POST параметров
Удачи.
Удачи.
Спустя 31 минута, 3 секунды (28.06.2012 - 13:07) Guest написал(а):
Что-то не могу понять в чем смысл того, что там написано. В том, что нужно перенести скрипт приема до формы?
Все так же выдает ошибку
Все так же выдает ошибку
Цитата |
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\rk-yes.ru\www\commonparts\header.php:14) in Z:\home\rk-yes.ru\www\register.php on line 21 |
что мне кажется вполне логичным
Спустя 15 часов, 23 минуты, 26 секунд (29.06.2012 - 04:30) dron4ik написал(а):
header('Content-Type: text/html; charset=utf-8'); замени на html эквивалент и поменяй кодировку самого файла...
Спустя 45 минут, 2 секунды (29.06.2012 - 05:15) goodguy написал(а):
Это уже далал.
не помогает. Кодировка самого файла utf-8
<!DOCTYPE html>
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title><?php echo lang::$title ?></title>
<meta name="description" content="<?php echo lang::$content_descr; ?>" />
<meta name="viewport" content="width=device-width; initial-scale=1.0" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="stylesheet" href="css/styles.css" type="text/css" />
<link rel="stylesheet" href="css/global.css" type="text/css" />
<link rel="stylesheet" href="css/buttons.css" type="text/css" />
<link rel="stylesheet" href="css/gallery_body.css" type="text/css" />
<script src="javascript/jQuery.js"></script>
<script src="javascript/slides.min.jquery.js"></script>
<script src="javascript/gen_validatorv4.js"></script>
<script src="javascript/pwdwidget.js"></script>
<script src="javascript/gen_validatorv4.js"></script>
<script src="javascript/jquery.lightbox.js"></script>
</head>
не помогает. Кодировка самого файла utf-8
Спустя 33 минуты, 42 секунды (29.06.2012 - 05:49) Gabriel написал(а):
goodguy
где-то до отправки заголовка идет вывод, потому и пхп и ругается.
где-то до отправки заголовка идет вывод, потому и пхп и ругается.
Спустя 3 минуты, 14 секунд (29.06.2012 - 05:52) goodguy написал(а):
Так и есть. Оказывается денвер высылал хедер с указанием кодировки Windows-1251.
Отредактировал httpd.conf, добавил туда AddDefaultCharset utf-8 и http эквивалент стал работать.
Но перенаправление все равно выдает ошибку
блин, неужели я первый кто с этим столкнулся.
Отредактировал httpd.conf, добавил туда AddDefaultCharset utf-8 и http эквивалент стал работать.
Но перенаправление все равно выдает ошибку
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\192.168.1.12\www\commonparts\header.php:13) in Z:\home\192.168.1.12\www\register.php on line 65
блин, неужели я первый кто с этим столкнулся.
Спустя 12 минут, 7 секунд (29.06.2012 - 06:04) Tadochi написал(а):
ob_start();
....
header('location: yuh.ru');
exit;
руками сильно не пинать
....
header('location: yuh.ru');
exit;
руками сильно не пинать
Спустя 30 минут, 2 секунды (29.06.2012 - 06:34) goodguy написал(а):
Цитата (Tadochi @ 29.06.2012 - 03:04) |
ob_start(); .... header('location: yuh.ru'); exit; руками сильно не пинать |
А ведь буферизация помогла. Спасибо.
Но нормально ли это? Какие подводные камни меня могу ожидать если здесь включить буферизацию?
Спустя 3 минуты, 2 секунды (29.06.2012 - 06:38) Tadochi написал(а):
goodguy
да вроде никаких
да вроде никаких
Спустя 2 минуты, 49 секунд (29.06.2012 - 06:40) goodguy написал(а):
Отлично, тогда буду исползовать и не париться
Все равно в принципе это не так важно. Проект мелкий и не значительный, так что особых требований к качеству нет )
Все равно в принципе это не так важно. Проект мелкий и не значительный, так что особых требований к качеству нет )
Спустя 1 час, 10 секунд (29.06.2012 - 07:40) Invis1ble написал(а):
Спустя 6 часов, 36 минут, 53 секунды (29.06.2012 - 14:17) goodguy написал(а):
Это все понятно, я уже находил подобное.
Просто я еще не на столько хорош в php чтобы простроить всю логику сразу правильно, а переделывать все уже написанное не особо хочется.
У меня в любом случае до формы отправляется шапка сайта, так как форма находится между шапкой и подвалом, а шапка подключается в файле register.php таким образом:
Естественно переставить ее после формы нельзя, так что здесь, видимо, буферизация единственный выход.
Кстати, а как все-таки реализуют подобное вообще?
Не писать же под шапки в каждом php файле отдельно.
Просто я еще не на столько хорош в php чтобы простроить всю логику сразу правильно, а переделывать все уже написанное не особо хочется.
У меня в любом случае до формы отправляется шапка сайта, так как форма находится между шапкой и подвалом, а шапка подключается в файле register.php таким образом:
require_once 'commonparts/header.php';
Естественно переставить ее после формы нельзя, так что здесь, видимо, буферизация единственный выход.
Кстати, а как все-таки реализуют подобное вообще?
Не писать же под шапки в каждом php файле отдельно.
Спустя 36 минут, 59 секунд (29.06.2012 - 14:54) Gabriel написал(а):
goodguy
обработчик формы вынеси в отдельный файл и подключай перед шапкой.
обработчик формы вынеси в отдельный файл и подключай перед шапкой.
Спустя 2 дня, 15 часов, 28 минут, 13 секунд (2.07.2012 - 06:23) goodguy написал(а):
Помогло, сенк ю =)
ппц, даже не думал что в работе с php может быть столько заморочек
ппц, даже не думал что в работе с php может быть столько заморочек
Спустя 1 час, 33 минуты, 58 секунд (2.07.2012 - 07:57) sergeiss написал(а):
Цитата (goodguy @ 29.06.2012 - 15:17) |
а переделывать все уже написанное не особо хочется. |
По сути вопроса тебе уже ответили, я только про это высказывание выскажусь (сорри за тафтологию ). Лучше переделать сразу, чтобы потом не было мучительно больно, когда будешь переделывать не чуть-чуть, а очень много. По себе знаю Сначала лень, а потом все равно приходится переделывать. Но на это уходит намного больше времени, чем сначала бы написал правильно.
Так что не ленись.
Спустя 2 часа, 31 минута, 45 секунд (2.07.2012 - 10:28) Gabriel написал(а):
это можно назвать заморочкой лишь на определенном этапе, потом уже автоматом все пишется как надо
Цитата |
Но на это уходит намного больше времени, чем сначала бы написал правильно. |
а иногда и нервов)
Спустя 2 часа, 26 минут, 43 секунды (2.07.2012 - 12:55) sergeiss написал(а):
Цитата (Gabriel @ 2.07.2012 - 11:28) |
а иногда и нервов) |
Да ужжжжж...
Как раз сейчас занимаюсь переписыванием своего же кода, сделанного года 3 тому назад. Тогда время сэкономил, сейчас зато трачу его.
Уже весь изругался на тему "какой болван тут накодил - руки бы ему оторвал!"
Спустя 2 часа, 3 минуты, 1 секунда (2.07.2012 - 14:58) goodguy написал(а):
Согласен с вами, парни. Сегодня как раз весь день переделывал. И, таки, переделал =) Ибо сам знаю, к чему это часто приводит