Ребята! Вопрос, вам, как специалистам! Есть наипростейший скрипт гостевой книги - данные пишутся в файл text.dat , вопрос: а можно ли записывать непосредственно в сам index.php? Т.е. что бы форма ввода располагалась в index.php и чтобы текст сообщений записывался туда же (этакий скрипт гостевой книги из одного файла)? Заранее спасибо!
marta А чего обосновывать? Говорите, что указатель в файле переносится в конец файла и данные дописываются в файл =) Но как уже сказали - это извращение. Данные должны храниться ОТДЕЛЬНО
Успокойся, начальник IT департамента. Это называется самомодифицирующийся код, и иногда в хитрых случаях используется. http://ru.wikipedia.org/wiki/Самомодифицирующийся_код Обьяснять не буду, по этим словам в гугле - море информации А вам всем советую учится и учится.
Я во втором сайте на php применил этот метод. Конечно, он был там совсем не к месту (отключал модули), но избавлял от лишнего запроса к БД
Я хуже. Я проверяю претендентов устраивающихся на работу. Ну, и немного учу балбесов программированию на дому.
PHP: <html> <body> <form action="" method="post"> <label for="name">Имя:</label><br/> <input type="text" name="name" id="name" style="width:400px"/><br/> <label for="data">Сообщение:</label><br/> <textarea name="data" id="data" style="width:400px"></textarea><br/> <input type="submit" value="послать"/><br/> </form> <?php $data = file_get_contents(__FILE__); list($code, $recs) = explode('<'.'!---->', $data); $recs = explode("\n",$recs); if ($_SERVER['REQUEST_METHOD']=='POST') { $name = htmlspecialchars($_POST['name']); $data = htmlspecialchars(nl2br($_POST['data'])); $row = $name.'>'.$data; $recs[] = $row; file_put_contents(__FILE__, $code."\n<".'!---->'.implode("\n", $recs)); } echo 'Оставленные сообщения:<br/>'; foreach ($recs as $rec) { $record = explode('>',$rec); echo '<p>'; echo '<b>'.@$record[0].'</b> написал:<br/>'; echo @$record[1]; echo '</p><hr/>'; } ?> </body> </html> <?php exit; ?> <!----> Дарю. Большинству тоже будет полезно поковырятся.
- ты знаешь, что такое боль! - я был женат! - о-о-о-о-о-о! - дважды! - О-О-О-О-О-о! Горячие головы (с)
я всех при приеме на работу прошу написать скрипт, выводящий исходный код самого себя, БЕЗ использования внешних данных. 99% тупят. гыгыгы 1 предложил вместо задачки попить пива. с тех пор до сих пор с ним работаю.
440Hz, я не претендую на идельность. Я знаю, что можно написать что бы скрипт fseek-ом ехал до нужного места, построчно читал и выводил, а новые мессаги писал в конец, но это же не мне надо.