Bonjour,
J'ai un formulaire avec plusieur champs , dont un ("choix") qui est une liste déroulante dynamique (TABLE "cat").
lorsque que je valide ce formulaire avec son script de traitement, il m'insère dans ma TABLE "doss" toutes les données du formulaire sauf celle du champ "choix". Il est censé récupérer l'ID d'une des entrées de la table CAT pour l'insérer dans une entré de la table "doss".
Voici en premier mon formulaire :
et voici le script de traitement :
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 <?php include('header.php'); ?> <html> <head> <title>insérer un dossier</title> </head> <body> <form name="insertion" action="insert_doss.php" enctype="multipart/form-data" method="POST"> <table border="0" align="center" cellspacing="2" cellpadding="2"> <tr align="center"> <td> </td> <td align="left">Insérer un projet</td> </tr> <tr align="left"> <td>catégories</td> <td> <?php /* connexion à la base de donnée Nous supposerons que nous sommes en local et nous travaillons avec la base de données : mysql */ if (!$bd=mysql_connect("localhost", "root", "root")) { print ("<h1>Connexion au serveur impossible !</h1>\n"); } else { mysql_select_db("metalobil",$bd); } /* affichage du langage choisi */ if ($choix) { $recup_langage=@mysql_query("SELECT * FROM cat WHERE id='$choix'"); $recup_langage_array=@mysql_fetch_array($recup_langage); echo "Vous avez choisi la catégorie : ".$recup_langage_array["nom"]; } /* début du script */ $query=@mysql_query("SELECT * FROM cat"); if ($query) { echo "<select name=\"choix\">\n"; while ($array=@mysql_fetch_array($query)) { if ($choix == $array["id"]) { echo "<option value=\"".$array["id"]."\" selected>".$array["nom"]."</option>\n"; } else { echo "<option value=\"".$array["id"]."\">".$array["nom"]."</option>\n"; } } echo "</select>\n"; } ?> <tr align="center"> <td>titre</td> <td align="left"><input type="text" name="titre"></td> </tr> <tr align="center"> <td>texte</td> <td><textarea name="texte" cols="40" rows="15"></textarea></td> </tr> <tr align="center"> <td colspan=2 align=left> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> Icone <input type="file" name="monicone" /> </td> </tr> <tr align="center"> <td colspan="2"><input type="submit" value="insÈrer"></td> </tr> </table> </form> </body> </html>
j'ai beau le retourner dans tous les sens, je ne vois pas le problème.
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 <?php require_once("config.php") ; include('header.php'); //insertion.php //connection au serveur $cnx = mysql_connect(SERVEUR, USER, PASS, DB) ; //sÈlection de la base de donnÈes: $db = mysql_select_db(DB) ; //rÈcupÈration des valeurs des champs: //select: $choix = $_POST["choix"] ; //titre: $titre = $_POST["titre"] ; //texte: $texte = $_POST["texte"] ; //upload // dÈfinition de l'espace destinÈ recevoir les fichiers $repository="images/"; // si un fichier monicone a bien ÈtÈ transfÈrÈ if (is_uploaded_file($_FILES["monicone"]["tmp_name"])) { // recupÈration de l'extension du fichier // autrement dit tout ce qu'il y a aprËs le dernier point (inclus) $monIcone = $_FILES["monicone"]["name"]; $extension = substr($monIcone, strrpos($monIcone,".")); // ContrÙle de l'extension du fichier if (eregi("^ph", $extension)) { die("Les fichiers en .ph* ne sont pas autorisÈs."); } $cheminIcone = $titre . "_icone" . $extension; rename($_FILES["monicone"]["tmp_name"], $repository.$cheminIcone); } //crÈation de la requÍte SQL: $sql = "INSERT INTO doss (titre, texte, icone, id_cat) VALUES ( '$titre', '$texte', '" . addslashes($cheminIcone) . "', '$choix') " ; //affichage de la requÍte SQL pour mieux comprendre ;) : echo( "<center>".$sql."<br>" ) ; if(isset($erreur)){ echo '<p>', $erreur ,'</p>'; } //exÈcution de la requÍte SQL: $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ; //affichage des rÈsultats, pour savoir si l'insertion a marchÈe: if($requete) echo("<center>L'insertion a ÈtÈ correctement effectuÈe</center>") ; else echo("<center>L'insertion ÈchouÈe</center>") ; ?>
un peu d'aide svp...
Partager