Ma requête php s'affiche lors du résultat help!


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Ma requête php s'affiche lors du résultat help!

Message le Mer Sep 06, 2006 15:44

bonjour voici mon code :

Code: Tout sélectionner
$id  = $_GET ["serie"] ;
  $mat = $_GET ["materiel"];
 
  $sql = "DELETE
          FROM materiel
       WHERE serie='$id'";
  echo $sql ;      
    $requete = mysql_query($sql, $cnx)  ;
 
 
  if($requete)
  {
    echo"<font color='white'><B>$mat supprimé(e)</font>";
  } 
  else
  {
    echo("<font color='white'><B>La suppression à échouée</font>") ;
  }
  include ('ajoutmateriel.php');
?>



lors de l'affichage du résultat j'obtiens ceci :

Code: Tout sélectionner
DELETE FROM materiel WHERE serie='P405857462'MSI supprimé(e)


Je ne souhaite afficher que MSI supprimé(e)

merci de m'éclairer


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Mer Sep 06, 2006 15:46

echo $sql ; <= traduction : affiche moi la requete :)


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mer Sep 06, 2006 15:47

salut

tu as un echo $sql qui traîne juste avant $requete = mysql_query()


-- EDIT --
Oups, grillé par un cyber kiwi.. c'est alimentation-connection ! :D
Dernière édition par biscuit le Mer Sep 06, 2006 15:49, édité 2 fois.


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Message le Mer Sep 06, 2006 15:48

autant pour moi j'ai oublié de l'enlever merci beaucoup pour le coup de pouce


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Mer Sep 06, 2006 15:49

>> autant pour moi
au temps pour moi
:)

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Message le Mer Sep 06, 2006 16:16

e-kiwi a écrit:>> autant pour moi
au temps pour moi
:)


un grand classique cette remarque maisles deux formulations sont permises :wink:


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Mer Sep 06, 2006 16:28



ltressens
WRInaute impliqué
WRInaute impliqué
 
Messages: 551
Inscription: 2 Avr 2004

Message le Mer Sep 06, 2006 16:54

Je rebondi sur cet exemple :

Code: Tout sélectionner
$id  = $_GET ["serie"] ;
$sql = "DELETE FROM materiel WHERE serie='$id'";

pour parler un peu de blindage de vos scripts (pas seulement toi webac).

Si l'utilisateur appelle la page en donnant a serie la valeur :
Code: Tout sélectionner
toto' OR '1'='1


Voici la requete que vous exécuterez :
Code: Tout sélectionner
DELETE FROM materiel WHERE serie='toto' OR '1'='1'

Donc il flinguera toute votre base.

Cela s'appelle de l'injection SQL.

Evidemment cela sert a flinguer une base, se logguer sans connaitre les passwords, etc...

Donc conseils :
utiliser mysql_escape_string() ou mysql_real_escape_string() sur les variables récupérées de $_GET ou $_POST (pensez a enlever les slashes aussi avec stripslashes()) :
Code: Tout sélectionner
$id = mysql_escape_string(stripslashes($_GET['serie']));


Il y a des centaines d'autres conseils a respecter, google est votre ami : http://www.google.fr/search?sourceid=na ... on+sql+php


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités