0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 17
1

Отредактировать значение элемента массива через форму

30.06.2017, 18:44. Показов 500. Ответов 5
Метки нет (Все метки)

Имеется массив (файл array.php):

PHP
1
2
3
4
5
<?php
$array["one"] = "One array";
$array["two"] = "Two array";
$array["three"] = "Three array";
?>
Имеется форма для редактирования данного массива (файл array_edit.php):

HTML5
1
2
3
4
5
6
<form method="POST">
    <input type="text" name="one" value="<?php echo $array['one']; ?>">
    <input type="text" name="two" value="<?php echo $array['two']; ?>">
    <textarea name="three"><?php echo $array['three']; ?></textarea>
    <input type="submit" name="update" value="UPDATE">
</form>
Как можно отредактировать значение отдельного элемента массива через данную форму? На ум приходит только перезапись всего файла array.php. Подскажите в каком направлении копать.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2017, 18:44
Ответы с готовыми решениями:

Как изменить значение ячейки через форму html?
как заменить значения одной ячейки в базы данных на другое значение из формы HTML Так не...

Как отредактировать данные в listview через модальную форму
Здравствуйте! Как отредактировать данные в listview через модальную форму? Например, на главной...

Как добавить запись в подчиненную форму через форму элемента?
Есть основная форма. На ней подчиненная табличная форма - список короче. Отдельно есть форма для...

Поменять местами значение первого четного элемента массива со значением последнего нечетного элемента массива
34. Дан массив С(30). Поменять местами значение первого четного элемента массива со значением...

5
Эксперт PHP
3631 / 3036 / 1273
Регистрация: 01.08.2012
Сообщений: 10,388
30.06.2017, 18:58 2
Хранить массив в отдельном файле в удобном для редактирования виде (json, serialize() и т.п.).
0
276 / 201 / 143
Регистрация: 22.01.2016
Сообщений: 637
30.06.2017, 19:00 3
Просто оставьте пустыми ненужные поля, зачем туда значения добавлять?
Потом делаете проверку и редактируете только те значения элементов массива, поля которых не были пустыми.
0
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292
30.06.2017, 19:48 4
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
$array = file('array.txt');
$array['one'] = $array[0];
$array['two'] = $array[1];
$array['three'] = $array[2];
 ?>
<form method="POST" action="">
    <input type="text" name="one" value="<?php echo $array['one']; ?>">
    <input type="text" name="two" value="<?php echo $array['two']; ?>">
    <textarea name="three"><?php echo $array['three']; ?></textarea>
    <input type="submit" name="update" value="UPDATE">
</form>
<?
if(isset($_POST['update']) and !empty($_POST['one']) and !empty($_POST['two']) and !empty($_POST['three'])) {
    $data = $_POST['one'] . "\n";
    $data .= $_POST['two'] . "\n";
    $data .= $_POST['three'] . "\n";
    file_put_contents('array.txt', $data);
}
?>
Добавлено через 15 секунд

Добавлено через 35 минут
или может так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?
if(isset($_POST['update']) and !empty($_POST['one']) and !empty($_POST['two']) and !empty($_POST['three'])) {
    $data = '<?php' . "\n";
    $data .= '$array = [' . "\n";
    $data .= "'one' => " . "'" . $_POST['one'] . "'" . ",\n";
    $data .= "'two' => " . "'" . $_POST['two'] . "'" . ",\n";
    $data .= "'three' => " . "'" . $_POST['three'] . "'" . ",\n";
    $data .= '];' . "\n";
    $data .= '?>';
    file_put_contents('array.php', $data);
}
?>
0
Эксперт PHP
3631 / 3036 / 1273
Регистрация: 01.08.2012
Сообщений: 10,388
30.06.2017, 20:36 5
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
    $file_path = 'data.txt';
 
    if(!file_exists($file_path))
        $array = ['one' => null, 'two' => null, 'three' => null];
    else
        $array = unserialize(file_get_contents($file_path));
    
    if(isset($_POST['update']))
    {
        $array['one'] = $_POST['one'];
        $array['two'] = $_POST['two'];
        $array['three'] = $_POST['three'];
        
        file_put_contents($file_path, serialize($array));
    }
?>
 
<form method="POST" action="">
    <input type="text" name="one" value="<?php echo $array['one']; ?>">
    <input type="text" name="two" value="<?php echo $array['two']; ?>">
    <textarea name="three"><?php echo $array['three']; ?></textarea>
    <input type="submit" name="update" value="UPDATE">
</form>
1
502 bad gateway
Эксперт PHP
4609 / 3749 / 1565
Регистрация: 24.04.2014
Сообщений: 10,984
30.06.2017, 20:45 6
http://php.net/manual/ru/function.var-export.php
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2017, 20:45

Поменять местами значение первого четного элемента массива со значением последнего нечетного элемента массива.
Дан массив С(30). Поменять местами значение первого четного элемента массива со значением...

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение
Работа с массивами:

Вставить после максимального элемента массива значение минимального элемента
2. Дан массив А размером N.Вставить после максимального элемента значение минимального элемента.

Получить индекс элемента одномерного массива, если известно значение элемента (без цикла)?
Получить индекс элемента одномерного массива, если известно значение элемента (без цикла)? То...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru