и сервер перезапустили? судя по крякозябрам файл уже в нужно кодировке. может быть в самом файле указывается неверная кодировка? должно быть вот так Код (Text): <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
спасибо огромное за помощь, ребята! вот где была зарыта собака: я закомментировала эту строку, а кодировка utf-8 у меня, действительно, и так в мета-теге обозначена. всё стало в порядке, вроде уф). всё пока. Попробую начать работать) ещё раз спасибо вам всем за помощь
Игорь здравствуйте ! А в связи с таким вопросом можно я тоже один глупый вопрос задам? А именно: а можно ли использовать именно html-файл, но в него как-то вкладывать php-код кусками, например в тех случаях, когда достаточно и html-файла, но нужно лишь вставить некий текст из базы данных, то есть сделать такое включение, это возможно?
здрасти ребята, ещё вопросик. файл css я тоже ведь должна поместить в папку в денвере, где лежит теперь основной файл php (бывший .html). вопрос: а как я теперь должна подобраться к редактированию css , который теперь находится в денвере? его что, тоже переименовать в php? Выяснилось , что находясь в денвере, он не хочет редактироваться, при том, что основной файл php читает его. Но он видит только то, что было в этом css на момент его помещения в денвер. как решается эта проблема? спасибо
tigr1 с точки зрения компьютера все файлы - одинаковые. так что можно как-то добавить расширение и они будут передаваться на интерпретатор пхп. Только проще переименовать =) А еще лучше использовать нормальную CMS.
Я таким не страдал, т.к. нет в этом никакой необходимости, но говорят, что это не возможно. Попробуйте, это не страшно)) Потом поделитесь результатами. Ctrl + Shift + R - Обновление кэша браузера. Когда сайт в первый раз подгружается в браузере, по умолчанию .css и .js файлы кэшируются, т.е. браузер сохраняет в своем хранилище эти файлы, и при следующем заходе на этот сайт, браузер не просит снова эти файлы у сервера, а берет те, которые сохранил у себя. Поэтому ваши изменения и не видны. Вот еще один способ: <link href="style.css?v" type="text/css" rel="stylesheet" />
Вы наверное перепутали наверна имели введу Код (PHP): <div> <?php ...php code... ?> </div> Но это только если будет расширение php. Тот же index.html только уже index.php - переименовать расширение файла.
здравствуйте. ребята, подскажите, пожалуйста, нормально ли следующее: я сохранила все страницы своего сайта в PHP. теперь , когда я перехожу с помощью кнопок навигации на любую из страниц (в денвере), то эта "любая из страниц" открывется в Html, без Php-украшений , конечно. Хотя у всех этих страниц уже есть PHP-аналоги в корневой папке. Это нормально, что открываться при нажатии на кнопку навигации всё равно будет только Html ? и это значит, что при каждом переходе на другую страницу мне нужно менять в адресе броузера расширение? а что же будет, когда отправлю их на хостинг? или отправлять я буду только *.php , а html оставлю себе на память ? я ещё ничего не отправляла на хостинг, поэтому боюсь, что там тоже начнётся неразбериха. спасибо.
Ganzal, имеешь в виду в броузере,каждый раз, как перехожу на другую страницу? а почему броузер не запоминает введённое расширение? и как только перехожу на другую страницу, а потом тут же возвращаюсь , в нём опять написано *.html
потому что браузер отображает то что сверстано в исходном коде. и он не должен запоминать ручную замену в адресной строке. править нужно исходный HTML
Здравствуйте снова. ребята, помогите найти ошибку в 19-ой строке. идея в том, что я создаю счётчик посещений (цифры будут картинками)): Код (Text): <? $file_name="counter.txt"; //cуществует ли файл, в котором хранится занчение счётчика? if(!file_exists($file_name)) { $fp=fopen($file_name, "w"); fwrite($fp, "0"); fclose($fp); } //cчитываем значение счётчика: $fp=fopen($file_name, "r"); $counter=fread($fp, 10); fclose($fp); //опрашиваем значение cookie: $visitor=$_COOKIE["visitor"]; if(!isset($visitor)) { setcookie("visitor", "yes"); $counter++; $fp=fopen($file_name, "w"); fwrite($fp, $counter); fclose($fp); } //преобразуем счётчик в граф.изобр.: $number=strlen($counter); $counter_graphic=""; for($pos=0; $pos<$number; $pos++) { $digit=substr($counter, $pos, 1); $counter_graphic .= "<img src=\"$digit.png\" >"; } echo "счётчик посещений: ", $counter; ?> для строки 19 : setcookie("visitor", "yes"); - (она на 19-ой строке) броузер упорно выдаёт ошибку следующего содержания: Warning: Cannot modify header information - headers already sent by (output started at Z:\home\denwer_f.ru\www\cookie.php:1) in Z:\home\denwer_f.ru\www\cookie.php on line 19 я всё сделала по учебнику один в один. По идее, счётчик с куками уже не должен увеличивать своё значение (в этом ведь и фишка), но он продолжает увеличивать, как будто и нет никаких куков. Может, это потому, что всё в денвере, может, никаких куки денвер и не создаёт? А только настоящий сервер? эту строчку в самом конце: echo "счётчик посещений: ", $counter; я подставила, т.к. у вас нет моих картинок для цифр, и цифры будут выводиться по-простому. ))помогите, кто может. спасибо.
заголовки должны идти до вывода любого текста. куки задаются в заголовках. а видимо до 19 уже выводился какой-то текст.
Игорь, имеешь в виду заголовок в титле? но перед ним у меня ничего нет кроме тега <html>. а тот фрагмент кода, что я привела , он у меня в отдельном файле, который я пришиваю к файлу html и в html (е) просто вставляю переменную в нужное место. Добавлено спустя 6 минут 57 секунд: Your, спасибо за информацию. Поменяла кодировку в Ноутпаде++, но ничего не изменилось. может, причина ещё в том, что в мета-теге файла html у меня кодировка осталась просто utf-8 : <meta http-equiv="content-type" content="text/html; charset=utf-8"> ..а как же я туда подставлю слово "без" (без BOM) ? ) и в файле конфигурации денвера также стоит кодировка просто utf-8
заголовок, который сервер браузеру отправляет перед содержимым. если в ваших файлах вдруг какое-то содержимое отправляется до того как сервер пытается отправить заголовки - возникает ошибка headers already sent в которой четко написано какой именно файл начал выдавать содержимое. грубо говоря так. лишний перевод строки или метка BOM в utf-кодированном файле чаще всего и порождают такие ошибки
Ganzal, спасибо за ответ. мне вернуть кодировку обратно на просто utf-8? я так и не поняла, имеется в виду заголовок, который в титле, или вообще любой заголовок на странице? ошибка ссылается как раз на файл PHP, в котором я отдельно сохраняю все скрипты PHP (пока у меня там только вывод даты и этот счётчик с куками), на ту строку в которой написано: setcookie("visitor", "yes"); Этот файл я просто подшиваю к html . как же мне выяснить, что сервер отсылает броузеру раньше заголовков?
ё-маё... ясным по белому написал что в данном случае подразумевается под заголовком чтоб вы понимали как все ЭТО происходит пользователь совершает действие в браузере (ввод адреса, нажатие ссылки, событие сценария и тд) браузер подключается к серверу браузер отправляет заголовки ЗАПРОСА к серверу браузер отправляет тело запроса к серверу (если оно есть) сервер отправляет заголовки ОТВЕТА браузеру сервер отправляет тело ответа браузеру (если есть) бразер рендерит содержимое и принимает требуемое действие если ваш скрипт написан криво или лезет метка порядка байтов (byte order mark, BOM) то сервер дойдя до этого момента считает что работа с заголовками ответа завершена, он их отправляет и далее выводит требуемые символы тела ответа. и тут ваш скрипт пытается поставить печеньку пользователя. а печенье - в заголовке ответа. сервер пытается отправить заголовки ответа но вот беда - они УЖЕ были отправлены и именно этот факт сервер констатирует ошибкой headers already sent и говорит в каком месте сценария он ПО ТРЕБОВАНИЮ АВТОРА СКРИПТА это сделал. а автор уже думает что делать с этой ошибкой. нет, рекомендую всегда без BOM и да - title - это то какой заголовок браузер должен показать у своего окна для данной страницы. попробуйте без него - в зависимости от браузера заголовок будет содержать либо только название браузера либо ссылку на страницу. и через DOM этот заголовок можно поменять легко. и еще да - именно заголовками ответа браузеру говориться что сейчас полезет телом попробуйте в самом начале своего сценария написать header('content-type: text/plain') и ваша страница которую вы ожидаете красивой такой с ссылочками, болдами и италиками будет выведена вообще исходным текстом. а если добавите - header('content-type: image/jpeg'); то ничего не увидите - браузер попытается обработать тело ответа (которое исходный текст хтмл) как картинку в формате жыпег и у него это не получится. чуть-чуть хоть яснее стало? справитесь с ошибками?
Ganzal, всё получилось, я даже так и не поняла, что сделала. извини, что не понимаю. не сердись. cпасибо тебе огромное за все разъяснения.
Все файлы делайте UTF - 8 (без BOM) и не будет у вас проблем и базу, таблицы, колонки (utf8_general_ci). В соединениях mysql тоже нужно прописать utf8. <meta> тег у вас правильный. В .htaccess, тоже и вообще настройте веб сервер для работы с utf-8.
сервер с браузером разговаривают на своем языке. ответ сервера состоит из двух частей: заголовок и содержимое. содержимое это страница ваша, или файлик какой, картинка например. в заголовках живут технические параметры. например, куки или рекомендации по кешированию.