Souci de récuperation $_GET - Apprendre-PHP.com

Rechercher
Boutique en ligne, solution e-commerce, script PHP et PERL : RAYNETTE

souci de récuperation $_GET

Par pogue -  1 reponse -  Le 07/01/2008 -  Flux RSS - 

bonjour à tous,

je développe un pitit site en php. sur la page suivante : http://frederic-le-duigou.fr/print.php

je voudrais faire un lien sur les vignettes afin d'obtenir une page avec le travail en gros plan. Sur cette page j'ai donc un lien :

<a href="http://localhost:8888/essai/image.php?idprojet='.$row['idtravail'].'"> afin de recuperer le numero du travail a afficher.

Dans ma seconde page je fais une requete de type :

$select ='SELECT * FROM travaux WHERE idtravail=$_GET[idprojet]';

et là ca m'affiche un lien mort ><"

Le lien marche par ailleurs

merci de vos suggestions pour faire marcher mon bidule ^^

pogue

 

Réponses apportées à cette discussion

Par Emacs -  Le 07/01/2008 - 

Bonjour,

C'est normal que ton lien ne fonctionne pas... Tu as gardé l'url principale de développement sur ton serveur local. Il faut donc que tu fasses ceci :

  1. <a href="image.php?idprojet=<?php echo $row['idtravail']; ?>">Photos du projet</a>

Ensuite ta requête SQL a deux gros problèmes :

  1. Elle n'est pas optimisée. Supprime le joker * et sélectionne uniquement les champs que tu veux récupérer dans ta table.
  2. On ne place jamais une variable en provenance de l'utilisateur directement dans une requête SQL sans la filtrer. Tu as une faille de sécurité grande comme un immeuble de 15 étages. Un pirate peut attaquer ta base de données très facilement en entrant du code malicieux dans l'URL. Ta requête devrait plutôt avoir cette tête là :
  1. <?php
  2. $select = sprintf('SELECT champ1, champ2, champ3 FROM travaux WHERE idtravail=%d', intval($_GET['idprojet']));
  3. ?>

A toi de tester tout ça maintenant :)

++

Hugo. 

 

Ajouter une réponse à la discussion

Seuls les membres loggués sont autorisés à poster dans les forums !