Bonjour à tout le monde,
J'ai suivis les tutos "Développer un site de A à Z. Et quand je vais à l'édition d'un article, j'ai un message qui s'affiche " Notice: Array to string conversion in C:\wamp\www\siteweb\core\Form.php on line 32.
Voici le code en question:
foreach($options as $k=>$v){ if($k!='type'){
$attr .= " $k=\"$v\" ";
}}
J'ai bien essayé diverses solution en consultant le site PHP.net. Mais je sèche.
Quelqu'un pourrait-il me dire ce qui provoque ce message, svp.
Je vous remercie d'avance.
C'est celui qui est a hauteur de la catégorie qui foire:
Tu peux voir a partir du var_dump qu'il est de la forme:
$options'options'][1] = 'Music'
$options'options'][2] = 'Jeux vidéos'
$options'options'][3] = 'Sport'
... alors que les autres (celui du textarea par exemple) sont de la forme:
$options'type'] = 'textarea'
$options'class'] = 'xxlarge wysiwyg'
Tu peux remarquer que tu as un 'niveau' en plus pour celui de la catégorie.
Du coup quand tu fais ton foreach, tu te retrouves avec la cas suivant:
$k = 'options';
$v =
1 => 'Music',
2 => 'Jeux vidéos',
3 => 'Sport'];
$v est donc bien un tableau, et PHP ne sait pas l'afficher avec un echo (d'ou ton array to string conversion exception).
Je ne saurais pas te dire quel est exactement l'erreur étant donné qu'il faudrait que je regarde les quelques heures du tuto avec ton code sous les yeux pour comparer, mais sachant exactement ce qui merdouille tu devrais pouvoir remonter a la source ... ;)
J'ai fait le var_dump et j'obtiens différents tableaux dans le formulaire:
A hauteur du titre -> array (size=0) empty
A hauteur de l'Url -> array (size=0) empty
A hauteur de la catégorie -> array (size=1)
'options' =>
array (size=3)
1 => string 'Music' (length=5)
2 => string 'Jeux vidéos' (length=12)
3 => string 'Sport' (length=5)
A hauteur de la date de création: array (size=1)
'class' => string 'datepicker' (length=10)
A hauteur du textarea ->array (size=3)
'type' => string 'textarea' (length=8)
'class' => string 'xxlarge wysiwyg' (length=15)
'rows' => int 5
A hauteur du checkbox ->array (size=1)
'type' => string 'checkbox' (length=8)
Voila ce qui est affiché.