Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 30

Способы сохранения текста из формы

17.09.2009, 23:21. Показов 5523. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть скрипт, который сохраняет текст из textarea в файлы, форматы которых выбираются выпадающим списком. Нумерация файлов начинается со значения, которое записано в файле "index".

Нужно сделать так, чтобы была возможность выбора (например, выпадающим списком) сохранять в новый файл(w+) или дописывать в последний созданный(a+). Есть какие идеи? Подскажите, пожалуйста.


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$source = $_POST['source'];//имя textarea, из которого берется текст
$triad = $_POST['triad'];//расширение, с которым будет сохранен файл (в выпадающем списке)
$fh = fopen("./SMI/index",'r');//в этом файле находится число, с которого начинается нумерация
$i = fgets($fh);
fclose($fh);
$fh = fopen("./SMI/index",'w');
$i++;
fputs($fh, $i);
fclose($fh);
$file = $i.".".$triad;
$Saved_file = fopen("./SMI/".$file, 'w+');//директория для записи
fwrite($Saved_file, $source);
fclose($Saved_file);
header("Location: index.php");
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2009, 23:21
Ответы с готовыми решениями:

Способы сохранения значений свойств
Всем привет! В определенном классе есть набор различных свойств Например: private string _protocolNumber; ...

Способы сохранения страницы с сайта
День добрый! Страницы сохраняю старой оперой (12.0) в формате .mht. Столкнулся с такой проблемой: в трекерах картинки перелинковываются с...

Какие способы сохранения настроек/ записей есть?
Написал программу, в ней сохраняются данные / настройки по средствам txt, думаю на 2018 год это слишком дешево, хоть и программа для лично...

13
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126
18.09.2009, 12:49
Просто делайте выпадающее меню для выбора и записывайте его в перемемнную... А когда приходит время для записи, то условием проверяйте... Типа, если данная перемеенная равна 1, то тогда пишем так, если 2, то пишем так то... Ясно? ))
1
Кто вы, мистер Смит?
 Аватар для J.Smith
285 / 117 / 2
Регистрация: 03.03.2008
Сообщений: 525
18.09.2009, 21:06
Сделай еще одно выподающее меню или пару чекбоксов с нужным value (один a+ другой w+). А при открытии файла (12-ая строка, если я правильно понял) ставь $_POST['name']. Только перед этим не забуть проверить значение этой переменной, чтоб скрипту мозги не снесло
1
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
17.04.2010, 15:32
Подскажите пожалуйста, а можно ли минуя записи файла на сервере организовать запись данных из формы в файл и сразу предоставить возможность скачать этот файл?
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.04.2010, 15:43
Цитата Сообщение от xand Посмотреть сообщение
можно ли минуя записи файла на сервере организовать запись данных из формы в файл и сразу предоставить возможность скачать этот файл?
нет...если его не будет сохранено на сервере, то откуда его качать?
0
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
17.04.2010, 16:13
Форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="word.php" method="POST">
 
<p>
<label><b>Название документа:</b><br /> </label>
    <input name="docname" />
</p>
 
<p>
<label><b>Ваше имя:</b><br /> </label>
    <input name="myself" />
</p>
 
<p>
<label><b>Ваш текст:</b><br /> </label>
    <textarea name="text" rows="10" cols="25" tabindex="2"></textarea>
</p>
<input type="submit" value="Создать документ!" />
 
</form>
Обработчик:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?PHP 
 
if (isset($_POST['docname']) && !empty($_POST['docname'])) $docname = $_POST['docname'];
if (isset($_POST['myself'])  && !empty($_POST['myself']))  $myself  = $_POST['myself'];
if (isset($_POST['text'])    && !empty($_POST['text']))    $text    = $_POST['text'];
 
if (isset($docname) && isset($myself) && isset($text)) {
 
 
    header('Content-type: application/vnd.ms-word');
    header('Content-Disposition: attachment;Filename=' . $docname . '.doc');
 
    echo '<html>';
    echo '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">';
    echo '<body>';
    echo 'Автор: ' . $myself;
    echo '<b>' . $text . '</b>';
    echo '</body>';
    echo '</html>';
 
}
 
?>
Файл не сохраняется на сервере. Всё работае к тому же
Но не в моём случае....если использовать вышеуказанную версию( это естественно прсото пример ) то всё безупречно работает, но я использую форму где у меня на input'ах висит проверка вводимых данных, вот она собственно:
HTML5
1
onkeyup="var n=this.value.replace(/({^0-9})/g,''); if(n!=this.value) this.value=n;"
и не работает с этой проверкой обработчик word.php
Форму мне переделывать точно нельзя, в ней около 150 полей ввода, реализуется вычисление на js.

Если есть идеи что мне может помоч, буду благодарен

Добавлено через 10 минут
блин...прямы руки мне помогут
Если в эту форму подставляю проверку то пашет, а конкретно с моей формой не пашет
1
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.04.2010, 16:48
Цитата Сообщение от xand Посмотреть сообщение
Если в эту форму подставляю проверку то пашет, а конкретно с моей формой не пашет
Что именно не работает? Ошибки пишет какие-нибудь?
0
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
17.04.2010, 17:10
переходит на www.site.ru/word.php и белый экран....

подскажите заодно если знаете, нужно чтобы выводлось так:
Автор: Петров ( к примеру )
2331123 ( переменная а3)
Сейчас выводится Автор:Петров2331123
HTML5
1
2
3
4
    echo '<body>';
    echo 'Автор: ' . $a2 ;
    echo '<b>' . $a3 . '</b>';
    echo '</body>';
Как перевести строку? Пробовал \n подставлять, он либо её выдаёт как часть сообщения, либо вообще ошибкой. Так же пробовал \r\n....не туда куда нужно ставлю видимо
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.04.2010, 17:37
Добавте после переменной $a2(автор) вот это "<br>"

Добавлено через 3 минуты
Цитата Сообщение от xand Посмотреть сообщение
Пробовал \n подставлять
Это из-за одинарных кавычек... Для вывода в браузер в таких случаях использовать двойные кавычки
0
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
17.04.2010, 17:51
не помогло добавление "<br>"
Это не в браузере выводится, а в документе word.

Если есть другие идеи то покажите на примере
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.04.2010, 19:16
Цитата Сообщение от xand Посмотреть сообщение
Это не в браузере выводится, а в документе word.
Если есть другие идеи то покажите на примере
В оригинале поста, с которого Вы скопировали код, написано следующее:
Нет, ну никто же не отменял обычную html разметку в теле документа.
Ворд прожует, всё отобразиться как надо.
P.S. Мне помогло добавление "<br>"... Мистика...
Вот пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
echo "<form action=\"prov.php\" method=\"POST\">
 
<p>
<label><b>Название документа:</b><br /> </label>
    <input name=\"docname\" />
</p>
 
<p>
<label><b>Ваше имя:</b><br /> </label>
    <input name=\"myself\" />
</p>
 
<p>
<label><b>Ваш текст:</b><br /> </label>
    <textarea name=\"text\" rows=\"10\" cols=\"25\" tabindex=\"2\"></textarea>
</p>
<input type=\"submit\" value=\"Создать документ!\" />
 
</form>";
 }
if (isset($_POST['docname']) && !empty($_POST['docname'])) $docname = $_POST['docname'];
if (isset($_POST['myself'])  && !empty($_POST['myself']))  $myself  = $_POST['myself'];
if (isset($_POST['text'])    && !empty($_POST['text']))    $text    = $_POST['text'];
 
if (isset($docname) && isset($myself) && isset($text)) {
 
 
    header('Content-type: application/vnd.ms-word');
    header('Content-Disposition: attachment;Filename=' . $docname . '.doc');
 
    echo "<html>";
    echo "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head>";
    echo "<body>";
    echo "Автор:$myself<br>";
    echo "<b>$text</b>";
    echo "</body>";
    echo "</html>";
 
}
0
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
17.04.2010, 19:31
Я немного разобрался с ковычками, расставил как надо, ну и конечно добавил тег <br>
Помогло

Спасибо!

Добавлено через 3 минуты
Видимо мне руки править надо
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.04.2010, 19:35
Цитата Сообщение от xand Посмотреть сообщение
Видимо мне руки править надо
У всех бывают подобные ситуации
Глупые ошибки и опечатки в коде
1
1 / 1 / 0
Регистрация: 23.08.2009
Сообщений: 19
14.07.2010, 12:32
А как этот файлик заставить сохраняться на сервере и в определенную папку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2010, 12:32
Помогаю со студенческими работами здесь

Способы сохранения в постоянную память вводимых данных через программу
Я новичок в области программирования, а в частности с++. Нужна помощь по следующему вопросу: как реализовать запись в постоянную память...

Различные способы ввода текста
Добрый день, хочу поинтересоваться как более грамотно выводить текст: Вариант №1. #include &lt;iostream&gt; #include...

Способы открытия формы в VB.net
Для того, чтобы вывести на екран форму я всегда пользовался сочетанием операторов типа Dim NewForm As New Form2() ...

Обработка формы на Query: способы решения
Всем привет! Изучая, столкнулся с такой задачей: Есть форма: Изначально есть блок инпУтов: &lt;!-- Ввод адрес старта --&gt; ...

Отмена сохранения формы
Есть у меня форма. При сохранении онной пользователю выдается диалог (NotesUIWorkspace.DialogBox), который пользователь должен заполнить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru