Warning: Illegal string offset 'name' in
Résolu
LaChaux78
Messages postés
607
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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
- Cvbs in 1 - Forum Autoradio
- Iptv illégal - Accueil - Streaming
- IPTV illégal : après les pirates, la justice condamne maintenant les clients… jusqu'à la prison ! - Guide
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);