Как написать форму для добавления пункта меню на страницу, на php?
Не самая простая задача для новичка, давай разберем по порядку что тебе надо сделать.
1) тебе надо как-то хранить список категорий и их ссылок
2) тебе надо получить структуру меню в переменную
3) тебе надо построить само меню
Я исхожу из того, что хранить информацию о меню ты будешь в базе.
Пусть в базе будет две таблицы:menu_category
~~~~~~~
id
name
order

menu_items
~~~~~~~~~~~
id
menu_category_id
name
url
order
дальше, ты примерно вот таким запросом получаешь все пункты менюSELECT 
	`c`.`id` as `id`,
	`c`.`name` as `name`,
	`i`.`id` as `item_id`,
	`i`.`name` as `item_name`,	
	`i`.`url` as `item_url`
FROM `menu_category` as `c` 
LEFT JOIN `menu_items` as `i` ON `i`.`menu_category_id`=`c`.`id` 
ORDER BY `c`.`order`, `i`.`order`
теперь группируем результаты по id категории тем самым получая удобную структуру для формирования меню$menu = [];
foreach ($results as $res) {
	$menu[$res['id']]['name'] = $res['name'];
	$menu[$res['id']]['items'][] = [
		'name' => $res['item_name'],
		'url' => $res['item_url'],
	]
}
в результате имеем массив с такой структурой:[1]=>[
	'name' => 'Категория 1',
	'items' => [
		['name'=>'Ссылка 11', 'url'=>'http://site11.ru'],
		['name'=>'Ссылка 12', 'url'=>'http://site12.ru'],	
	]
],
[2]=>[
	'name' => 'Категория 2',
	'items' => [
		['name'=>'Ссылка 21', 'url'=>'http://site21.ru'],
		['name'=>'Ссылка 22', 'url'=>'http://site22.ru'],	
	]
],
теперь осталось все это вывести, используем такой кодecho '<ul>';
foreach($menu as $catId=>$cat) {
	echo '<li>'.$cat['name'];
	if (isset($cat['items'])) {
		echo '<ul>';
		foreach($cat['items'] as $item) {
			echo '<li><a href="'.$item['url'].'">'.$item['name'].'</a></li>';
		}
		echo '</ul>';
	}
	echo '</li>';
}
echo '</ul>';
вот и всё, осталось написать формы для добавления данных в соответствующие таблицы бд
Если меню находится в БД и генерируются ссылки, то используйте MySQL/MySQLi запросы. Если у вас меню только как HTML код, то только через Java Scripts (можно и jQuery, если вы новичёк). Но второй способ я считаю непригодным на хороших сайтах, т.к. толком некуда сохранять данные меню. Если конечно кэши и т.п., то они временные...желательно использовать БД.