Notice: Undefined index: possesseur in C

Fermé
LeDoguenoir Messages postés 9 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 23 février 2015 - Modifié par jordane45 le 23/02/2015 à 01:36
jordane45 Messages postés 38366 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 janvier 2025 - 23 févr. 2015 à 01:42
Bonjour,

Je ne comprends vraiment pas mon erreur, ca fait 2 jours que je cherche...

Voici les champs de ma base de donnees jeux_video :


ID
nom
possesseur
console
prix
nbre_joueurs_max
commentaires

Voici mon code :
<?php

try
 {
 $bdd=new PDO ('mysql:host=localhost;dbname=test','root','');
 }
 
catch (Exception $e)
 {
 die ('Erreur :'.$e->getMessage());
 }
 
 $all=$bdd->prepare('SELECT nom,prix from jeux_video WHERE possesseur = ? AND prix <= ? ORDER BY prix');
 $all->execute(array($_GET['possesseur'], $_GET['prix_max']));
 
 echo'<ul>';
 
 while ($donnee=$all->fetch())
  {
  echo '<li>'.$donnee['nom']. '('.$donnee['prix'].'EUR)</li>';
  }
 echo'</ul>';
$all->closeCursor();

?>

Mon message d'erreurs
:
Notice: Undefined index: possesseur in C:\wamp\www\tests\requetePreparee.php on line 14

) Notice: Undefined index: prix_max in C:\wamp\www\tests\requetePreparee.php on line 14


J'ai relu 20 fois je ne vois pas où j'ai fauté..


EDIT : Ajout des balises de code

1 réponse

jordane45 Messages postés 38366 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 janvier 2025 4 720
Modifié par jordane45 le 23/02/2015 à 01:44
Bonjour,

Le message indique que l'index "possesseur" de la variable GET
n'existe pas....
Vérifies que tu l'as bien orthographié dans ton URL .....

Et de préférence, lorsque tu récupères des variables POST ou GET ... utilises ISSET pour t'assurer qu'elles existent;

Par exemple dans ton cas :
<?php
// Connexion à la BDD 
//( à placer dans un fichier à part.. et juste à inclure lorsque besoin....)
try  {
  $bdd=new PDO ('mysql:host=localhost;dbname=test','root','');
}catch (Exception $e)  {
  die ('Erreur :'.$e->getMessage());
}
// Récupération des variables
$possesseur = isset($_GET['possesseur'])?$_GET['possesseur'] :NULL;
$prixMax = isset($_GET['prix_max'])?$_GET['prix_max']:NULL;

//préparation de la requête
$params = array($possesseur, $prixMax);
$sql = "SELECT nom,prix from jeux_video 
          WHERE possesseur = ? AND prix <= ? 
          ORDER BY prix";
$all=$bdd->prepare($sql);

//Execution de la requête
 $all->execute($params);
 
// Traitement des résultats
 echo'<ul>';
  while ($donnee=$all->fetch())  {
  echo '<li>'.$donnee['nom']. '('.$donnee['prix'].'EUR)</li>';
  }
 echo'</ul>';
$all->closeCursor();

?>







Cordialement,
Jordane
0