Bonjour a tous

J'ai un soucis dans un formulaire de mise a jour.

Le coté "bizarre" de la chose, c'est que j'ai utilisé un de mes formulaires actuels (une commande INSERT) qui marchait très bien.
Et ma requete UPDATE marche très bien sous phpmyadmin ...

Les codes :

** le formulaire **

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form method="POST" action="FormSiteInjecteur.php">
 
<table BORDER=0>
 
<tr><td valign=top><span class=text>votre code de mise a jour</td><td valign=top><span class=text><input TYPE=text NAME=CodeMaj SIZE=40 MAXLENGTH=18></td></tr>
 
<tr><td valign=top><span class=text>nom : </td><td valign=top><span class=text><input TYPE=text NAME=nom SIZE=40 MAXLENGTH=40></td></tr>
 
<tr><td valign=top colspan=2><input TYPE=submit VALUE="envoyer">
 
</td></tr>
 
</table>
 
</form>

** le code injectant en base **

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
 
<?php
 
$CodeMaj0 = $_POST['CodeMaj'];
 
$CodeMaj0 = secureTxt($CodeMaj0);
 
$nom0 = $_POST['nom'];
 
$nom0 = secureTxt($nom0);
 
 
$liendb = mysql_connect("serveur","user","pwd");
 
mysql_select_db ("base");
 
$sql = "UPDATE table SET nom='$nom0' , DateMAJ=NOW() WHERE (CodeMaj='$CodeMaj') )";
 
mysql_query ($sql);
 
echo $liendb;
echo "<br>" ;
 
echo $sql;
 
mysql_close ($liendb);
// header("Location: OK.php");
 
?>
 
 
<?
 
function secureTxt($item) {
 
   // Ce script va effacer les balises HTML, les javascript
 
   // et les espaces. Il remplace aussi quelques  entit&eacute;s HTML
 
   // courante en leur &eacute;quivalent texte.
 
$search = array ("'<script[?>]*?>.*?</script>'si", // Supprime le javascript
 
                   "'<[\/\!]*?[^<?>]*?>'si",         // Supprime les balises HTML
 
                   "'&(quot|#34);'i",                // Supprime les entites HTML
 
                   "'&(amp|#38);'i",
 
                   "'&(lt|#60);'i",
 
                   "'&(gt|#62);'i",
 
                   "'&(nbsp|#160);'i",
 
                   "'&(iexcl|#161);'i",
 
                   "'&(cent|#162);'i",
 
                   "'&(pound|#163);'i",
 
                   "'&(copy|#169);'i",
 
                   "'&#(\d+);'e");                                              // Evaluation comme PHP
 
 
 
$replace = array("",
 
                   "",
 
                   "\"",
 
                   "&",
 
                   " ",
 
                   " ",
 
                   " ",
 
                   chr(161),
 
                   chr(162),
 
                   chr(163),
 
                   chr(169),
 
                   "chr(\\1)");
 
$ret = preg_replace ($search, $replace, $item);
 
return $ret;
 
} // end function secureTxt
 
?>
Je ne trouve pas ce qui ne marche pas...
Merci de votre aide.