Front
<ul id="menu"> <?php foreach ($menuData as $key => $menu): ?> <li> <div class="menu-item"> <a href="#" class="delete-menu"> <i class="fa fa-times"></i> </a> <input type="text" name="title[]" value="<?=$menu['title']?>" placeholder="Menü Adı"> <input type="text" name="url[]" value="<?=$menu['url']?>" placeholder="Menü Linki"> </div> <div class="sub-menu"> <ul> <?php if (isset($menu['submenu'])): ?> <?php foreach ($menu['submenu'] as $k => $submenu):?> <li> <div class="menu-item"> <a href="#" class="delete-menu"> <i class="fa fa-times"></i> </a> <input type="text" name="sub_title_<?=$key?>" value="<?=$submenu['title']?>" placeholder="Menü Adı"> <input type="text" name="sub_url_<?=$key?>" value="<?=$submenu['url']?>" placeholder="Menü Linki"> </div> </li> <?php endforeach; ?> <?php endif; ?> </ul> </div> <a href="#" class="add-submenu btn">Alt Menü Ekle</a> </li> <?php endforeach; ?></ul>Back
$id = get('id');if (!$id){ header('Location:'.admin_url('menu')); exit;}$query = $db -> prepare('SELECT * FROM menu WHERE menu_id = :id');$query->execute([ 'id' => $id]);$row = $query -> fetch(PDO::FETCH_ASSOC);if (!$row){ header('Location:'.admin_url('menu')); exit;}if (post('submit')){ $menu = []; $menu_title = post('menu_title'); if(!$menu_title){ $error = 'Menü başlığını yazın!'; }elseif (count(array_filter(post('title'))) == 0){ $error = 'En az bir menü içeriği olmalıdır!'; }else{ $urls = post('url'); foreach (post('title') as $key => $title ){ echo $title.' - '.$urls[$key].'<br>'; $arr = [ 'title' => $title, 'url' => $urls[$key] ]; if (post('sub_title_'.$key)){ $submenu = []; $suburls = post('sub_url_'.$key); foreach (post('sub_title_'.$key) as $k => $subtitle) { $submenu = [ 'title' => $subtitle, 'url' => $suburls[$k] ]; } $arr['submenu'] = $submenu; } $menu[] = $arr; } $query = $db -> prepare('INSERT INTO menu SET menu_title = :menu_title, menu_content = :menu_content'); $result = $query -> execute([ 'menu_title' => $menu_title, 'menu_content' => json_encode($menu) ]); if ($result){ header('Location:'.admin_url('menu')); }else{ $error = 'Bir sorun oluştu lütfen tekrar deneyin!'; } }}$menuData = json_decode($row['menu_content'],true);require admin_view('edit-menu');Çıktı<ul>
<li>
<div class="menu-item">
<a href="[URL="http://localhost/cms/admin/edit-menu?id=1#"]#[/URL]" class="delete-menu">
<i class="fa fa-times"></i>
</a>
<input type="text" name="sub_title_2" value="<br />
<b>Warning</b>: Illegal string offset 'title' in <b>C:xampphtdocscmsadminviewedit-menu.php</b> on line <b>27</b><br />
M" placeholder="Menü Adı">
<input type="text" name="sub_url_2" value="<br />
<b>Warning</b>: Illegal string offset 'url' in <b>C:xampphtdocscmsadminviewedit-menu.php</b> on line <b>28</b><br />
M" placeholder="Menü Linki">
</div>
</li>
<li>
<div class="menu-item">
<a href="[URL="http://localhost/cms/admin/edit-menu?id=1#"]#[/URL]" class="delete-menu">
<i class="fa fa-times"></i>
</a>
<input type="text" name="sub_title_2" value="<br />
<b>Warning</b>: Illegal string offset 'title' in <b>C:xampphtdocscmsadminviewedit-menu.php</b> on line <b>27</b><br />
/" placeholder="Menü Adı">
<input type="text" name="sub_url_2" value="<br />
<b>Warning</b>: Illegal string offset 'url' in <b>C:xampphtdocscmsadminviewedit-menu.php</b> on line <b>28</b><br />
/" placeholder="Menü Linki">
</div>
</li>
</ul>