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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись информации в файл. 
:(
    Опции темы
The MASTER
Дата 2.7.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Итак привет всем, очень нужно написать скрипт:
Есть php страница с формой, на который 5 полей типа text,
например Имя, Фамилия, Отчество, Адрес и Телефон.
Задача записать эту информацию в файл base.php в виде массива, т.е. так:

Код

<?
$INFO = array(
'name' => инфа из поля имя,
'family' => инфа из поля фамилия,
// и т.д.
);
?>


Записывать в файл информацию нужно только один раз, после нажатия на кнопку Сохранить, т.е. соответственно открывать его с параметром "w", затем скрипт должен переправить меня на следущую страницу.

СУВ. Майк.

Это сообщение отредактировал(а) The MASTER - 2.7.2005, 13:47
PM MAIL WWW ICQ   Вверх
Irokez
Дата 2.7.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 22
Всего: 53



Код

$f = fopen('base.php', 'ab+'); //открываем файл
fwrite($f, print_r($INFO, 1)); //дописываем в конец
fclose($f); //закрываем файл
header('Location: след страница'); //идем дальше

а вообще я бы советовал сериализовать массив перед записью
PM   Вверх
Mal Hack
Дата 2.7.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 122
Всего: 261



The MASTER
Запись в файл, оществляется функциями fopen, fwrite, fclose.
Строку для запеси сгенерировать элементарно.
$str = "'name' => '" . htmlspecialchars($_POST['name']) . "';\n";


Такие вещи смотрят в мануалах.
Эти алгоритмы способен написать любой мало мальски сображающий программист.


Это сообщение отредактировал(а) Mal Hack - 2.7.2005, 18:30
PM ICQ   Вверх
The MASTER
Дата 2.7.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Честно говоря я не совсем понял тебя Mal Hack.

Цитата(Irokez @ 2.7.2005, 15:51)
а вообще я бы советовал сериализовать массив перед записью

Насколько я понял, ты предлагаешь создать массив заранее? Т.е. так:

Код

$INFO = array(    
'name' => $_POST['name'],    
'family' => $_POST['family'],    
// и т.д.    
);

PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 2.7.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 122
Всего: 261



Модератор: перемещено в PHP для начинающих
PM ICQ   Вверх
Irokez
Дата 2.7.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 22
Всего: 53



Код

<?php
if (isset($_POST)) {
    $INFO = $_POST['info'];
    $f = fopen('base.php', 'wb+'); //открываем файл
    fwrite($f, print_r($INFO, 1)); //дописываем в конец
    fclose($f); //закрываем файл
    header('Location: след страница'); //идем дальше
} else {
?>
<html>
<!--...-->
<body>
<form method="post" action="?:)">
   Name: <input name="data[name]" />
   <!-- итд-->
   <input type="submit" value="Submit"/>
</form>
</body>
</html>
<?php
}

PM   Вверх
Mal Hack
Дата 2.7.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 122
Всего: 261



Цитата(The @ 2.7.2005, 19:33)
Честно говоря я не совсем понял тебя Mal Hack.

Спкциально чтоли?

$str = "'name' => '" . htmlspecialchars($_POST['name']) . "';\n";
$str .= "'family' => '" . htmlspecialchars($_POST['family']) . "';\n";

а потом эту строку в файл !!

PM ICQ   Вверх
The MASTER
Дата 2.7.2005, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Теперь понял, только что значит htmlspecialchars, какие-то специальные знаки?

Irokez, насколько понял твой код,
if (isset($_POST)) - это проверка получили-ли мы данные из $_POST да?
$INFO = $_POST['info']; - что такое 'info'? или это пример поля?
$f = fopen('base.php', 'wb+'); - почему параметр wb+? что это значит если не секрет?


PM MAIL WWW ICQ   Вверх
Irokez
Дата 2.7.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 22
Всего: 53



Цитата(The @ 2.7.2005, 18:42)
f (isset($_POST)) - это проверка получили-ли мы данные из $_POST да?

да
Цитата(The @ 2.7.2005, 18:42)
f (isset($_POST)) - это проверка получили-ли мы данные из $INFO = $_POST['info']; - что такое 'info'? или это пример поля?

перепутал должно быть $_POST['data']; - получаем массив данных

Цитата(The @ 2.7.2005, 18:42)
$f = fopen('base.php', 'wb+'); - почему параметр wb+? что это значит если не секрет?

можно просто wb.. открываем файл для записи, обнулив его, в бинарном виде.
PM   Вверх
The MASTER
Дата 2.7.2005, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Так, а как теперь всё это сделать в общий код, так?

Код

<?php    
if (isset($_POST)) {    
    $INFO = $_POST['data'];    
    $f = fopen('base.php', 'wb');
    fwrite($f, print_r($INFO, 1));    
    fclose($f);    
    header('Location: index.php?a=next');
} else {    
?>    
<html>    
<body>    
<form method="post" action="#">    
   Name: <input name="data[name]" />    
   Family: <input name="data[family]" />    
   <input type="submit" value="Submit"/>    
</form>    
</body>    
</html>    


Это сообщение отредактировал(а) The MASTER - 2.7.2005, 19:10
PM MAIL WWW ICQ   Вверх
Opik
Дата 2.7.2005, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



The MASTER
а проверить?
PM MAIL Skype   Вверх
The MASTER
Дата 2.7.2005, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Тоесть?
PM MAIL WWW ICQ   Вверх
Opik
Дата 2.7.2005, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



The MASTER
запусти скрипт и посмотри.
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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