Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2010, 11h43   #1
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 287
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 287
Points : 67
Points : 67
Par défaut Problème d'upload dans un fichier

Bonjour,

J'ai récupérer un script de redimension d'image et d'upload tiré de ce tutoriel : http://j-reaux.developpez.com/tutori...sionner-image/ afin d'adapter à mon projet j'ai créé une table supplémentaire afin de classer chaque photo par rubrique
Voici la structure de mes tables
1) Nes tables :Matable (J'ai ajouté un champs supplementaire) et rubrique
Code :
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
 
--
-- Structure de la table `matable`
--
 
CREATE TABLE IF NOT EXISTS `matable` (
  `NUM` int(11) NOT NULL AUTO_INCREMENT,
  `COMMENT1` varchar(255) DEFAULT NULL,
  `PHOTO1` varchar(255) DEFAULT NULL,
  `PICTO1` varchar(255) DEFAULT NULL,
  `Rub_ID` varchar(6) NOT NULL,
  PRIMARY KEY (`NUM`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
 
--
-- Structure de la table `rubrique`
--
 
CREATE TABLE IF NOT EXISTS `rubrique` (
  `Rub_ID` smallint(6) NOT NULL AUTO_INCREMENT,
  `Rub_Name` varchar(80) NOT NULL,
  `Rub_Desc` tinytext,
  `Rub_Date` date DEFAULT NULL,
  `Rub_Time` time DEFAULT NULL,
  PRIMARY KEY (`Rub_ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Les deux scripts que j'utilise pour l'upload le formulaire d'upload et le script de traitement
Le problème me semble venir du script de traitement (ca fonctionne mais les photo n'attérissent pas dans le bon dossier)

Script : monfichier-form.php
Code :
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
 
<?php
// connexion a la base de donnees
   include("../fonction/connexion.php");
// -----------------------------------------------------------------------------------------------------
 
 //*****************************************************************************************************
// Récupération des rubrique de ma table rubrique 
// requete de toutes les RUBRIQUES
	$query_rub = "SELECT Rub_ID, Rub_Name FROM rubrique ORDER BY Rub_Name DESC";
	$result_rub = mysql_query($query_rub)  or die('Erreur SQL ! '.$query_rub.'<br/>'.mysql_error());
//*******************************************************************************************************
$Rub_Name="";
  // Répertoire des photos et pictos (déprotégé)
   $chemincourt = "../repimages/".$Rub_Name."/";
// -----------------------------------------------------------------------------------------------------
// recuperation du nom de la TABLE
   $table=$_GET['CAT'];
// recuperation du mode de traitement (AJOUTER - MODIFIER - SUPPRIMER)
   $TRAITER=$_GET['TRAITER'];
// -----------------------------------------------------------------------------------------------------
   if ($TRAITER == 'MODIFIER' || $TRAITER == 'SUPPRIMER') {
      //on recupere aussi le numero de la fiche
      $NUM=$_GET['NUM'];
      // on recupere les donnees la fiche numero NUM
      $query = 'SELECT * FROM '.$table.' WHERE NUM = '. $NUM; 
      $result = mysql_query($query)  or die('Erreur SQL ! '.$query.'<br/>'.mysql_error());
      $val = mysql_fetch_array($result);
   }
// -----------------------------------------------------------------------------------------------------
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
    <meta http-equiv="content-type" content="text/html; charset= UTF-8" />
    <title>MONFICHIER-FORM.php</title>
</head>
<body><center>
<?php
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'AJOUTER') {
?>   
<div>
   <form name="AJOUTER" method="post" enctype="multipart/form-data" action="MONFICHIER-TRAITER.php">
   <input type="hidden" name="CAT" value="<?php echo $table; ?>">
   <input type="hidden" name="TRAITER" value="<?php echo $TRAITER; ?>">
   AJOUTER<br/>
    <?php
// formulaire de selection
echo '<select name="frm_select_rubrique">';
$Selected = 0;
while ($row = mysql_fetch_array($result_rub)){
	if($Selected == 0){
		echo '<option value="'.$row['Rub_ID'].'" selected="selected">'.$row['Rub_Name'].'</option>';
		$Selected = 1;
	} else {
		echo '<option value="'.$row['Rub_ID'].'">'.$row['Rub_Name'].'</option>';
	}
}
echo '</select>';
echo '<input type="submit" value="Go"/>';
echo'<br/>';
?>
   Légende :<input type="text" name="COMMENT1" size="50"><br/>
   PHOTO :<input type="FILE" name="PHOTO1" size="50"><br/>
   <a href="#" onclick="history.back()">ANNULER</a>&nbsp;
   <input type="submit" value="CONFIRMER" name="CONFIRMER">&nbsp;
   <input type="reset" value="Rétablir" name="B2">
</form>
</div>
<?php
} // fin if AJOUTER
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'MODIFIER') {
?>
<div>
<form name="MODIFIER" method="post" enctype="multipart/form-data" action="MONFICHIER-TRAITER.php">
   <input type="hidden" name="CAT" value="<?php echo $table; ?>" />
   <input type="hidden" name="TRAITER" value="<?php echo $TRAITER; ?>" />
   <input type="hidden" name="NUM" value="<?php echo $NUM; ?>" />
   <input type="hidden" name="PHOTO1avant" value="<?php echo $val['PHOTO1']; ?>" />
   <input type="hidden" name="PICTO1avant" value="<?php echo $val['PICTO1']; ?>" />
   MODIFIER<br/>
    <?php
// formulaire de selection
echo '<select name="frm_select_rubrique">';
$Selected = 0;
while ($row = mysql_fetch_array($result_rub)){
	if($Selected == 0){
		echo '<option value="'.$row['Rub_ID'].'" selected="selected">'.$row['Rub_Name'].'</option>';
		$Selected = 1;
	} else {
		echo '<option value="'.$row['Rub_ID'].'">'.$row['Rub_Name'].'</option>';
	}
}
echo '</select>';
echo '<input type="submit" value="Go"/>';
echo'<br/>';
?>
   Légende :<input type="text" name="COMMENT1" size="50" value="<?php echo $val['COMMENT1']; ?>" /><br/>
   <?php if ($val['PHOTO1'] != "") { ?>
       <img alt="" border="0" src="<?php echo $chemincourt.$val['PHOTO1']; ?>" /><br/>
   <?php } ?>
   PHOTO :<input type="file" name="PHOTO1" size="50" /><br/>
   <a href="#" onclick="history.back()">ANNULER</a>&nbsp;
   <input type="submit" value="CONFIRMER" name="CONFIRMER" />&nbsp;
   <input type="reset" value="Rétablir" name="B2" />
</form>
</div>
<?php
} // fin if MODIFIER
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'SUPPRIMER') {
?>
<div>
<form name="SUPPRIMER" method="post" enctype="multipart/form-data" action="MONFICHIER-TRAITER.php">
   <input type="hidden" name="CAT" value="<?php echo $table; ?>" />
   <input type="hidden" name="TRAITER" value="<?php echo $TRAITER; ?>" />
   <input type="hidden" name="NUM" value="<?php echo $NUM; ?>" />
   <input type="hidden" name="PHOTO1avant" value="<?php echo $val['PHOTO1']; ?>" />
   <input type="hidden" name="PICTO1avant" value="<?php echo $val['PICTO1']; ?>" />
   SUPPRIMER ? (ATTENTION : toute suppression est définitive !)<br/>
   <a href="#" onclick="history.back()">ANNULER</a>&nbsp;
   <input type="submit" value="CONFIRMER" name="CONFIRMER" /><br/>
    <?php
// formulaire de selection
echo '<select name="frm_select_rubrique">';
$Selected = 0;
while ($row = mysql_fetch_array($result_rub)){
	if($Selected == 0){
		echo '<option value="'.$row['Rub_ID'].'" selected="selected">'.$row['Rub_Name'].'</option>';
		$Selected = 1;
	} else {
		echo '<option value="'.$row['Rub_ID'].'">'.$row['Rub_Name'].'</option>';
	}
}
echo '</select>';
echo '<input type="submit" value="Go"/>';
echo'<br/>';
?>
   <?php echo $val['COMMENT1']; ?>
      <?php if ($val['PHOTO1'] != "") { ?>
      <br/><img alt="" border="0" src="<?php echo $chemincourt.$val['PHOTO1']; ?>">
   <?php } ?>
</form>
</div>
<?php
} // fin if SUPPRIMER
// -----------------------------------------------------------------------------------------------------
?>
</center>
</body></html>
<?php // liberation de la ressource et deconnexion
if (($TRAITER == 'MODIFIER') || ($TRAITER == 'SUPPRIMER')) { mysql_free_result($result); }
 
?>
Script : monfichier-traiter.php
Code :
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
 
<?php
// connexion a la base de donnees
   include("../fonction/connexion.php");
// FONCTIONS de redimensionnement "physique"
   include("../fonction/fctredimimage.php"); // ("proportionnel")
   include("../fonction/fctcropimage.php"); // ("crop centre")
// -----------------------------------------------------------------------------------------------------
// Répertoire des photos et pictos (déprotégé)
   $Rub_ID='';
   $cheminlong = realpath('"../repimages/".$Rub_ID."/"').'\\';
   $chemincourt = "../repimages/".$Rub_ID."/";
// -------------------------------------------------------------
// recuperation du nom de la TABLE
   $table=$_POST['CAT'];
// recuperation du mode de traitement (AJOUTER - MODIFIER - SUPPRIMER)
   $TRAITER=$_POST['TRAITER'];
// -------------------------------------------------------------
// Restrictions sur les fichiers :
   $FileSizeMax = 4000000;
   $ExtfichierOK = '" jpg jpeg png gif"'; // (NB : l espace avant .jpg est important)
// -----------------------------------------------------------------------------------------------------
// GESTION DES ERREURS (upload fichier)
// (ne concerne que les options "AJOUTER" et "MODIFIER")
// -----------------------------------------------------------------------------------------------------
$erreurfile = 0;
// si un fichier N a PAS ete poste
if ($_FILES['PHOTO1']['size']<=0 && $TRAITER == 'AJOUTER') {
     $erreurfile = 1;
     echo 'Erreur ! Pas de fichier IMAGE défini<br/>';
     echo '<a href="#" onclick="history.back()">Retour au formulaire</a>';
}
if ($_FILES['PHOTO1']['size']<=0 && $TRAITER == 'MODIFIER' && $_POST['PHOTO1avant']=='') {
     $erreurfile = 1;
     echo 'Erreur ! Pas de fichier IMAGE défini<br/>';
     echo '<a href="#" onclick="history.back()">Retour au formulaire</a>';
}
// -------------------------------------------------------------
// si un fichier a bien ete poste
if ($_FILES['PHOTO1']['size'] > 0 && ($TRAITER == 'AJOUTER' || $TRAITER == 'MODIFIER')) {
   // on verifie les restrictions sur les fichiers
   // extension
   $tabfile = explode('.',$_FILES['PHOTO1']['name']);
   $extension = $tabfile[sizeof($tabfile)-1]; // dernier element
   $extension = strtolower($extension); // on met en minuscule
   if (strpos($ExtfichierOK,$extension)=='') {
     $erreurfile = 1;
     echo 'Erreur ! Ce n\'est pas un fichier IMAGE (jpg, jpeg, png ou gif)<br/>';
     echo '<a href="#" onclick="history.back()">Retour au formulaire</a>';
   }
   // taille maxi autorisee
   elseif ($_FILES['PHOTO1']['size'] > $FileSizeMax) {
     $erreurfile = 1;
     echo 'Erreur ! Taille de fichier supérieure à la taille maxi autorisée ('.$FileSizeMax.' octets)<br/>';
     echo '<a href="#" onclick="history.back()">Retour au formulaire</a>';
   }
   elseif (UPLOAD_ERR_OK<>0 && UPLOAD_ERR_FORM_SIZE==2) {
     $erreurfile = 1;
     echo 'Erreur ! Taille de fichier trop important ('.$FileSizeMax.' octets)<br/>';
     echo '<a href="#" onclick="history.back()">Retour au formulaire</a>';
   }
}
// -----------------------------------------------------------------------------------------------------
// si PAS d ERREUR : traitement
if ($erreurfile == 0) {
// -----------------------------------------------------------------------------------------------------
// TRAITEMENT du formulaire
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'AJOUTER') {
   // recuperation des elements du formulaire
   $COMMENT = mysql_real_escape_string($_POST['COMMENT1']);
   // -------------------------------------------------------------
   // ENREGISTREMENT du COMMENT dans la BASE DE DONNEES par INSERT
   $listechamps = 'COMMENT1';
   $listerubrique = 'Rub_ID';
   $listevaleurs = '\''.$COMMENT.'\'';
   $queryNEW = 'INSERT INTO '.$table.'('.$listechamps.','.$listerubrique.') VALUES('.$listevaleurs.','.$listerubrique.')';
   $resultNEW = mysql_query($queryNEW)  or die('Erreur SQL ! '.$queryNEW.'<br/>'.mysql_error());
   // -------------------------------------------------------------
   // recuperation du NUM en selectionnant LA DERNIERE fiche cree
   $query = 'SELECT MAX(NUM) AS NUMmax FROM '.$table; 
   $result = mysql_query($query) or die('Erreur SQL ! '.$query.'<br/>'.mysql_error());
   $val_NUMmax = mysql_fetch_array($result);
   $NUM = $val_NUMmax['NUMmax'];
}
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'MODIFIER') {
   // recuperation des elements du formulaire
   $NUM = intval($_POST['NUM']);
   $COMMENT = mysql_real_escape_string($_POST['COMMENT1']);
   $Rub_ID = intval($_POST['Rub_ID']);
   // -------------------------------------------------------------
   // ENREGISTREMENT dans la BASE DE DONNEES par UPDATE
      $SQL = 'UPDATE '.$table.' SET COMMENT1=\''.$COMMENT.'\' WHERE NUM= '.$NUM;
      mysql_query($SQL);
   // -------------------------------------------------------------
   $PHOTO_avant = $_POST['PHOTO1avant'];
   $PICTO_avant = $_POST['PICTO1avant'];
   // par defaut
   $PHOTO = $PHOTO_avant;
   $PICTO = $PICTO_avant;
}
// -----------------------------------------------------------------------------------------------------
// TRAITEMENT des champs FILE (PHOTOS et PICTOS)
// -----------------------------------------------------------------------------------------------------
if (($TRAITER == 'AJOUTER') || ($TRAITER == 'MODIFIER')) {
   if(isset($_FILES['PHOTO1']) && $_FILES['PHOTO1']['size'] > 0)
   {
      // -------------------------------------------------------------
      // upload de la PHOTO sous forme NUM_nomfichier
      // NUM etant la CLE primaire de la fiche, ce qui rend le nom UNIQUE
      $PHOTO = $NUM.'_'.$_FILES['PHOTO1']['name'];
      // -------------------------------------------------------------
      // pour eviter tout probleme par la suite, on remplace jpeg par jpg
      $PHOTO = str_replace('.JPEG','.jpg',$PHOTO);
      $PHOTO = str_replace('.jpeg','.jpg',$PHOTO);
      // autre modification : remplacement des caracteres genants (espaces)
      $PHOTO = str_replace(' ','-',$PHOTO);
      // -------------------------------------------------------------
      // extension
      $tabfile = explode('.',$PHOTO);
      $extension = $tabfile[sizeof($tabfile)-1]; // dernier element
      $extension = strtolower($extension); // on met en minuscule
      // -------------------------------------------------------------
      // enregistrement du fichier image dans le repertoire
      $tempfile = $_FILES['PHOTO1']['tmp_name'];
      move_uploaded_file($tempfile, $chemincourt.$PHOTO);
      // -------------------------------------------------------------
      // REDIMENSIONNEMENT et SAUVEGARDE de la PHOTO (si necessaire)
      // -------------------------------------------------------------
      // on veut : une photo de 600 pixels maxi de large
      // ecraser (remplacer) la photo (meme rep, meme nom)
      $redimPHOTOOK = fctredimimage(600,0,'','',$chemincourt,$PHOTO);
      // $redimPHOTOok =1 si OK
      // -------------------------------------------------------------
      // REDIMENSIONNEMENT et SAUVEGARDE du PICTO
      // -------------------------------------------------------------
      // on veut : un picto toujours carre de 100 x 100 pixels (avec crop)
      // enregistrer en ajoutant 'picto_' devant le nom de la photo
      // dans le meme repertoire que la photo
      $redimPICTOok = fctcropimage(0,0,'','picto_'.$PHOTO,$chemincourt,$PHOTO);
      $redimPICTOok = fctredimimage(100,100,'','',$chemincourt,'picto_'.$PHOTO);
      // $redimPICTOok =1 si OK
      // nom du picto pour la BD
      if ($redimPICTOok == 1) {
         $PICTO = 'picto_'.$PHOTO;
      } else {
         $PICTO = $PHOTO;
      }
      // -------------------------------------------------------------
      // SUPPRESSION des anciennes PHOTOS dans le repertoire
      if ($TRAITER == 'MODIFIER') {
         if ($PHOTO_avant != '' && $PHOTO_avant != $PHOTO && $PHOTO_avant != $PICTO) {
         unlink($cheminlong.$PHOTO1avant); // Suppression de la photo
         }
         if ($PICTO_avant != '' && $PICTO_avant != $PHOTO && $PICTO_avant != $PICTO) {
            unlink($cheminlong.$PICTO_avant); // Suppression du picto
         }
      }
      // -------------------------------------------------------------
   } 
   // ----------------------------------------------------------------
   // enregistrement dans la table par UPDATE
   $SQL = 'UPDATE '.$table.' SET PHOTO1=\''.$PHOTO.'\' WHERE NUM= '.$NUM;
   mysql_query($SQL);
   $SQL = 'UPDATE '.$table.' SET PICTO1=\''.$PICTO.'\' WHERE NUM= '.$NUM;
   mysql_query($SQL);
}
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'SUPPRIMER') {
   // recuperation des elements du formulaire
   $NUM = intval($_POST['NUM']);
   $PHOTO_avant=$_POST['PHOTO1avant'];
   $PICTO_avant=$_POST['PICTO1avant'];
   // -------------------------------------------------------------
   // SUPPRESSION de la fiche numero NUM dans la BD
   $query = 'DELETE FROM '.$table.' WHERE NUM = '.$NUM ;
   $result = mysql_query($query)  or die('Erreur SQL ! '.$query.'<br/>'.mysql_error());
   // -------------------------------------------------------------
   // SUPPRESSION des PHOTOS dans le repertoire
   if ($PHOTO_avant != '') {
      unlink($cheminlong.$PHOTO_avant); // Suppression de la photo
   }
   if ($PICTO_avant != '' && $PICTO_avant != $PHOTO_avant) {
      unlink($cheminlong.$PICTO_avant); // Suppression du picto
   }
}
// -----------------------------------------------------------------------------------------------------
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
    <meta http-equiv="content-type" content="text/html; charset= UTF-8" />
    <title>MONFICHIER-TRAITER.php</title>
</head>
<body><div align="center">
<?php
// -----------------------------------------------------------------------------------------------------
// AFFICHAGE
// -----------------------------------------------------------------------------------------------------
if (($TRAITER == 'AJOUTER') || ($TRAITER == 'MODIFIER')) {
   // -------------------------------------------------------------
   // recuperation des donnees de la nouvelle fiche pour reaffichage
   $query = 'SELECT * FROM '.$table.' WHERE NUM = '. $NUM; 
   $result = mysql_query($query)  or die('Erreur SQL ! '.$query.'<br/>'.mysql_error());
   $val = mysql_fetch_array($result);
   // -------------------------------------------------------------
   if ($TRAITER == 'AJOUTER') { echo 'LA PHOTO a été AJOUTEE.<br/>'; }
   if ($TRAITER == 'MODIFIER') { echo 'LA PHOTO a été MODIFIEE.<br/>'; } 
?>
   <a href="MONFICHIER-LISTE.php?CAT=<?php echo $table; ?>">RETOUR</a><br/><br/>
   <?php echo $val['Rub_ID']; ?><br/>
   <?php echo $val['COMMENT1']; ?><br/>
   <?php if ($val['PHOTO1'] != "") { ?>
      <img alt="" border="0" src="<?php echo $chemincourt.$val['PHOTO1']; ?>">
   <?php } ?>
<?php
}
// -----------------------------------------------------------------------------------------------------
if ($TRAITER == 'SUPPRIMER') {
?>   
   LA PHOTO a été SUPPRIMEE.<br/>
   <a href="MONFICHIER-LISTE.php?CAT=<?php echo $table; ?>">RETOUR</a>
<?php
}
// -----------------------------------------------------------------------------------------------------
} // fin du traitement si PAS d ERREUR
?>
</div>
</body></html>
Concernant les fonctions que fais références sont les même du tutoriel

Ca fait une dizaine de jour que je galère sur ce problème

Ci-joint une copie d'écran de la structure de mon projet


Merci de votre aide

Runcafre91
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 12h05   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Code :
1
2
3
$Rub_ID='';
   $cheminlong = realpath('"../repimages/".$Rub_ID."/"').'\\';
   $chemincourt = "../repimages/".$Rub_ID."/";
Puisque $Rub_ID est une chaine vide, tes deux variables suivantes ne sont pas bonnes.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 14h02   #3
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 287
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 287
Points : 67
Points : 67
Citation:
Envoyé par sabotage Voir le message
Code :
1
2
3
$Rub_ID='';
   $cheminlong = realpath('"../repimages/".$Rub_ID."/"').'\\';
   $chemincourt = "../repimages/".$Rub_ID."/";
Puisque $Rub_ID est une chaine vide, tes deux variables suivantes ne sont pas bonnes.
Bonjour,

Merci de votre réponse, j'ai défini ma variable mais cela ne change pas grand chose, par contre j'ai la valeur 0 qui apparait dans la table Matable
Ci-dessous la modification que j'ai fais :

Code :
1
2
3
4
5
6
 
// -----------------------------------------------------------------------------------------------------
// Répertoire des photos et pictos (déprotégé)
   $Rub_ID= $_POST['Rub_ID'];
   $cheminlong = realpath('"../repimages/".$Rub_ID."/"').'\\';
   $chemincourt = "../repimages/".$Rub_ID."/";
Deplus j'ai l'erreur suivant qui apprait
Code :
1
2
 
Notice: Undefined index: Rub_ID in E:\wamp\www\monsite\vue\monfichier-traiter.php on line 9
Merci de votre aide

Runcafre91
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 14h26   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Dans ton formulaire le select qui a l'air de fournir Rub_ID s'appelle frm_select_rubrique.
De plus ta deuxieme variable est mal écrite : tu as un excés de guillemets inutiles voir néfastes :
Code :
1
2
  $Rub_ID= $_POST['frm_select_rubrique'];
   $cheminlong = realpath("../repimages/".$Rub_ID."/");
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 09h54   #5
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 287
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 287
Points : 67
Points : 67
Re,

Merci pour votre réponse mais j'ai toute de même un petit problème que je dois essayé de contourné
Suite au modification ci-dessous j'ai quasiment la bonne adresse ou copié les upload mais j'ai le numéro du dossier au lieu du nom du dossier
J'ai essaye de voir ce que cela donnerais en modifiant mon lien mais en remplacant :

Code :
1
2
3
4
5
6
7
 
 
// Répertoire des photos et pictos (déprotégé)
   $Rub_ID= $_POST['frm_select_rubrique'];
   $cheminlong = realpath("../repimages/".$Rub_ID."/");
   $chemincourt = "../repimages/".$Rub_ID."/";
// -------------------------------------------------------------
Par le code suivant
Code :
1
2
3
4
5
6
7
8
 
 
 
// Répertoire des photos et pictos (déprotégé)
   $Rub_Name= $_POST['frm_select_rubrique'];
   $cheminlong = realpath("../repimages/".$Rub_Name."/");
   $chemincourt = "../repimages/".$Rub_Name."/";
// -------------------------------------------------------------
Mai svoila cela ne fonctionne pas

Ci-desous le code d'erreur que j'ai avec la première modification
Code :
1
2
3
4
5
 
 
Warning: move_uploaded_file(../repimages/1/1_DSC01709.JPG) [function.move-uploaded-file]: failed to open stream: No such file or directory in E:\wamp\www\monsite\vue\monfichier-traiter.php on line 128
 
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'E:\wamp\tmp\php69.tmp' to '../repimages/1/1_DSC01709.JPG' in E:\wamp\www\monsite\vue\monfichier-traiter.php on line 128
Je vous remercie de votre aide

Je pense que le probleme dois venir de mon formulaire qui m'envoie dnas mon select que le numéro et non la veuleur de celle ci

Runcafre91
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 10h58   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
un champ de formulaire renvoit uniquement le couple name/value.

La bonne facon de faire est d'aller lire dans ta base de données a quoi correspond l'id recu.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 13h21   #7
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 287
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 287
Points : 67
Points : 67
La valeur envoyé viens de cette partie, je pense avoir une solution de contournement mais je vois pas trop comment l'adapter c'est de mettre un champs caché dans lequelle je stockerais la valeur c'est a dire le nom de la rubrique qui sera repris pour designé le bon dossier
Code :
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
 
 
<div>
   <form name="AJOUTER" method="post" enctype="multipart/form-data" action="MONFICHIER-TRAITER.php">
   <input type="hidden" name="CAT" value="<?php echo $table; ?>">
   <input type="hidden" name="TRAITER" value="<?php echo $TRAITER; ?>">
   AJOUTER<br/>
    <?php
// formulaire de selection de la rubrique de la table rubrique
echo '<select name="frm_select_rubrique">';
$Selected = 0;
while ($row = mysql_fetch_array($result_rub)){
	if($Selected == 0){
		echo '<option value="'.$row['Rub_ID'].'" selected="selected">'.$row['Rub_Name'].'</option>';
		$Selected = 1;
	} else {
		echo '<option value="'.$row['Rub_ID'].'">'.$row['Rub_Name'].'</option>';
	}
}
echo '</select>';
echo'<br/>';
 
?>
 
   Légende :<input type="text" name="COMMENT1" size="50"><br/>
   PHOTO :<input type="FILE" name="PHOTO1" size="50"><br/>
   <a href="#" onclick="history.back()">ANNULER</a>&nbsp;
   <input type="submit" value="CONFIRMER" name="CONFIRMER">&nbsp;
   <input type="reset" value="Rétablir" name="B2">
 
</form>
</div>
le Bout de code ci-dessus me permet d'afficher le nom de la rubrique.
Lorsque je poste le formulaire j'ai que le numéro de la rubrique au lieu du numéro et du nom.

Est-t'il possible d'envoyé ces deux valeur via le formaulaire?
Car pour l'instant dans mon fichier de traitement je ne vois pas comment faire que les photos soient misent dans le bon fichier.

Je vous remercie de otre aide

Runcafre91
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 15h05   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Je t'ai indiqué la bonne solution.
Tout le reste c'est du flan.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 13h10   #9
Membre du Club
 
Homme Stéphane A.
Inscription : décembre 2008
Messages : 287
Détails du profil
Informations personnelles :
Nom : Homme Stéphane A.
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2008
Messages : 287
Points : 67
Points : 67
Citation:
Envoyé par sabotage Voir le message
Je t'ai indiqué la bonne solution.
Tout le reste c'est du flan.
Bonjour,

J'ai modifier le début de mon fichier de traitement ainsi afin de récupérer le nom de la rubrique
Code :
1
2
3
4
5
6
7
8
9
10
 
// Répertoire des photos et pictos (déprotégé)
	$Rub_ID= $_POST['frm_select_rubrique'];
	$sql = mysql_query("SELECT * FROM rubrique WHERE Rub_ID = '".$Rub_ID."'"); 
 
    $Rub_Name = $sql['Rub_Name'];
 
   $cheminlong = realpath("../repimages/".$Rub_Name."/");
   $chemincourt = "../repimages/".$Rub_Name."/";
// -------------------------------------------------------------
J'ai fais des tests et cela ne fonctionne pas, par ailleur j'ai pu résoudre un second problème ce qui était l'insertion en base de donnée

Merci de votre aide

Runcafre91
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 14h27   #10
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
il manque le Fetch apres l'execution de ta requete.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h30.


 
 
 
 
Partenaires

Hébergement Web