2010-11-16 19 views
0

Eh bien, je suis allé au-dessus de cela au moins 30 fois, essayé autant de combinaisons possibles que je pouvais penser, pouvez-vous repérer l'erreur de syntaxe? (Je ne peux pas, évidemment). Il n'affiche pas ce qu'il devrait être, à la place il affiche le html réel de la page!Quel est le problème avec ma syntaxe? (PHP/HTML)

Le code:

$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; 

Quelqu'un peut-il s'il vous plaît me dire ce que je l'ai fait de mal? Toute aide/conseil est appréciée.

Merci!

Répondre

2

Qu'est ce que c'est?

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

Je pense que vous vouliez dire

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

Yah! C'est exactement ce que je voulais dire. Gees, je suppose que ne pas dormir pendant 31 heures prend un peu son péage: P - Merci beaucoup! :) –

2

L'utilisation de balises courtes est une très mauvaise pratique. Il rend le code plus difficile à lire et n'est pas activé par défaut sur la plupart des environnements. Ce qui peut conduire à des erreurs comme celle-ci.

Toujours utiliser le plein <?php (et non <?) et <?php echo "string" au lieu de <?="string">. Cela permettra d'éviter de nombreuses erreurs. Ensuite, il semble que vous essayez d'évaluer PHP dans les chaînes. echo "echo 'test'"; n'imprimera jamais le test, il imprimera toujours l'écho 'test'. C'est la même chose pour items[<?=$product_id;?>]. Tout d'abord, ce n'est même pas une syntaxe PHP valide et en second lieu, même si c'était vraiment, vous pouvez utiliser $ product_id sans aucune autre modification: items[$product_id]. (edit: en fait, je ne suis même pas sûr de ce que vous essayez de faire ici).

Je ne vais pas passer en revue tout votre code, mais il semble que vous n'avez pas les bases de la langue. Il peut être bon de les revoir!

+0

Merci pour votre aide n conseils vincent :) –