Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как перезаписать файл html средствами php?
Форумы портала PHP.SU » » Вопросы новичков » Как перезаписать файл html средствами php?

Страниц (1): [1]
 

1. Эдвард - 11 Июля, 2014 - 20:15:07 - перейти к сообщению
Никак не могу решить, казалось бы, простейшую задачу.

Дано:

Два файла в одной папке одного сервера: 1) страница с данными (1.html); 2) обработчик (2.php).

Требуется:

На странице 1.html перенести данные из полей ввода текста в ячейки таблицы таким образом, чтобы после перезагрузки страницы эти данные сохранились в ячейках.

Код страницы 1.html:

CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <body>
  3.  
  4. <form name="a1" method="post" action="2.php">
  5.  
  6. <input type="text" name="b1">
  7. <input type="text" name="b2">
  8. <br><br>
  9. <input type="submit" value="Клонирование">
  10. <br><br>
  11. <table  name="t1" width=320  border=1>
  12.     <tr>
  13.       <td name="td1" width=160 align="center"><div align="center"><strong><span style='color:black'>1</span></strong></div></td>
  14.       <td name="td2" width=160 align="center"><div align="center"><strong><span style='color:black'>2</span></strong></div></td>
  15.     </tr>
  16. </table>
  17.  
  18. </form>
  19.  
  20. </body>
  21. </html>
  22.  


Код обработчика 2.php:

CODE (php):
скопировать код в буфер обмена
  1. <?php
  2. $cache_file = '1.html';
  3. $fp = fopen($cache_file, 'r+');
  4. fwrite($fp, serialize($_POST));
  5. fclose($fp);
  6.  ?>


В результате выполнения операции текст, введённый в поля, записывается в файл 1.html в виде переменной, удаляя все теги сверху – т. е. код повреждается.

К сожалению, в Сети удалось найти лишь примеры с файлами txt. Но как запихнуть данные вовнутрь кода html и сохранить их, пока так не понял. Рассчитываю на помощь.
2. maragon - 11 Июля, 2014 - 20:27:57 - перейти к сообщению
1 //Дописываем к кнопочке
<input type="submit" value="Клонирование" name="go">

2 //Смотрим php
<?PHP
if(isset($_POST['go'])){
$var1 = $_POST['b1']; //Значение b1 input'a
$var2 = $_POST['b2']; //Значение b2 input'a
}
?>

3 //Выводим html
CODE (htmlphp):
скопировать код в буфер обмена
  1. <table  name="t1" width=320  border=1>
  2.     <tr>
  3.       <td name="td1" width=160 align="center"><div align="center"><strong><span style='color:black'><? echo $var1; ?></span></strong></div></td>
  4.       <td name="td2" width=160 align="center"><div align="center"><strong><span style='color:black'><? echo $var2; ?></span></strong></div></td>
  5.     </tr>
  6. </table>


4 //Все вместе
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['go'])){
  3. $var1 = $_POST['b1']; //Значение b1 input'a
  4. $var2 = $_POST['b2']; //Значение b2 input'a
  5. }
  6. ?>
  7. <html>
  8. <body>
  9.  
  10. <form name="a1" method="post" action="2.php">
  11. <input type="text" name="b1">
  12. <input type="text" name="b2">
  13. <br><br>
  14. <input type="submit" value="Клонирование" name="go">
  15. <br><br>
  16. <table  name="t1" width=320  border=1>
  17.     <tr>
  18.       <td name="td1" width=160 align="center"><div align="center"><strong><span style='color:black'><? echo $var1; ?></span></strong></div></td>
  19.       <td name="td2" width=160 align="center"><div align="center"><strong><span style='color:black'><? echo $var2; ?></span></strong></div></td>
  20.     </tr>
  21. </table>
  22. </form>
  23. </body>
  24. </html>


Если я так понял..
3. Эдвард - 11 Июля, 2014 - 20:43:32 - перейти к сообщению
maragon пишет:


Если я так понял..


Спасибо, конечно, но это немного не то, что хотел. Примерно так я уже делал. К сожалению, таким способом мы всего лишь выводим на экран значения переменных в ячейках. Код самого файла в данном примере остаётся неизменным (т. е. при повторном заходе на страницу мы увидим всё те же пустые ячейки). Здесь необходимо использовать функцию именно записи всего файла с изменёнными параметрами.

 

Powered by ExBB FM 1.0 RC1