Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сохранить данные из HTML-формы в файл
 
 автор: Arsenal   (09.07.2008 в 16:10)   письмо автору
 
 

Как связать с формой? Что бы функция fopen добавлял текст.
Например:
<form method=post action=fopen>
<input type=text name=name size=25>
<input type=submit value=hello>
</form>


<?php
Здесь php скрипт, не знаю что написать
?>

   
 
 автор: sim5   (09.07.2008 в 20:07)   письмо автору
 
   для: Arsenal   (09.07.2008 в 16:10)
 

Атрибут action формы, в вашем случае, должен содержать имя РНР скрипта, который должен принять и обработать вашу форму. РНР функцию атрибут action никак не может содержать. Например, если ваш скрипт обработчик имеет имя - myfile.php, то:

<form method="post" action="myfile.php">
<input type="text" name="name" size="25">
<input type="submit" value="hello">
</form> 

а в myfile.php, например:

<?php
//это выведет на экран значение поля формы name, введенное пользователем.
echo $_POST["name"];
?>

[поправлено модератором]

   
 
 автор: Arsenal   (11.07.2008 в 09:08)   письмо автору
 
   для: sim5   (09.07.2008 в 20:07)
 

Нет, Я хочу связать с файлом.
Как например:
$file = fopen("base.txt","r+");
$str = "$name";
if($file){
echo" Error file ";
}else{
fputs($file,$str);
}
fclose($file);
?>

   
 
 автор: sim5   (11.07.2008 в 09:22)   письмо автору
 
   для: Arsenal   (11.07.2008 в 09:08)
 

Не важно с чем вы хотите "связаться" - атрибут action не место для помещения таких "желаний". Вы пишите код, значит вы определяете условия его, и если используете форму, то определив, что она отослана на сервер, вы уже знаете, что значение поля "name" этой формы нужно поместить в файл. Только значение этого поля получается (определяется) не так, как $name, а как $_POST['name'] или $_GET['name'], в зависимости от метода, который используется формой для передачи. Обращение к полю как $name тоже возможно, если в настройках сервера register_globals установлено в on. Но делать этого не стоит, для вашего же блага!

PS. По сути вашего "хочу связаться":
Если форма <form method="post" action="myfile.php">, то ваш код записи в файл как раз и должен находиться в файле myfile.php. В нем можете не только сделать запись в файл, можете "связаться и с астральными созданиями", все опрделять будет ваше "бытие".)

   
 
 автор: Arsenal   (11.07.2008 в 09:16)   письмо автору
 
   для: Arsenal   (09.07.2008 в 16:10)
 

Я хочу связать с файлом, ведешь имя и сохраняла в файл.
Как например:

<?php
$file = fopen("base.txt","r+");
$str = "$name";
if($file){
echo" Error file ";
}else{
fputs($file,$str);
}
fclose($file);
?>

   
 
 автор: Arsenal   (11.07.2008 в 09:33)   письмо автору
 
   для: Arsenal   (09.07.2008 в 16:10)
 

Да

   
 
 автор: Arsenal   (11.07.2008 в 09:42)   письмо автору
 
   для: Arsenal   (09.07.2008 в 16:10)
 

Понятно

   
 
 автор: Arsenal   (11.07.2008 в 09:43)   письмо автору
 
   для: Arsenal   (11.07.2008 в 09:42)
 

Спасибо что обяснил Объяснил...

   
 
 автор: sim5   (11.07.2008 в 09:48)   письмо автору
 
   для: Arsenal   (11.07.2008 в 09:42)
 

Думаю не совсем. Если вы хотите убедиться, что файл открыт успешно, то пишите сразу:

<?
if ($file fopen("base.txt","a+")) {
  
//здесь работаем с файлом
} else echo "Error";

Заметили, что используется не r+, а a+? Попробуйте открыть несуществующий файл так как вы делаете - r+
При работе с файлом для записи, нужно блокировать доступ к нему, затем снимать его и потом закрывать дескриптор.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования