Erreur "Notice : Array to string conversion in..."
Résolu
Nenatio
-
Nenatio -
Nenatio -
Bonjour !
J'ai besoin de votre aide car je suis bloqué sur un problème que je n'arrive pas à résoudre.
Je tombe sur ce code erreur : "Notice : Array to string conversion in...".
Après quelques recherches sur cette erreur, je n'ai toujours pas trouvé de moyen de la résoudre.
Voici le morceau de code contenant l'erreur :
L'erreur se trouverait sur la ligne suivante :
Je précise que certaines variables sont définies plus haut.
Merci d'avance pour votre aide !
J'ai besoin de votre aide car je suis bloqué sur un problème que je n'arrive pas à résoudre.
Je tombe sur ce code erreur : "Notice : Array to string conversion in...".
Après quelques recherches sur cette erreur, je n'ai toujours pas trouvé de moyen de la résoudre.
Voici le morceau de code contenant l'erreur :
if ($_POST['mot_de_passe']==$_POST['mot_passe_verif'])
{
$mot_de_passe=password_hash($_POST['mot_de_passe'], PASSWORD_DEFAULT);
$hachage=true;
$portefeuille=0;
$victoires=0;
$statut=0;
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$pseudo=$_POST['pseudo'];
$req = $bdd->prepare('INSERT INTO utilisateur(nom, prenom, pseudo, mot_de_passe, courriel, date_naissance, statut, portefeuille, victoires) VALUES(:nom, :prenom, :pseudo, :mot_de_passe, :courriel, :date_naissance, :statut, :portefeuille, :victoires)');
$req->execute(array(
'nom' => $nom,
'prenom' => $prenom,
'pseudo' => $pseudo,
'mot_de_passe' => $mot_de_passe,
'courriel' => $courriel,
'date_naissance' => $date_naissance,
'statut' => $statut,
'portefeuille' => $portefeuille,
'victoires' => $victoires
));
echo 'Ajout du membre effectué!';
}
else
{
$erreur="Les mots de passe saisis sont différents";
$hachage=false;
}
L'erreur se trouverait sur la ligne suivante :
'victoires' => $victoires
Je précise que certaines variables sont définies plus haut.
Merci d'avance pour votre aide !
A voir également:
- Notice: array to string conversion in
- Notice gratuite - Guide
- Qwerty to azerty - Guide
- Deco in paris avis ✓ - Forum Consommation & Internet
- Navigation in private - Guide
- Notice chromecast - Guide
3 réponses
Bonjour,
Fais un var_dump de tes différentes variables
NB: Vu que tu fais du PDO, pense à gérer correctement les erreurs.
Applique ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu peux aussi suivre les consignes données ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Fais un var_dump de tes différentes variables
NB: Vu que tu fais du PDO, pense à gérer correctement les erreurs.
Applique ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu peux aussi suivre les consignes données ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Excuse-moi, je n'ai pas fait attention. Le voici corrigé :
La ligne 96 correspond à la ligne suivante :
if ($_POST['mot_de_passe']==$_POST['mot_passe_verif'])
{
$mot_de_passe=password_hash($_POST['mot_de_passe'], PASSWORD_DEFAULT);
$hachage=true;
$portefeuille=0;
$victoires=0;
$statut=0;
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$pseudo=$_POST['pseudo'];
$req = $bdd->prepare('INSERT INTO utilisateur(nom, prenom, pseudo, mot_de_passe, courriel, date_naissance, statut, portefeuille, victoires) VALUES(:nom, :prenom, :pseudo, :mot_de_passe, :courriel, :date_naissance, :statut, :portefeuille, :victoires)');
$req->execute(array(
'nom' => var_dump($nom),
'prenom' => var_dump($prenom),
'pseudo' => var_dump($pseudo),
'mot_de_passe' => var_dump($mot_de_passe),
'courriel' => var_dump($courriel),
'date_naissance' => var_dump($date_naissance),
'statut' => var_dump($statut),
'portefeuille' => var_dump($portefeuille),
'victoires' => var_dump($victoires)
));
echo 'Ajout du membre effectué!';
}
else
{
$erreur="Les mots de passe saisis sont différents";
$hachage=false;
}
La ligne 96 correspond à la ligne suivante :
'date_naissance' => var_dump($date_naissance),
oulaaaaa.....
Alors les var_dump ce n'est pas pour "corriger" quoi que ce soit.....
C'est pour débuguer pour essayer de comprendre où se trouve ton erreur !
Il faut remettre ton code comme il était avant et AJOUT des var_dump des variables à côté !
Alors les var_dump ce n'est pas pour "corriger" quoi que ce soit.....
C'est pour débuguer pour essayer de comprendre où se trouve ton erreur !
Il faut remettre ton code comme il était avant et AJOUT des var_dump des variables à côté !
if ($_POST['mot_de_passe']==$_POST['mot_passe_verif']) {
$mot_de_passe=password_hash($_POST['mot_de_passe'], PASSWORD_DEFAULT);
$hachage=true;
$portefeuille=0;
$victoires=0;
$statut=0;
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$pseudo=$_POST['pseudo'];
$datas = array(
':nom' => $nom,
':prenom' => $prenom,
':pseudo' => $pseudo,
':mot_de_passe' => $mot_de_passe,
':courriel' => $courriel,
':date_naissance' => $date_naissance,
':statut' => $statut,
':portefeuille' => $portefeuille,
':victoires' => $victoires
);
$sql = 'INSERT INTO utilisateur(nom, prenom, pseudo, mot_de_passe, courriel, date_naissance, statut, portefeuille, victoires) VALUES(:nom, :prenom, :pseudo, :mot_de_passe, :courriel, :date_naissance, :statut, :portefeuille, :victoires)';
var_dump($nom);
var_dump($prenom);
var_dump($pseudo);
var_dump($mot_de_passe);
var_dump($courriel);
var_dump($date_naissance);
var_dump($statut);
var_dump($portefeuille);
var_dump($victoires);
try{
$req = $bdd->prepare($sql);
$req->execute($datas);
echo 'Ajout du membre effectué!';
}catch(Exception $e){
echo " Erreur " . $e->getMessage();
}
} else {
$erreur="Les mots de passe saisis sont différents";
$hachage=false;
}
bonjour, c'est la variable $date_naissance qui pose problème. comment l'as-tu définie?
quel est le type du champ date_naissance dans la base de données?
quel est le type du champ date_naissance dans la base de données?
Disons que j'ai réalisé quelque chose qui je pense n'était pas du tout optimisé. En fait, j'avais placé dans ma variable $date_naissance le contenu d'un input. De ce fait (je pense), le format était différent, ce qui a conduit à cette erreur.
Après avoir tout corrigé, tout semble correct et fonctionnel.
Je te remercie grandement ainsi que @jordane45 pour votre patience car c'était pas gagné ;).
Merci encore et bonne continuation !
Après avoir tout corrigé, tout semble correct et fonctionnel.
Je te remercie grandement ainsi que @jordane45 pour votre patience car c'était pas gagné ;).
Merci encore et bonne continuation !
Après avoir appliqué ce que tu m'as indiqué, je constate l'apparition de lignes inattendues sur ma page :
Et lorsque je regarde dans phpmyadmin, le membre n'est pas enregistré dans la table.
A quoi correspond la ligne 96 ?