Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись данных из формы в файл, в header() ошибка 
:(
    Опции темы
americanets
Дата 1.9.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Цитата(vitalina @  1.9.2008,  15:39 Найти цитируемый пост)
Po4emu ne nuzhen. Ja header delaju, 4tobi ne bilo povtornoj otpravki. V kommentah napisano. 


ну дык и сделай его до вывода хтмл в браузер


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
Wheels
Дата 1.9.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 1.2.2007

Репутация: нет
Всего: 1



ну и сделайте обработку в отдельном фале.  А форму в главном, экшн с формы на файл с обработкой, а с этого файл хэдэр уже куда хотите.

Только помните, что так:
Код

<html>
<?
header(...);
?>
Работать не будет

будет работать так:
Код

<?
header(...);
?>
<html>
Это и есть суть ошибки.

Это сообщение отредактировал(а) Wheels - 1.9.2008, 14:47
PM MAIL ICQ   Вверх
vitalina
Дата 1.9.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 27.11.2007
Где: Riga

Репутация: -3
Всего: -4



Tak?

Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Hello!</title>
</head>

<body>

<?
If (isset($sent))
{
//переменная ошибок
$error=array();

//обработчик формы
if (!empty($_POST))
{
    //проверка параметра
    //функция str_replace() необходима чтобы вырезать переводы строк ( \n )
    $var=str_replace("\n",'',trim($_POST['var']));
    if (empty($var))
    $error['empty']='не введен параметр';
        //если все нормально пишем в файл
    if (empty($error))
    {        //открываем
        $f=fopen('db.txt','a+');

        //блокируем
        flock($f,2);

        //запись с переводом строки
        fwrite($f,$var."\n");
         fclose($f);

        /*переадресация , чтобы сбросить пост, это нужно чтобы при нажатии кнопки обновить
         данные не добавились вновь*/
    header('Location: '.$_SERVER["PHP-SELF"].'?submit=ok');
      //   die();
      }
     else
  {
            header('Location: '.$_SERVER["PHP-SELF"].'?submit=error');
  }


        }
}


?>
<html>
<head>
</head>
<body>
....
<?
//если есть ошибки выводим

if (isset($submit))
{
   if ($submit=='ok')
   {
        echo '...Сообщение успешно отправлено...';
   }
   elseif ($submit=='error')
   {
        echo '<p>'.implode('<br />',$error).'</p>';
   }
   else
   {
?>
<form action="<?=$_SERVER["PHP-SELF"];?>" method="post">
<p>
Сколько Вам лет?:<br />
<input name="var" value="<?=isset($_POST['var']) ? htmlspecialchars(stripslashes(trim($_POST['var']))) : '';?>" /><br />
<input type="submit" value="отправить" name=sent/>
</p>
</form>


<?
} }
?>
</body>

</html>



U menja formi voobshe nikakoj ne risuetsja! smile  smile 



Это сообщение отредактировал(а) vitalina - 1.9.2008, 15:17
--------------------
kornienko.ru - мой настоящий проект.
PM MAIL WWW Skype   Вверх
americanets
Дата 1.9.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



а что изменилось кроме того что вместо инклюда перенесен код ? не надо хотеть пример , нужно взять и попробовать что то сделать 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
vitalina
Дата 1.9.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 27.11.2007
Где: Riga

Репутация: -3
Всего: -4



A ja 4to ne probuju????????/ smile 
--------------------
kornienko.ru - мой настоящий проект.
PM MAIL WWW Skype   Вверх
americanets
Дата 1.9.2008, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Код

<?php
    $error = array();
if (!empty($_POST))
{

    if ( empty($_POST['chtoto']) ) {
     $error[] = 'cto to net';
    } else {
         header('location : index.php');
    }

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Hello!</title>
</head>
<body>
<html>
<head>
</head>
<body>

<?php
if(count($error) > 0) {
    echo 'Error !';
// или разбери весь массив с ошибками
} else {
    echo '';
}

?>
</body>
</html>


Это сообщение отредактировал(а) americanets - 1.9.2008, 15:41


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
skyboy
Дата 1.9.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260




M
skyboy
vitalina, неужель тяжко кликнуть по чекбоксу "транслит"?

PM MAIL   Вверх
vitalina
Дата 1.9.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 27.11.2007
Где: Riga

Репутация: -3
Всего: -4



Po kakomu 4ekboksu
skyboy?


americanets, spasibo, vrode rabotaet!
--------------------
kornienko.ru - мой настоящий проект.
PM MAIL WWW Skype   Вверх
americanets
Дата 1.9.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Цитата(vitalina @  1.9.2008,  18:15 Найти цитируемый пост)
Po kakomu 4ekboksu


user posted image


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
lukas
Дата 1.9.2008, 17:39 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



на мой взгляд можно легко заставить чтобы header() работал где угодно, в любом месте, для этого нужно буферизировать вывод страницы..

Код

ob_start();
include('same.php'); // а в этом файли функция header где угодно, да любые функция которые нужно выполнять до вывода страницы
echo ob_get_contents();
ob_clean();


Это сообщение отредактировал(а) lukas - 1.9.2008, 17:44


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
vitalina
Дата 1.9.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 27.11.2007
Где: Riga

Репутация: -3
Всего: -4



lukas, так вобще содержимого файла не видно. Пусто.
--------------------
kornienko.ru - мой настоящий проект.
PM MAIL WWW Skype   Вверх
lukas
Дата 1.9.2008, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



vitalina, путь к файлу неверный... include не выводит ошибку если не найден файл...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
vitalina
Дата 2.9.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 27.11.2007
Где: Riga

Репутация: -3
Всего: -4



lukas, так вобще содержимого файла не видно. Пусто.

Добавлено через 2 минуты и 19 секунд
Почему не верный? а какой путь должен быть, полный? С http?
--------------------
kornienko.ru - мой настоящий проект.
PM MAIL WWW Skype   Вверх
lukas
Дата 2.9.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



vitalina

Код

ob_start();
require($_SERVER['DOCUMENT_ROOT'].'/same.php'); // а в этом файли функция header где угодно, да любые функция которые нужно выполнять до вывода страницы
echo ob_get_contents();
ob_clean();


Это сообщение отредактировал(а) lukas - 2.9.2008, 12:32


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.