Bonjour à tous,
j'ai un soucis avec mon formulaire. Je souhaite ajouter le lien d'une photo dans ma base de données mais aussi l'année de la photo.
Pour ça j'ai deux pages, mon index et une page transfert.
Le soucis c'est que je n'arrive pas a récupérer la valeur de l'année j'ai un message d'erreur "Notice: Undefined index: annee in ***********************on line 38
Voici le code de l'index
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
99
100
101
102 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Photos</title> </head> <body> <?php // code bannière haut de page $title = 'Les photos'; include ($_SERVER["DOCUMENT_ROOT"].'/inc/banniere.php'); // code menu gauche include ($_SERVER["DOCUMENT_ROOT"].'/inc/menu.php'); $title = "Les promotions"; // Page faisant appel aux sessions // Vérification de l'autorisation session_start(); // Vérification de l'autorisation if (!isset($_SESSION['login'])) { // Si l'utilisateur n'est pas autorisé il est reconduit // sur le formulaire d'identification include ($_SERVER["DOCUMENT_ROOT"].'/connexion/index.php'); include ($_SERVER["DOCUMENT_ROOT"].'/pasconnect.php'); // header("Location: ../pasconnect.php"); die(); } include ($_SERVER["DOCUMENT_ROOT"] . '/connexion/menugauche.php'); ?> <div id="corps"> <h1><?php echo $title ?></h1> <h2>Les photos</h2> <?php // on se connecte à la base include ($_SERVER["DOCUMENT_ROOT"].'/inc/connect.php'); // requête de selection de toutes les actualités $requete= "SELECT annee, id FROM photo group by annee"; //on evnvoie la requete a php pour ca on utilise mysql query qui prend en paramètre la requete a exécuter $resultat = mysql_query($requete) or die ('ERREUR'.mysql_error()); while ($tableau = mysql_fetch_assoc($resultat)){ // Récupération des valeurs dans la table $annee = $tableau['annee']; $id = $tableau['id']; // affichage des promotions echo '<ul><li><a href="photo.php?num='.$annee.'">Promotion '.$annee.' </a></li><br /></ul>'; } ?> </div> <div id="corps"> <h2> Ajouter une photo</h2> <?php $requete= "SELECT annee FROM promotion group by annee"; //on evnvoie la requete a php pour ca on utilise mysql query qui prend en paramètre la requete a exécuter $resultat = mysql_query($requete) or die ('ERREUR'.mysql_error()); echo '<form name="formulaire_envoi_fichierpdf" enctype="multipart/form-data" method="post" action="transfertphoto.php"> <p><font face="Verdana"> <input type="file" name="fichier_choisi" size="20"><br> <br> Année de la promotion : <select name="promotion">'; while ($tableau = mysql_fetch_assoc($resultat)){ $annee = $tableau['annee']; echo '<option value ='.$annee.' selected>'.$annee.'</option>'; } echo'</optgroup> </select> <input type="submit" name="bouton_submit" value="Envoyer"> </font></p> </form>'; ?> </div> <?php // code bas de page include ($_SERVER["DOCUMENT_ROOT"].'/inc/bas.php'); ?> </body> </html>
Et voici ma page de transfert
Merci d'avance pour votre aide
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 <?php session_start(); if (!isset($_SESSION['login'])) { // Si l'utilisateur n'est pas autorisé il est reconduit // sur le formulaire d'identification header("Location: ../pasconnect.php"); die(); } include ($_SERVER["DOCUMENT_ROOT"].'/inc/connect.php'); //------ // Upload du fichier //------ $tailleMax =2000000; //on vérifies que le champ est bien rempli: if(!empty($_FILES["fichier_choisi"]["name"])){ //nom du fichier choisi: $nomFichier = $_FILES["fichier_choisi"]["name"] ; //nom temporaire sur le serveur: $nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ; //type du fichier choisi: $typeFichier = $_FILES["fichier_choisi"]["type"] ; //poids en octets du fichier choisi: $poidsFichier = $_FILES["fichier_choisi"]["size"] ; //code de l'erreur si jamais il y en a une: $codeErreur = $_FILES["fichier_choisi"]["error"] ; // Récupération du login pour l'insertion dans la table $login = $_SESSION['login']; $annee=$_POST['annee']; //chemin qui mène au dossier qui va contenir les fichiers upload: $chemin = "C:\Program Files (x86)\EasyPHP-5.3.6.0\www\img\\"; // !!!A CHANGER!!! if ($tailleMax > $poidsFichier) { if(copy($nomTemporaire, $chemin.$nomFichier)){ //il upload //------ // Ajout dans la DB !!! //------ @MYSQL_CONNECT($host,$user,$password); @mysql_select_db($database); $result=@mysql_query( "INSERT INTO Photo UPDATE membres SET img_nom='".$nomFichier."' where login='".$login."'") ; "INSERT INTO photo (img_nom, annee) VALUES ('$nomFichier', '$annee')"; if(!$result){ } echo("<br> Fichier uploadé !<br>") ; echo "<a href=TON_FORMULAIRE.htm>Retour</a>"; } else{ echo("<br> Upload échoué") ; echo "<a href=TON_FORMULAIRE.html>Retour</a>"; } } else{ echo("<br> Le fichier est trop gros, il ne peut pas dépasser 2Mo<br>") ; echo "<a href=TON_FORMULAIRE.html>Retour</a>"; } } else{ echo("<br> Il faut choisir un fichier !<br>") ; echo "<a href=TON_FORMULAIRE.html>Retour</a>"; } ?>
Partager