2010-11-16 3 views
0

Ну, я перешел через это по крайней мере 30 раз, попробовал столько возможных комбинаций, о которых я мог думать, можете ли вы определить синтаксическую ошибку? (Я не могу, очевидно). Он не отображает то, что должно быть, вместо этого отображает фактический html страницы!Что случилось с моим синтаксисом? (PHP/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

Что это?

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

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

name="items[' . $product_id . ']" type= 
+0

Ях! Это именно то, что я имел в виду. Gees, я думаю, не спать в течение 31 часа, потому что это сказывается: P - Большое спасибо! :) – 2010-11-16 03:06:53

2

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

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

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

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

+0

Спасибо за помощь н совет Венсан :) – 2010-11-16 03:07:38

Смежные вопросы