Что не так с моим синтаксисом?(PHP / HTML) - PullRequest
0 голосов
/ 16 ноября 2010

Что ж, я прошел по крайней мере 30 раз, перепробовал как можно больше возможных комбинаций, можете ли вы определить синтаксическую ошибку? (Я не могу, очевидно). Он не отображает, каким он должен быть, а отображает фактический HTML-код страницы!

Код:

$ct->data[$key][1] =
  '<input id="quantity" name='."items[<?=$product_id;?>]".
  'type="text" value="'.$ct->data[$key][1].'" 
  style="background:#FFFFFF url(qty.png) no-repeat 4px 4px;

Может кто-нибудь сказать, что я сделал не так? Любая помощь / совет на всех приветствуется.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

Что это?

name='."items[<?=$product_id;?>]".' type=

Я думаю, вы имели в виду

name="items[' . $product_id . ']" type=
2 голосов
/ 16 ноября 2010

Использование коротких тегов - очень плохая практика. Это затрудняет чтение кода и по умолчанию не включено в большинстве сред. Что может привести к таким ошибкам.

Всегда используйте полные <?php (а не <?) и <?php echo "string" вместо <?="string">. Это предотвратит много ошибок.

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

Я не собираюсь пересматривать весь ваш код, но, похоже, вам не хватает основ языка. Это может быть хорошо, чтобы рассмотреть их!

...