par
Ryle » 27 nov. 2010, 11:28
Il faut distinguer les deux erreurs que tu rencontres et les traiter individuellement.
La première est un message d'avertissement : "Notice: Undefined variable: idutilisateurs" qui t'indique qu'à la ligne 20 de ton script tu fais appel à la variable idutilisateurs, alors que celle-ci n'est pas définie. En effet, ta variable idutilisateurs n'est définie que si la variable $_SESSION['idutilisateurs'] existe, ce qui ne semble pas toujours être le cas.
Il faut donc t'assurer que tu as bien une variable en session, mais surtout gérer le cas où celle-ci n'est pas présente. Vérifie que lorsque tu mets l'email de l'utilisateur en session, tu mets bien son id également (vérifie l'orthographe, le pluriel, les majuscules, etc.)
Une fois que tu récupéreras bien ton id, tu pourras l'utiliser dans ta requête sql
Second point, tu as une erreur dans ta requête sql : "Column count doesn't match value count at row 1". Tu n'indiques pas le même nombre de colonnes et de valeurs dans ta requête. Tu déclares en effet 6 colonnes (titreannonce, categorie, souscategorie, description, prix, idutilisateurs), mais tu tentes d'y insérer 7 valeurs ('$titreannonce', '$categorie', '$souscategorie', '$description', '$prix', '".date("Y-m-d H:i:s")."', '$idutilisateurs')
Comme le disais xTG, la fonction mysql_insert_id() te permet de récupérer l'id créé par mysql via auto_increment lors de la dernière insertion. Au mieux ici, il te permettrait de récupérer le dernier id de l'annonce que tu viens d'insérer. L'id de l'utilisateur connecté doit provenir de la session (et tu l'obtiendras en résolvant le premier point

)
Il faut distinguer les deux erreurs que tu rencontres et les traiter individuellement.
La première est un message d'avertissement : "Notice: Undefined variable: idutilisateurs" qui t'indique qu'à la ligne 20 de ton script tu fais appel à la variable idutilisateurs, alors que celle-ci n'est pas définie. En effet, ta variable idutilisateurs n'est définie que si la variable $_SESSION['idutilisateurs'] existe, ce qui ne semble pas toujours être le cas.
Il faut donc t'assurer que tu as bien une variable en session, mais surtout gérer le cas où celle-ci n'est pas présente. Vérifie que lorsque tu mets l'email de l'utilisateur en session, tu mets bien son id également (vérifie l'orthographe, le pluriel, les majuscules, etc.)
Une fois que tu récupéreras bien ton id, tu pourras l'utiliser dans ta requête sql :)
Second point, tu as une erreur dans ta requête sql : "Column count doesn't match value count at row 1". Tu n'indiques pas le même nombre de colonnes et de valeurs dans ta requête. Tu déclares en effet 6 colonnes (titreannonce, categorie, souscategorie, description, prix, idutilisateurs), mais tu tentes d'y insérer 7 valeurs ('$titreannonce', '$categorie', '$souscategorie', '$description', '$prix', '".date("Y-m-d H:i:s")."', '$idutilisateurs')
Comme le disais xTG, la fonction mysql_insert_id() te permet de récupérer l'id créé par mysql via auto_increment lors de la dernière insertion. Au mieux ici, il te permettrait de récupérer le dernier id de l'annonce que tu viens d'insérer. L'id de l'utilisateur connecté doit provenir de la session (et tu l'obtiendras en résolvant le premier point :))