Использование коротких тегов - очень плохая практика. Это затрудняет чтение кода и по умолчанию не включено в большинстве сред. Что может привести к таким ошибкам.
Всегда используйте полные <?php
(а не <?
) и <?php echo "string"
вместо <?="string">
. Это предотвратит много ошибок.
Затем, похоже, вы пытаетесь оценить PHP в строках. echo "echo 'test'";
никогда не будет печатать тест, он всегда будет печатать эхо «тест». То же самое для items[<?=$product_id;?>]
. Во-первых, это даже не правильный синтаксис PHP, и, во-вторых, даже если это действительно так, вы можете использовать $ product_id без каких-либо других изменений: items[$product_id]
. ( edit : на самом деле, я даже не уверен, что вы пытаетесь сделать здесь).
Я не собираюсь пересматривать весь ваш код, но, похоже, вам не хватает основ языка. Это может быть хорошо, чтобы рассмотреть их!