Пишу сайт застрял на этапе создания редактора текстов.
Код редактора:
тут всё понятно пишем текст и отправляем его в форуму записывающую наш текст в файл
print "
<form action='../?configuration=newdayeditornext' method=post name=REPLIER>
<TEXTAREA name='newsday' >$newsday</TEXTAREA>
<input type=hidden name=datafile value=$datafile>
</form>
";
Форма записи в файл
вот тут начинаютя проблемы, в решении которых мне нужна помощь
(привёл код который используется в данный момент)
if ($_GET['configuration']=="newdayeditornext") {
$confiscate="<?php \r\r\n".
"$"."newsday=<<<OK\r\n"
.$_POST["newsday"]."\r\n".
"OK;\r\n?>";
Header("Location: ../?configuration=newdayeditor");
$file=file("$inc/newsday.php");
$fp=fopen("$inc/newsday.php","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$configdata);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
Header("Location: ../?configuration=newdayeditor"); exit; }
$inc - папка куда записывается файл
$inc="inc";
newsday.php - файл в который записываются данные
проблема в общем то возникла вот на этом этапе
при таком раскладе кавычки как и одинарные так и двойные записываются в файл без проблем. но перед кавычким при записи в файл автоматически встаёт слэш тоесть выводит так \" или \'
$confiscate="<?php \r\r\n".
"$"."newsday=<<<OK\r\n"
.$_POST["newsday"]."\r\n".
"OK;\r\n?>";
всё бы ничего но при попытке вставить в текст html код
например
<html><body style="background-position: 0% 0%;"></body></html>
в файл записывается следующее
<html><body style=\"background-position: 0% 0%;\"></body></html>
При таком раскладе стиль уже отказывается работать. к тому же если необрашать внимание на слэшы и продолжать сохранять раз 10 то записываемый нами код вобще будет выглядеть так:
<html><body style=\\\\\\\\\\"background-position: 0% 0%;\\\\\\\\\\"></body></html>
если же изменить php код
$confiscate="<?php \r\r\n".
"$"."newsday=<<<OK\r\n"
.$_POST["newsday"]."\r\n".
"OK;\r\n?>";
на
$confiscate="<?php \r\r\n".
"$"."newsday=\"".$_POST['newsday']."\";\r\n?>";
то при попытке вставить кавычки в код, записываемый файл вобще умирает изза отсутствия слешей в коде. тоесть получается что в файл записываются ковычки следующим образом
$newsday="""";что само по себе понятно что ошибка так как что бы код работал необходимы слэшы
$newsday="\"\"";
И так вопрос как можно исправить эту ошибку?
Напомню что запись ведётся в файл а не в базу данных.
Помогите если кто знает как помочь в возникшей проблеме
Спустя 5 часов, 1 минута, 56 секунд (21.02.2010 - 20:41) TakoY написал(а):
в .htaccess
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime off
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime off
Спустя 26 минут, 55 секунд (21.02.2010 - 21:08) LOSKAND написал(а):
Благодорю за помощь, работает