Transmission d'une de la valeur d'une variable par $_GET

franck1456 Messages postés 1 Date d'inscription vendredi 7 avril 2017 Statut Membre Dernière intervention 7 avril 2017 - Modifié le 7 avril 2017 à 21:11
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 8 avril 2017 à 14:23
Bonjour, je suis nouveau sur le forum

Depuis hier je suis confronté à un problème dans mon code php.

En fait j'ai une page index qui affiche plusieurs membres inscrits

sur mon site. Sur la page index.php est affichées seulement quelques information du membre. Une autre page (afficherprofil.php) permettra d'afficher le reste des information du membre.

Alors j'ai fais juste une illustration pour tester si le code du membre s'affiche mais ça ne fonctionne pas et je ne comprend pas où se trouve l'erreur. Voici le code commenté.
<?php

//Voici la ligne qui est dans le fichier index.php

.'<td><?php

//Voici la ligne qui est le fichier index

.'<td><a href="afficherprofil.php?search='.$data['codemembre'].'" rel="nofollow noopener noreferrer" target="_blank">Voir Plus</a></td>'


//Voici la ligne qui est le fichier afprofil

//connexion à la bd
include('connexiondb.php');

//tansmission de la variable par l'url
$codemembre=$_GET['search'];

//requete sql pour recupérer toutes les valeurs à afficher

$requete = $bdd -> query('SELECT * FROM membre WHERE codemembre="$codemembre"');
$data = $requete -> fetch();


$code_final= $data['codemembre'];

echo $code_final;
?>


Merci de bien vouloir m'aider.

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
8 avril 2017 à 14:23
Bonjour,

Déjà ... récupère "PROPREMENT" les variables GET (idem pour POST / SESSION / COOKIE ....)
via l'écrite ternaire (qui remplace un IF ) et la vérification !empty
comme ceci :
$codemembre = !empty($_GET['search']) ? $_GET['search'] : NULL;


Ensuite, vu que tu utilises PDO, active la gestion des erreurs :
http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

Puis, pour tes requêtes, place les dans des blocs TRY/CATCH
$sql = " SELECT * FROM membre WHERE codemembre='$codemembre'";
try{
  $requete = $bdd->query($sql);
  $data = $requete->fetch();
}catch{Exception $e){
  echo "Erreur : ". $e->getMessage');
}



NB : attention à l'utilisation des simples quotes et doubles quotes ...
ceci :

//ici la variable $codemembre est interpreté
"SELECT * FROM membre WHERE codemembre='$codemembre'"


N'est pas la même chose que :
//ici la variable $codemembre N'est pas interpreté
'SELECT * FROM membre WHERE codemembre="codemembre"'



0
Rejoignez-nous