Mam taką edycje danych:
<?php $categories = show_category('category_db.txt'); echo' <form action="panel.php?id=edit&action=edit" method="post"> <select name="editcat">'; } echo'</select> <input type="submit" value="Edytuj kategorie" /> </form></center> </div>'; if($_GET['id'] == 'edit' && $_GET['action'] == 'edit') { echo ' <div id="title"> <center> <form action="panel.php?id=edit&action=edit&zapis=ok" method="post"> <input type="text" name="edytowana" value="'.$categories[$_POST['editcat']]['kategoria'].'" /> <input type="submit" value="Zapisz zmiany" /> </form> </center> </div>'; if($_GET['id'] == 'edit' && $_GET['action'] == 'edit' && $_GET['zapis'] == 'ok') { $categories[$_POST['editcat']]['kategoria'] = $edytowana; add('category_db.txt', $categories); } } ?>
No i jest problem
Wszystko powinno być według mie ok. Ale robie sie dodatkowy pusty wpis przy edycji danych a nie edytuje sie sama wartość. Czemu mi sie tak dzieje :?: myśle że to problem z :
$categories[$_POST['editcat']]['kategoria'] = $edytowana;
ale niewidze błędów

Dodaj jeszcze że bo zapianiu danych tablica w pliku wygląda tak:
a:2:{i:0;a:1:{s:9:"kategoria";s:9:"Webmaster";}s:0:"";a:1:{s:9:"kategoria";s:10:"Webmasters";}}
Czyli pojawia sie zbędny element s:0:"" i niewiem czemu a nie powinno go być

Probowałem zmienić nazwa Webmaster na Webmasters i właśnie tak mi sie to dopisuje