Замена в файле всех значений через POST
Покажите пожалуйста новичу самоучке, решение. В файле 1.txt каждая строка имеет дату и значения (расписание работы) пример:
- 06.03.2024*Alex
- 07.03.2024*Petr
Я ети значения через цикл вношу в форму для редактирования
$file=file('1.txt');
foreach($file as $line){
$line=trim($line);
$exp=explode("*",$line);
if(isset($exp[0])){
echo "<input type='name' name='id[]' value='$exp[1]'><br>";
}else{}
}
А дальше не знаю как етот массив из $_POST['id'] заменить каждый в свою строку, делал вот так.
if(isset($_POST['id'])){
$file=file('1.txt');
foreach($file as $line){
$line=trim($line);
$exp=explode("*",$line);
$post=$_POST['id'];
$replace[]=$exp[1];
$str=str_replace($replace,$post,$line);
echo $str;
}}
Но если я изменю например Alex и он найдет в другой дате то и там его заменит.
Ответы (1 шт):
Автор решения: Serg_rv
→ Ссылка
Спасибо большое 'Ипатьев' за решение.
$file = file('1.txt');
foreach($file as $line){
$line = trim($line);
$exp = explode("*", $line);
if(isset($exp[1])) {
echo '<input type="text" name="date[]" value="'.htmlspecialchars($exp[0]).'" readonly>';
echo '<input type="text" name="id[]" value="'.htmlspecialchars($exp[1]).'"><br>'.PHP_EOL;
}
}
if (isset($_POST['date'])) {
$result = '';
foreach($_POST['date'] as $i => $date) {
$result.= $date.'*'.$_POST['id'][$i].PHP_EOL;
}
echo $result;
}