- PHP тут лишний
- вместо кук, тут уместен LocalStorage
- почему? С ним банально проще работать, и он сам по себе не "сгорит"
Есть пара вариантов как это решить:
1. Простой - хранить в LS текущий HTML со всеми кнопками как есть, обновлять в конце функции hideshow, при старте страницы заменять кнопки на то что в LS, либо не делать ничего если их там нет
2. Сложный - завести некую модель с массивом кнопок, хранить ее в сериализованном виде в LS, обновлять ее при клике, обрабатывать кнопки согласно модели при старте страницы