Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
863 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP/sql

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP/sql

n°1523236
Juckn0
Posté le 03-03-2007 à 14:33:20  profilanswer
 

Bonjour ,  
 
j'ai un petit probleme avec ce code que j'ai fait :  
 
 
 
<?PHP
$idsql = $_GET['id'];
$db = mysql_connect('sql.free.fr', 'user', 'pass');  
mysql_select_db('user',$db);  
 
$sql = 'SELECT * FROM livres WHERE id='$idsql'' ;  
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());  
 
while($data = mysql_fetch_array($req))  
{  
echo $data['id'];
echo $data['titre'];
echo $data['auteur'];  
echo $data['url_off'];  
echo $data['url_fr'];
echo $data['resume'];
echo $data['url_fiche'];
}  
mysql_close();
?>

 
en faite j'aimerai que la page fasse une requete sur la table livres et récupéré tout les caractéristique du livre , chaque livre est identifié par un id et dans une page lien.php il y a le lien vers une page(tab.php)qui contient la source ci dessous et des qu'on clique sur le lien d'un livre par ex : tab.php?id=512 je voudrai que la requete sql récupere la valeur id=512 pour pouvoir récupéré toutes les caracteristique du livre ayant l'id 512. ici j'ai essayé de récuperer par $_GET['id'] mais je n'y arrive pas.  
 
aidez moi svp merci !!


---------------
-[Juck'n0]-
mood
Publicité
Posté le 03-03-2007 à 14:33:20  profilanswer
 

n°1523247
Juckn0
Posté le 03-03-2007 à 15:17:50  profilanswer
 

j'ai trouvé le probleme il fallait rajouter le point avant la variable et au lieu de prendre une variable $idsql nous pouvons mettre directement $_GET
 
$sql = 'SELECT * FROM livres WHERE id=" .$_GET['id'];
 
a+

n°1523249
sielfried
Posté le 03-03-2007 à 15:41:39  profilanswer
 

Tu peux aussi corriger la faille d'injection SQL au passage... :spamafote:
 
(C'est assez stupéfiant de voir le nombre de personnes qui semblent ne pas en être conscients du tout... [:figti] )


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1523251
Juckn0
Posté le 03-03-2007 à 15:43:19  profilanswer
 

désolé mais je commence le php et je ne vois pas de quelle faille tu parles . merci de m'éclairer

n°1523255
Juckn0
Posté le 03-03-2007 à 16:08:37  profilanswer
 

tu parle d'une injection si quelqu'un insere un autre résultat a id ? au début je vais vérifié si l'id existe et sa sera bon non ?

n°1523261
Juckn0
Posté le 03-03-2007 à 16:43:07  profilanswer
 

ah j'pense que c'est bon j'ai mis htmlentities('$_GET['id'])
mais comme "id" a pour type INT il sera impossible d'y mettre un script quelconque non ?

n°1523267
sielfried
Posté le 03-03-2007 à 17:14:08  profilanswer
 

Cherche "injection sql" sur Google pour comprendre.
 
Et pour sécuriser, renseigne-toi sur mysqli (ou PDO) ou mysql_real_escape_string si mysqli n'est pas dispo.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP/sql

 

Sujets relatifs
[PHP] problème lecture / écriture dans un fichier[PHP] Boucle et $_FILE
[PHP] Supprimer les 5 denrières lignes d'un fichier[PHP] comparaison string vs integer (résolu)
[PHP] Probleme de variable dans une clause WHERE[PHP] passer caractères accentués en majuscule
[PHP objet] p'tit coup de main ![PHP] problème code...
[Grammaire] Lex et Yacc pour Php[PHP] Recupérer les 1er caracteres d'un mot
Plus de sujets relatifs à : PHP/sql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR