8016 sujets

Développement web côté serveur, CMS

Bonjour tout le monde.
Je suis loin d'être une pro en php et j'ai ce message là sur mon site, si vous pouvez m'aider.
Le code est
function mesmerize_woocommerce_cols_css($sel, $cols)
{
$size = (100 / intval($cols));

return "" .
"$sel {" .
"-webkit-flex-basis: $size%;" .
"-moz-flex-basis: $size%;" .
"-ms-flex-preferred-size: $size%;" .
"flex-basis: $size%;" .
"max-width: $size%;" .
"}";
}


Merci beaucoup.
Bonjour,

D'après ce que l'erreur dis, c'est que vous essayez de faire une division par 0 ce qui donne une erreur.
Donc votre ligne $size = (100 / intval($cols)); est celle qui pose problème avec le intval($cols) qui vaut 0, ce qui donne une division par 0, qui donne dans tous les cas erreur
Il faut rajouter une condition avant, en disant Si ce qui le diviseur est strictement supérieur à 0 alors on continue, Sinon on stop.
Merci de vos réponses. J'ai compris ça mais comme ce n'est pas mon site, je n'ose pas trop mettre des lignes qui risquent de bloquer tout.

Il faut mettre quoi dans ce cas?
Merci
bah en gros

$size = 0;
if($cols < 1){
return false;
}else{
$size = (100 / intval($cols));
}
Merci
Pour être sûr, je le mets comme ceci?

function mesmerize_woocommerce_cols_css($sel, $cols)
{
$size = 0;
if($cols < 1){
return false;
}else{
$size = (100 / intval($cols));

return "" .
"$sel {" .
"-webkit-flex-basis: $size%;" .
"-moz-flex-basis: $size%;" .
"-ms-flex-preferred-size: $size%;" .
"flex-basis: $size%;" .
"max-width: $size%;" .
"}";
}