pourquoi ça marche chez free et pas chez moi ? - PHP - Programmation
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.
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
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