@Duskly

Как записать значение в файл через html форму?

Задача, менять в определенном файле, определенную строку, на текст который я введу в форму.
есть код:
<?php

if (isset($_POST['send'])) {
{$_POST['data']}= '' . "\n";//В виндовс не \n, а \r\n
{$_POST['data2']}= '' . "\n";
$file = '2.php';
$array=file( $file ); //файл в котором надо изменить строку
$array[3]={$_POST['data']}; //строка в которой нужно изменить значение $data
$array[7]={$_POST['data']};
file_put_contents( $file, $array );
}
?>


<html>
 <head>
 </head>
 <body>
    <form action='/1.php' method='post'>
    <input type="text" name="data">
    <input type="text" name="data2">
    <input type="submit" name="send" >
    </form>
 </body>
</html>


Почему не работает?
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
@FanatPHP
В общем тебе надо открыть для себя такое ключевое понятие программирования, как разделение кода и данных.
Код пишется один раз и потом его не трогают.
Если надо что-то поменять, то пишут в отдельный файл.

В твоем случае может быть что-то вроде
2.php
<?php
$file = 'data.txt';
$data = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
echo $data[$_GET["times"]];

1.php
<?php
$file = 'data.txt';
if (isset($_POST['send'])) {
    file_put_contents( $file, $data );
}
$data = file_get_contents( $file);
?>
<html>
 <head>
 </head>
 <body>
    <form action='/1.php' method='post'>
    <textarea name="data"><?=$data?></textarea>
    <input type="submit" name="send" >
    </form>
 </body>
</html>

data.txt
1
22
2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы