pourquoi ça marche chez free et pas chez moi ?

pourquoi ça marche chez free et pas chez moi ? - PHP - Programmation

Marsh Posté le 14-03-2010 à 14:20:36    

Bonjour
 
Je débute en php et j'ai une question sans doute bête, mais je coince.  
 
La fenetre d'alerte suivante ne s'affiche pas chez moi , mais le même code fonctionne chez free...(à noter que le DELETE fonctionne correctement sur les 2 plateformes). Bizarre, j'y comprends plus rien. D'où vient mon erreur ?  
 
<?php  
 
 echo  '<script type="text/javascript">
            alert("Bonjour toto" )
   </script>';
 
 
 if (!empty($_GET['cle']))  
 {
  include("include/connection.php" );
   
  $Requete = ('DELETE FROM table_test where cle ='.$_GET['cle']) or die(print_r($bdd->errorInfo()));
  $Resultat = mysql_query($Requete) or die("L'instruction SQL a échoué. ".$Requete);
       
  header('Location: page1.php'); // redirection vers la liste
 }
  else
 {
  echo 'impossible de deleter cet enregistrement !';
 }
       
   
?>
 
 
Merci d'avance de vos lumières. Dominique

Reply

Marsh Posté le 14-03-2010 à 14:20:36   

Reply

Marsh Posté le 17-03-2010 à 12:18:57    

Hum, cette requête SQL est dangereuse : si on ingecte d'autres valeurs dans $_GET['cle'] on peut carrément te vider ta table ... Je ne sais pas si t'en es conscient !
recherche "injection sql" tu comprendras vite.
 
pour l'alerte : quelle est l'erreur retournée ? Mets-tu bien la bonne page à jour ?
 
Car c'est du javascript, celui-ci dépend du navigateur (IE, firefox, chrome) plutôt que du serveur. Javascript n'est pas exécuté sur le serveur.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 17-03-2010 à 19:05:46    

Houlà, je viens de comprendre la dangerosité du script. J'ai compris ce qu'il fallait faire par rapport à l'injection sql. Merci d'avoir prévenu. J'aurai au moins appris un truc ce soir.  
 
Pour la message box, j'ai compris ce qui coinçait : y'avait du code php en amont qui embrouillait tout. Maintenant ça fonctionne.  
 
Merci encore du conseil.  
 
dominique

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed