-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
DaRiYs |
24-04-2008 11:29 788085 |
Сохранение текста в PHP.
Дано: форма в которую вводится текст. Форма должна сохранять текст в файл. Но у меня перед спец. символами всегда дописываются слеши. А если есть парные кавычки " " или скобки ( ) то вобще не сохраняется. Как сохранить текс, так как он вводится?
|
rus-4-ever |
24-04-2008 13:33 788181 |
Попробуй воспользоватся функциями: addslashes(str) При отправке формы и stripslashes(str) при принятии формы...
|
DaRiYs |
24-04-2008 14:12 788221 |
Хорошо. А если у меня будут введены слеши их функция stripslashes(str) тоже ведь поудаляет?
|
bruder |
24-04-2008 15:14 788280 |
не надо addslashes, просто так пашет
PHP код:
$a = fopen('1.txt', 'w');
fwrite($a, stripslashes($_POST['text']));
|
DaRiYs |
24-04-2008 16:35 788344 |
А stripslashes(str) не удалит слеши которые введены в форму? И как побороть то что если есть парные кавычки " " или скобки ( ) то текст в файл вобще не сохраняется?
|
bruder |
24-04-2008 16:58 788369 |
проверил перед тем как постить, все пашет. Давай код посмотреть
|
DaRiYs |
24-04-2008 18:11 788427 |
PHP код:
$file=fopen("input.txt","w");
fwrite($file,$code);
$code эт строка которая передается из формы.
|
DaRiYs |
27-04-2008 13:12 790196 |
bruder слеши действительно пропали но при наявности выражений с наличием кавички или парных скобок текст не сохраняется.(((( Еслинапример пишу "нечто" или (нечто) то страница не загружается а текст в файл не сохраняется. Как это обойти?????!!!!!!!
|
bruder |
27-04-2008 20:46 790375 |
странно, я не могу у себя получить такую ошибку. Сохраняется все корректно. Значит у вас в коде что то не так. Можно полный код посмотреть, потому как то что вы выложили не отличается от моего.
|
DaRiYs |
28-04-2008 11:55 790698 |
В файле test.php находится форма вот код:
PHP код:
<?php
require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
opentable("Форма ввода");
?><br />
<br />
<form action="test_post.php" method="get" enctype="multipart/form-data" name="coder" lang="ru">
<div align="left">
<p name="code" cols="75" rows="20">
<textarea name="code" cols="77" rows="20"></textarea>
<br />
<br />
<input name="submit" type="submit" value="Отправить" />
</p>
</div>
</form><br />
<br />
<?php
closetable();
require_once "side_right.php";
require_once "footer.php";
?>
Потом текст направляется в test_post.php который производит сохранение. Вот код:
PHP код:
<?php require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
$file_input=fopen("cgi-bin/input.txt","w");
fwrite ( $file_input, stripslashes($code));
fclose ($file_input);
require_once "side_right.php";
require_once "footer.php"; ?>
|
bruder |
28-04-2008 14:17 790803 |
вы уверенны что где нибудь не происходит проверка формы? Попробуйте ваш код без инклудов
PHP код:
<form action="1.php" method="get" enctype="multipart/form-data" name="coder" lang="ru"> <div align="left"> <p name="code" cols="75" rows="20"> <textarea name="code" cols="77" rows="20"></textarea> <br /> <br /> <input name="submit" type="submit" value="asdasda" /> </p> </div> </form><br /> <br /> <? $file_input=fopen("1.txt","w"); fwrite ( $file_input, stripslashes($code)); fclose ($file_input); ?>
будет очень странно если он у вас не заработает. Выставте error_reporting(E_ALL); чтобы посмотреть что нигде не вылетает раньше чем вы пишете в файл и уберите
@ везде где стоят
|
DaRiYs |
28-04-2008 15:04 790846 |
Спасибо! Дествительно дело было в инклудах. Если их убрать из файла, который собственно и делает сохранение текста, то все ОК!
|
Время: 15:08.
© OSzone.net 2001-