Warning: Illegal string offset 'name' in
Résolu
LaChaux78
Messages postés
583
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, J'ai ce message qui apparait "Warning: Illegal string offset 'name' in" et je ne sais pas à quoi c'est dû. Pouvez-vous m'aider s'ils vous plait. J'ai fait un print_r et tout semble normal, le fichier article est bien présent pourtant l'INSERT ne se fait pas. Je vous remercie.
$action = 'new'; $a = !empty($_GET['a']) ? $_GET['a'] : NULL; $submit = !empty($_POST['submit']) ? $_POST['submit'] : NULL; $haction = !empty($_POST['haction']) ? $_POST['haction'] : NULL; $idart = !empty($_REQUEST['idart']) ? $_REQUEST['idart'] : NULL; $article = !empty($_POST['article']) ? $_POST['article']['name'] : ''; $lieuart = !empty($_POST['lieuart']) ? addslashes($_POST['lieuart']) : ''; $dateart = !empty($_POST['dateart']) ? dw2m($_POST['dateart']) : ''; $descart = !empty($_POST['descart']) ? $_POST['descart'] : ''; switch($a) { case 'new': $action = 'new'; break; case 'ls' : $action = 'list'; break; default : $action = 'new'; break; } if($submit) { switch($haction) { case 'new': $extensions_valides = array( 'pdf' ); //1. strrchr renvoie l'extension avec le point (« . »). //2. substr(chaine,1) ignore le premier caractère de chaine. //3. strtolower met l'extension en minuscules. $extension_upload = strtolower( substr( strrchr($_FILES['article']['name'], '.') ,1) ); if (!in_array($extension_upload,$extensions_valides) ) { $erreur = "<span class='erreur'>Vous devez ajouter un fichier de type PDF</span>"; } else { $sql = "INSERT INTO cdc_articles (article, lieuart, dateart, descart) VALUES (:article, :lieuart, :dateart, :descart)"; $datas = array('article' => $article, 'lieuart' => $lieuart, 'dateart' => $dateart, 'descart' => $descart); $result = executeQuery($sql,$datas); $typenr = "enregistré"; $reqaj = $requete; $success = "<span class='success'>Le nouvelle article du - ".dFR("$dateart")." - a été $typenr.</span>"; } break; } } switch($action) { case 'new': $title = "Saisie d'un Article"; $btsub = "Enregistrer"; $idart = ""; $article = ""; $lieuart = ""; $dateart = ""; $descart = ""; break; case 'list': $title = "Liste des Articles"; break; }
A voir également:
- Warning: illegal string offset 'name' in
- Illegal string offset 'status' - Meilleures réponses
- Warning: illegal string offset - Meilleures réponses
- Site de telechargement illegal - Accueil - Outils
- Aux in - Forum Audio
- Iptv illégal - Accueil - Streaming
- Cvbs in 1 - Forum Autoradio
- Cannot access offset of type string on string - Forum PHP
3 réponses
Bonjour,
Tu ne nous indiques pas le numéro de ligne qui va avec le message d'erreur...
mais on peut supposer que ça vient de la ligne
Il aurait également été bien de nos fournir le résultat de ton print_r ... histoire qu'on puisse voir les variables qui sont envoyée dans ton $_POST
Mais on peut supposer que, pour ton cas, le "bon" code serait :
Et si vraiment.. ton array article contient un "name" .. dans ce cas il faudra ajouter :
et donc modifier ton array lors de l'insertion
Tu ne nous indiques pas le numéro de ligne qui va avec le message d'erreur...
mais on peut supposer que ça vient de la ligne
$article = !empty($_POST['article']) ? $_POST['article']['name'] : '';
Il aurait également été bien de nos fournir le résultat de ton print_r ... histoire qu'on puisse voir les variables qui sont envoyée dans ton $_POST
Mais on peut supposer que, pour ton cas, le "bon" code serait :
$article = !empty($_POST['article']) ? $_POST['article'] : '';
Et si vraiment.. ton array article contient un "name" .. dans ce cas il faudra ajouter :
$article_name = !empty($article['name']) ? $article['name'] : '';
et donc modifier ton array lors de l'insertion
$datas = array('article' => $article_name , 'lieuart' => $lieuart, 'dateart' => $dateart, 'descart' => $descart);