[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Метод пост перестал работать
Golovastik
Имеется файл index.php

<?
header('Content-Type: text/html; charset=utf-8');
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Контакты</title>
</head>

<body>
<form
action="forma.php">
Введите имя <br />
<input
type="text" name="nm" /> <br />
Введите количество лет <br />
<input
type="text" name="year" /> <br />
<input
type="submit" value="Отправить" />

</form>
</body>
</html>



и файл forma.php



<?php
header('Content-Type: text/html; charset=utf-8');
echo "Имя - $_POST[nm] ";
echo "Пароль - $_POST[year] ";
?>


Выводит вообще такое при отправки формы:

п»ї
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.ru\www\forma.php:2) in Z:\home\test.ru\www\forma.php on line 3
�мя - Пароль -


Как правильно написать,чтоб не выводило такую ерунду?



Спустя 9 минут, 27 секунд (4.12.2010 - 23:39) sharki написал(а):
  echo "Имя - ".$_POST['nm'];
echo "Пароль - ".$_POST['year'] ;

Спустя 2 минуты, 48 секунд (4.12.2010 - 23:42) Golovastik написал(а):
Странно, но выводит тоже самое, не могу понять почему.

Спустя 1 минута, 22 секунды (4.12.2010 - 23:43) waldicom написал(а):
Возможно файл сохранен в UTF8 BOM
Надо пересохранить в UTF-8 without BOM
Перед вызовом функции header() вообще ничего не должно стоять (в обычном случае)

Спустя 2 минуты, 49 секунд (4.12.2010 - 23:46) Марафонец написал(а):
<form action="forma.php" method="post">

Это для того, чтобы передать данные с помощью POST

Второе
$_POST['nm']
Лучше будет вот так

И самое главное сохраните документы в utf-8 без BOM и проблема с заголовком пропадет, как и с кодировкой.

Спустя 59 минут, 29 секунд (5.12.2010 - 00:46) Golovastik написал(а):
Странно, сработало, а чё так, почему без Бома?

Всё вроде отлично, но в Опере,хотя ов всех браузерах нормально.

Версия:
10.63

Сборка:
3516

Платформа:
Win32

Система:
Windows XP

Модуль XHTML+Voice:
Плагин не загружен


ПРи отправке формы, значения которые вводил в поля формы не отображаются при нажатии кнопки "Отправить".
Файл forma.php выглядит у меня так:
<?php/*выше этой строки пробелов никаких нет*/ 
header('Content-Type: text/html; charset=utf-8');
echo 'Имя'.$_POST['nm'];
echo ' Пароль'.$_POST['year'];
?>

Во всех браузерах значения подставляются кроме Опера 10,63. Что можно сделать?

Спустя 24 минуты, 54 секунды (5.12.2010 - 01:10) Марафонец написал(а):
Потому что некоторые редакторы при сохранении документа в UTF-8 добавляют в начале файла байты 0xEF, 0xBB, 0xBF. Для того чтобы другие редакторы могли понять что этот документ закодирован в UTF-8, где-то так smile.gif Проблемы начинаются когда эти байты идут впереди header location, что вызывает варнинг в PHP и проблемы с отображением smile.gif Почитайте тут

В опере должно работать, может какой-то глюк самой программы, так как у меня та же версия, все прекрасно передается.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.