$ Img_attributes tarzı soru

2 Cevap php

Can somebody explain me why the small piece of code doesn't work?

Bu verilir ne hatadır:

In / var/www/g35003 / sözdizimi hatası, beklenmedik '=': hatası Ayrıştırma

$img_attributes= style='max-height: 100px; max-width: 100px' . 'alt="'.$product['product_name'].'"';

2 Cevap

Bu PHP ve bir değişkene bir dize atamak için çalışıyorsanız, dize civarı tırnak olmalıdır.

İşte, bu kod özel porsiyon neden olan bir hata:

$img_attributes= style='max

Ilk = işaretinden sonra alıntı bir tür olmalıdır.


Something like this should work much better, for instance :

$img_attributes= 'style="max-height: 100px; max-width: 100px"'
     . ' alt="' . $product['product_name'] . '"';


As a sidenote : maybe some kind of escaping could be helpful, for the $product['product_name'] part ? to make sure it doesn't contain any HTML that would break your markup.
See htmlspecialchars, for instance.

Örneğin, ürün adı bu şekilde başlatılmış ise:

$product['product_name'] = 'my mega "product"';

Sonra, daha önce yayınlanan kod bölümünü kullanarak bu çıktıyı alırsınız:

style="max-height: 100px; max-width: 100px" alt="my mega "product""

Bu da güzel değil ...

htmlspecialchars, bu gibi kullanarak:

$img_attributes= 'style="max-height: 100px; max-width: 100px"'
     . ' alt="' . htmlspecialchars($product['product_name']) . '"';

Çıkışı olacak:

style="max-height: 100px; max-width: 100px" alt="my mega "product""

En azından, geçerli bir HTML :-) bir bölümü olan,

Sen tırnak, olası düzeltme karıştırmasını:

$img_attributes= "style='max-height: 100px; max-width: 100px'" . 'alt="'.$product['product_name'].'"';