Puis surtout tu peux revoir ta copie :
<? : pas portable, utilise <?php
mysql_connect("$hote", "$compte", "$mot_de_passe"); // on se connecte
débile. $hote, $compte, $mot_de_passe seront évaluées comme des chaînes au besoin, donc :
mysql_connect($hote, … );
“$xxx” c’est franchement débile de chez débile (aujourd’hui je me défoule ! c’est la fête de la (mauvaise) musique!)
Pour info :
le parser lit ", rentre dans le mot chaîne de caractères avec variable, lit $, lit le nom de la variable (bref tout ce qui n’est pas caractères blancs pour simplifier), remplace la variable par la chaîne, et sort du mode $variable. (sachant que ça passe par un tas de règles grammaticales, encore qu’il me semble que ce soit fait à coup de lexer, faudrait que je re-regarde)
tandis que lorsque tu laisse $xxx : le parser a juste lu une variable, et il la passe à la fonction sans autres traîtements…
if (isset($_POST[‘pseudo’], $_POST[‘message’]) AND $_POST[‘pseudo’] != ‘’)
en général, c’est and, et ensuite c’est peu conseillé puisque and a une priorité plus faible que son cousin C &&.
$pseudo = htmlentities($_POST[‘pseudo’], ENT_QUOTES);
C’est bien d’utiliser les variables POST, c’est encore mieux quand on s’est assuré qu’elles ne contiennent pas de slashes liées au magic quote gpc (une saloperie de chez saloperie, heureusement désactivée comme register_globals).
cf. [stripslashes()[/url], & magic quotes & [url=http://www.php.net/get_magic_quotes_gpc]get_magic_quotes_gpc()](http://fr.php.net/manual/fr/function.stripslashes.php)
mysql_query(“INSERT INTO livredor VALUES(’’, '” . $pseudo . “’, '” . $message . “’, '” . $mail . “’, '” . $url . “’, '” . $note . “’)”);
Et si t’as pas de chance, la directive magic_quote_gpc est désactivée, et faire
’ fait planter la requête
et faire
$note =<<<SQL
’ ); DELETE FROM livredor –
SQL;
Et zou, tu détruis toutes les données de la table ou plus fin tiens :
$note =<<<SQL
’ ); SET password FOR user = PASSWORD(‘password’); –
SQL;
Et pouf t’as accès unique à la bdd
bref: mysql_real_escape_strings().
Au passage, ça sert à rien de faire du xhtml (<br />), si c’est pour conserver les mauvaises habitudes du html, comme le target sur les liens, et les tableaux pour la présentaton de contenu.
Aujourd’hui, je suis méchant.
(ne le prend pas mal, mais tu semblais si content de proposer ton script que j’ai jugé bon de t’informer des problèmes de celui-ci)