Ok donc avec Sublime TEXT 3 il va me dire ou est l'erreur ?
Bonjour , j'ai 2 probleme au niveau de mon code mais je ne la trouve pas x)
Voici les erreurs :
Erreur n°1 :
( ! ) Notice: Undefined variable: db in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 50
Erreur n°2 :
( ! ) Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 50
Voici le code de ma page concernée (ADMIN.PHP)
25 réponses
Oui cela vous aidera.
sa m'indique aucune erreur sur sublime text 3 :/
Bonjour
Ta variable db n'est tout simplement pas instancié.
Regarde, tu le fais dans le if ($_GET['action'] == 'add') {
mais si tu passes dans le elseif ($_GET['action'] == 'modifyanddelete') {
eh bien, comme tu n'es pas passé dans le if, là où tu instancies db, forcémement, dans ton elseif, $db = null
Ce qui entraine les deux erreurs
Donc peut tu m'editer le code avec ce que tu as dis stp ;)
Merci ,
Wave59
Bonjour,
Essayer ceci dans le catch de connexion pour afficher l'erreur s'il y en a une :
Votre connexion à la BDD se fait seulement si êtes en mode "add" donc quand vous faites une autre action, vous n'avez plus cette connexion.
La connexion doit se faire au début de votre code.
Sa marche pas essaye de m'editer le code et poste le ici avec ce que tu as dis stp ;)
On ne vous refera pas votre code, à vous de comprendre ce qui ne veux pas grace à notre aide.
Petit aide:
J'ai cette erreur encore :
( ! ) Notice: Undefined variable: insert in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 52
( ! ) Fatal error: Call to a member function execute() on a non-object in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 52
Il n'y aucune utilité à te faire ton code. Si tu n'arrives pas à corriger les erreurs malgré nos aides, je t'invite à relire des documentations.
Pour tes nouvelles erreurs, c'est exactement la même chose que l'autre problème, sauf qu'ici c'est sûrement parce que t'utilises la mauvaise variable
Romain bah fais moi stp le bout ou il y a l'erreur stp x)
J'y arrive pas je suis un débutant en PHP
Poser vous ces questions à propose de la ligne en question:
1/ Qu'est ce que je veux faire ?
2/ N'ai-je pas fais une erreur dans le nom de ma variable ?
3/ Ai-je bien tout les éléments pour faire ce que je veux ?
j'ai essayer de tout verifier , mais je ne trouve pas cette erreur ;(
Merci ,
Wave59
Je vais te donner une réponse avec une explication qui je l'espère te permettra de savoir résoudre ces erreurs là à l'avenir.
Regardons le premier message d'erreur :
( ! ) Notice: Undefined variable: insert in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 52
A ligne 52, on comprend donc que la variable insert n'existe pas. Allons voir cette ligne-là dans ton code :
Tu souhaites utiliser la variable insert, or elle est vide. Pourquoi ?
Si tu regardes ton code d'avant, tu peux trouver à un endroit :
On peut se dire alors que la variable insert ne devrait pas être à vide, car tu lui dis de récupérer la résultat de $db->prepare.
Le problème, c'est que si tu remontes dans ton code, on peut voir que cette assignatation n'est lancé que lorsque l'on rentre dans la condition suivante :
Or, ton $insert->execute(); est executé quand ($_GET['action'] == 'modifyanddelete'), donc il faut comprendre que tu n'es passé passé dans ton if (... == 'add'). Du coup, la variable insert n'a pas de valeur.
Voilà déjà la première analyse que j'ai pu en tirer.
Concrétement, si je comprends bien ton code, tu aies en mode affichage/édition lorsque l'erreurse produit. Du coup, lorsque tu fais :
$insert->execute();
je pense que tu voulais plutôt mettre : $select->execute();
Je viens de faire ce que vous m'avais dis mais j'ai encore une erreur :/
ERREUR :
Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 72
CODE SOURCE :
Il vous dit que le dernier "else" est tout seul, c'est à dire qu'il n'a pas de if.
Vous utilisez quel logiciel pour faire votre code ?
J'utilise Notepad++ pour faire mon code
Je vous conseil d'utiliser un logiciel un peu plus perfectionner comme netbeans ou Sublime Texte qui vous aiderons en marquant vos erreurs de syntaxe.
Note Wave59 que si tu indentes ton code t'y verra déjà plus claire !!
SublimeText va pas te cracher les erreurs non plus tu vas devoir chercher (c'est ce qu'on appelle apprendre) si on te donne la réponse c'est mort pour toi et je ne compteai plus les sujets que tu va créer sur les forum à demander de l'aide !!
Le langage web a une logique et tu pourras t'en sortir avec de simple copier coller sans doute mais à chaque fois que tu auras un soucis c'est retour à la case départ !!
Fais tes test et vois pourquoi ta un else qui n'a pas de if.
La bonne synthaxe c'est comme ça !
Bonjour Underscreen ,
Je suis débutant en PHP ducoup je ne suis pas un génie x)
Mais dans le site j'ai des erreurs qui se forment , mais je ne sais pas d'où elles viennent dans mon code .
Normalement La page Forum est une PAGE D'ENTRAIDE .
Pour compléter ce message j'ai encore plusieurs erreurs :
Erreur N°1 :
Undefined index: action in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 54
Erreur N°2 :
Undefined index: action in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 62
Erreur N°3 :
Undefined index: action in C:\wamp\www\Site-de-vente-de-tout-et-nimporte-quoi\admin\admin.php on line 63
Je sais que c'est des actions qui ne sont pas définies mais Je ne sais pas comment les déclarer donc si vous pouvez m'aider SVP .
VOICI MON CODE :
Le code ci dessus ne corrige aucune erreur !
Je l'ai juste indenté pour que tu puisse mieux voir ce qui ne va pas.
Sachant que les 3 erreurs que tu nous présentes sont toutes liés au même problème qui est que l'index action n'existe pas dans le tableau $_GET => ("Undefined index: action")
try{
$db = new PDO('mysql:host=localhost;dbname=bdd_e-commerce','root','');
}
catch(Exception $e){
echo "Erreur: ".$e->getMessage();
die();
}
remplace ton code donnexion par celui ci dessus, et ca doit marche
merci mais tu as pas vu que le post date de 2mois javais deja trouve tkt pas
@Wave56 : Dans ce cas pense à valider la/les réponses qui t'ont aidées, sinon on ne peut pas savori que le problème est résolu.