Здравствуйте! В ходе написания дипломного проекта(функции позволяющей записывать данные) у меня возникла проблема.
Пожалуй начну с описания того что я имею:
1) CMS с моделью MVC, поэтому для записи строки в файл есть 5 основных файлов: model.php, controller.php, vstring.php, index.php и strings.txt.
2) index.php главная страница админ. панели, в зависимости от URL генерирует в себя файлы ВИДа. Например:
http://my-cms.loc/adm/index.php?page=strings - В данном случае внутрь кода index.php подключается страничка vstring.php, написанная мною для возможности редактирования строки, которая хранится в файле strings.txt.
3) vstring.php - содержит в себе форму, на которой есть ПОЛЕ ДЛЯ ВВОДА СТРОКИ и КНОПКУ(submit), отправляет данные методом POST.
Суть проблемы:
Не записывает данные в файл. Не возникает никакой ошибки. Похоже на пляски с бубном.
ИСХОДНЫЙ КОД:
//model.php (Файл Модель)
class McreateEdit extends Db {
function file_data($post) {
$text = $post['line'];
return $text;
}
}
//controller.php (Файл Контроллер)
class CcreateEdit extends McreateEdit {
function file_write($post) {
$f = $this->file_data($post);
$file = "strings.txt";
file_put_contents($file,$f);
//fopen('strings.txt',w+);
//fwrite(
}
}
$vcreateedit = new CcreateEdit();
//vstring.php (Файл Вида - код формы, прочий Html код я откинул)
<form method = "post">
<table border="0" cellpadding="0" cellspacing="0" id="id-form">
<tr>
<th valign="top">Текст бегущей строки:</th> <br />
<td><input type="text" name="line" /></td>
</tr>
<tr>
<td valign="top">
<input type="submit" value="" class="form-submit" />
<a href='?page=start'><input type="" value="" class="form-cancel" /></a>
</td>
</tr>
</table>
</form>
//index.php (index Файл Админки - (прочий Html код я откинул) генерирует в себя
файлы ВИДа)
<?php
require_once "../config/config.php";
require_once "../controllers/controller.php";
?>
…
<div class="nav-divider"> </div>
<ul class="select"><li><a><b>Бегущая строка</b><!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
<div class="select_sub">
<ul class="sub">
<li><a href="?page=strings">Редактировать текст</a></li>
<!–<li><a href="#nogo">Clients Details 2</a></li>
<li><a href="#nogo">Clients Details 3</a></li>–>
</ul>
</div>
…
<?php
if($_GET['page'] == 'strings') {
if($_POST) {
$vcreateedit->file_write($_POST);
require_once "../views/vstart.php";
} else {
require_once "../views/vstring.php";}
}
?>
P.S. - Пробовал записывать строку в файл на отдельном PHP файле - успешно получается. Начатестировать функцию - даже строку писал свою, не из формы (POST), всё равно не записывает.
Первоначально всё записал в index.php не городя километры лишнего кода. Но и там тоже не работает запись, я уже думаю может быть это всё из-за того что данный файл является подключаемым, вот и не пашет эта чёртова функция записи в файл.
В общем помогите разобраться!!! Перерыл все возможные статьи в нете. Ничего не помогает!!!
А ведь это последняя функция и дипломка готова…