Ben ouais, ta variable super globale $_get qui récupère les valeurs transmises en mode "get" par ta page coté front ne contient pas la cellule nommée "possesseur" ni celle nommée "prix_max"
Il va falloir revoir coté front comment sont fournies les valeurs à ce bout de code php
Pour t'en assurrer dans ton php tu peux ecrire ceci à partir de la ligne 10 :
if (!isset($_GET['possesseur'])){
echo "y a pô possesseur";
exit();
}
if (!isset($_GET('prix_max'])){
echo "y a pô prix_max";
exit();
}
J'échange des connaissances. Si je les donnais, je n'en aurais plus
Il est comme tout le monde ici. L'accès à la science et à la culture du développement est à la portée de tous. Et tous le monde trouve cela bien les tuto, mooc et autre podcast sur des techno en info que ce soit sur le dev ou autre chose Sauf qu'avec tout cela la plupart oublie que ce n'est pas un jouet et on ne fait pas mumuse.
Derièrre il y a un vrai métier une profession, avec des professionnels qui cherche à bouffer.
Alors ici le message qui faut faire passer c'est de ne pas chercher à s'enteter dans une discipline à la mode mais pour laquelle visiblement on n'est pas fait. Et .... ne pas faire comme tout le monde c'est déjà se démarquer. Ce démarquer c'est se faire remarquer.
@+
- Edité par Mon nom est God ; phil God 17 novembre 2017 à 10:19:49
J'échange des connaissances. Si je les donnais, je n'en aurais plus
Hola, mais nous sommes partis dans des considérations philosophiques limite de la métaphasique je vois ce matin...
Moi je ne cherche qu'à avancer chers Monsieurs ou Mesdames.
Je ne vais pas faire profession du codage PHP, il se trouve que j'ai un projet depuis de nombreuses années et qu'il est plus judicieux pour moi de développer moi-même afin de le faire à mon souhait et d'avoir une parfaite autonomie quand à sa conception.
Je ne rentre donc pas dans un cadre ou dans un autre, je poursuis un chemin voilà tout.
Pour répondre à quenti77, oui je comprends le code que je lis mais à chaque nouvelle leçon, quelque chose échappe forcément, car c'est nouveau voilà tout et tout n'est pas encore intégré. J'y travaille soyez-en certains.
Donc, si quelqu'un peut me dire pourquoi ce code copier en totalité sur le cours ne fonctionne pas, ce serait bien aimable à lui.
Sur ce, je vous souhaite une agréable journée, Messieurs Dames,
Ok, donc pour expliquer en fait le code du cours est fonctionnel mais dépends d'une chose qui vient de l'extérieur. Il s'agit de la super variable $_GET. Cette variable est généré par rapport à l'url demandé.
Le code du cours est donc bon mais il est pas complet et pour le rendre complet il faut faire des test via la fonction isset (ou empty selon les cas). @Mon nom est God ; phil God la indiqué plus haut dans son code.
Voici le code du cours avec l'ajout de la condition :
<?php
try {
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
// Ajout de la gestion d'erreur.
// Si tu te trompe dans ta requête ta page plantera au bonne endroit
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
// PDOException plutôt que Exception car plus précis
echo 'Erreur : '.$e->getMessage();
// Utilisation de exit() car die() n'est
// au final qu'un alias de exit()
exit();
}
$possesseur = null;
if (isset($_GET['possesseur'])) {
$possesseur = $_GET['possesseur'];
}
$prix = null;
if (isset($_GET['prix'])) {
$prix = $_GET['prix'];
}
// Tu peux mettre sur plusieurs ligne ta requête SQL
$reqSelect = $bdd->prepare('SELECT nom, prix FROM jeux_video
WHERE possesseur = :poss AND prix <= :prix ORDER BY prix');
// J'ai mis aussi des marqueurs nominatif car je trouve sa plus lisible
// Nouvelle syntaxe des tableaux depuis php 5.4 (il y a 4 ans ^^)
// array() devient []
$reqSelect->execute([
':poss' => $possesseur,
':prix' => $prix
]);
// C'est mis comme ça dans le cours donc je le garde mais j'évite
// de faire des echo du html quand je peux
echo '<ul>';
while ($jeu = $reqSelect->fetch()) {
echo '<li>' . $jeu['nom'] . ' (' . $jeu['prix'] . ' EUR)</li>';
}
echo '</ul>';
$req->closeCursor();
// pas besoin du ? > de fin si tu n'a pas de code html après
Voilà avec des commentaires pour mieux comprendres certains points.
Dsl d'avoir été aussi dur mais j'ai tellement eu de personne qui copie collait les codes sans vouloir comprendre que ça devient vite énervant.
Quenti77, je te remercie de cette longue explication que je vais prendre le temps de lire et de décomposer car elle le mérite bien, il se trouve qu'entre temps j'ai trouvé la solution, je ne l'ai aps trovuée toute seule mais elle était simple puisqu'il était question d'intervenir dans l'URL en injectant les données manquantes.
J'ai donc introduit possesseur=Patrick&prix_max=15 et ça a fonctionné !!!
A présent je vais lire ta réponse.
Et je reviens pour commenter
EDIT
Je vois que tu m'avais donné la réponse. Donc je m'en serai sortie aussi avec toi merci.
EDIT
Je pense avoir compris mais je dois décortiquer le cours plus en profondeur et ton code aussi.
En fait, pour tenter de le comprendre, j'ai essayer de le faire fonctionner et à priori tout est ok sauf que cette fois-ci il bloque à la ligne 48 : $req->closeCursor();
Bon, ça va là c'était simple : $reqSelect->closeCursor();
Il va vraiment falloir que j'approfondisse car ça reste encore un peu du charabia pour moi.
En tous cas un grand merci aussi pour cette explication fouillée.
----------------
EDIT
Alors là, super !!! J'ai essayer de modier l'URL de ce post
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL