Bonjour,

j'ai un souci avec un traitement "basique" pourtant j'y suis arrivé il y a pas longtemps, mais je ne comprend pas pourquoi je n'arrive plus à réaliser ce traitement.

j'ai une page php index.php et voici mon code :

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
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
<form action="index.php" method="post" enctype="multipart/form-data">
        <table border="1">
            <!-- Table header -->
        <tr>
            <td>Liste des salariés avec des droits à congés restants</td>
                <td><input type="file" name="csvFile1" accept=".csv"></td>
                <td><input type="submit" name="import1" value="Importer"></td>
            <td class="success-message" style="width:100px">
              <?php if (isset($successMessage2)) { 
                        echo $successMessage2;               
                }
              ?>
            </td>
 
        </tr>
            <tr>
                <td>Liste des salariés avec un contrat actif ou fermé</td>
                <td><input type="file" name="csvFile2" accept=".csv"></td>
               <td><input type="submit" name="submit2" value="Importer"></td>
            <td class="success-message" style="width:100px">
              <?php if (isset($successMessage2)) { 
                        echo $successMessage2;               
                }
              ?>
            </td>
 
            </tr>   
             <tr>
                <td>Liste des salariés avec un trop perçu en cours</td>
                <td><input type="file" name="csvFile3" accept=".csv"></td>
               <td><input type="submit" name="submit3" value="Importer"></td>
            <td class="success-message" style="width:100px">
              <?php if (isset($successMessage3)) { 
                        echo $successMessage3;               
                }
              ?>
            </td>
            </tr>
        </table>
    </form>

et voici mon code php :

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
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
<?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
 
    //code pour rattacher la connexion
if (!require_once('....../connexion.php')) {
    die("Erreur lors du chargement du fichier contenant les fonctions.php");
}
 
    //code pour rattacher les fonctions
if (!require_once('......./mesfonctions.php')) {
    die("Erreur lors du chargement du fichier contenant les fonctions.php");
}
 
 
 
 
logToFile('Début du traitement');
logToFile('----------------------------------------');
logToFile('*********************** Début du traitement'.date('Y-m-d H:i:s'));
 
//debut du traitement
//if (isset($_POST['submit'])) 
//{      
    ini_set('max_execution_time', 2000); //temps passé à 15mn
 
    logToFile('----------------------------------------');
    logToFile('*********************** Début du traitement'.date('Y-m-d H:i:s'));
        // Vérifier si le formulaire a été soumis
        if ($_SERVER['REQUEST_METHOD'] === 'POST')
        {
            $fichier = $_POST['csvFile1'];
 
            if (isset($_POST['submit1'])) {
 
            $fichier = $_FILES['csvFile1']['name'];
             logToFile('fichier : '.$fichier);
            echo "on passe dans le submint1" ;
 
            } else {
            // Aucun fichier n'a été sélectionné
            echo "Aucun fichier sélectionné";
            exit;
            }
 
            // Déterminer dans quelle table insérer les données en fonction de l'option choisie
            //$table = '';
 
          /*
            case :
            break;     
          */
 
            logToFile('Fichier avant le switch : '.$fichier);
            switch ($fichier) 
            {         
                    case 'monficiher1.csv': //ok  
                    $table = 'table_monfichier';
                     echo "test 2 : ".$fichier;
                    logToFile('valeur de table : '.$table);
                    break;
                    ......
					......					
                    default:
                        echo "Fichier invalide<br/>";
                    logToFile('Fichier : '.$fichier);
                    logToFile('valeur de table : '.$table);
 
                    exit; // Arrêter l'exécution du script si l'option est invalide
            }   
            logToFile('Fichier : '. $fichier);
            logToFile('Table cible :'. $table);
            // Insérer les données dans la table appropriée
            $affectedRows=0;
            if (!empty($table)) 
            {                
                try //FICHIER ADH LISTE DECLARATION partiellement renseigné // Insérer les données dans la table correspondante   $_FILES['csvFile1']['name'] 
                {                       
                        $cheminFinal = "......\\" .$fichier ;                    
                        logToFile('cheminFinal cible :'. $cheminFinal);        
                        //echo "<br/>Etape 1 - Début du try <br/>";             
 
 
                        // Ouvrir le fichier Excel
                        $handle = fopen($cheminFinal, "r")or die('Permission error');
 
                        // Vérifier si le fichier a été ouvert avec succès
                        if ($handle !== false) {   
                                //echo "Etape 2 - on rentre dans le handle ";
                         // Vérifier si le fichier est vide
                            if (filesize($cheminFinal) == 0) {
                                 $errorMessage = "Le fichier Excel est vide.";
                                // Fermer le fichier
                                fclose($handle);
                                // Terminer l'exécution du script si le fichier est vide
                               // exit;
                            }
                            else{
 
                                // Lire les données du fichier ligne par ligne
                                $isFirstLine = true;
                               while (($data = fgetcsv($handle, 1000, ",")) !== false || ($data = fgetcsv($handle, 1000, ";")) !== false) 
                               // while (($data = fgetcsv($handle, 1000, ";")) !== false) 
                                {
                                    if ($isFirstLine) {
                                        $isFirstLine = false;
                                        continue; // Ignorer la première ligne
                                    }                                
 
                                            switch ($fichier) 
                                            {   
                                                case 'monficiher1.csv': //ok    
                                                        logToFile('valeur de table : '.$table);
                                                        logToFile('valeur de fichier: '.$fichier);
 
 
                                                        // Variables
                                                        $NUMERO_SALARIE = $data[0];
                                                        $TOTAL_SOLDE = floatval($data[1]);                                      
                                                        $NOM_PRENOM_num =  mysqli_real_escape_string($conn, $data[2]);   
                                                        $ADRESSE_MAIL = mysqli_real_escape_string($conn, $data[3]);
                                                        $EMAIL_COMPTE_EXTRANET = mysqli_real_escape_string($conn, $data[4]);
                                                        $tel_salarie = $data[5];
                                                        $ADRESSE_COMPLETE = mysqli_real_escape_string($conn, $data[6]);
                                                        // Récupérer la date actuelle
 
 
 
                                                        // Requête d'insertion
                                                        $query = "INSERT INTO table_monfichier (
                                                                  NUMERO_SALARIE,
                                                                  TOTAL_SOLDE,
                                                                  NOM_PRENOM_num, 
                                                                  ADRESSE_MAIL,                                                   
                                                                  EMAIL_COMPTE_EXTRANET,
                                                                  tel_salarie,
                                                                  ADRESSE_COMPLETE
                                                                  )
                                                                  VALUES 
                                                                  ('".$NUMERO_SALARIE."', 
                                                                  '".$TOTAL_SOLDE."',                                                              
                                                                  '".$NOM_PRENOM_num."', 
                                                                  '".$ADRESSE_MAIL."',
                                                                  '".$EMAIL_COMPTE_EXTRANET."',
                                                                  '".$tel_salarie."' ,
                                                                  '".$ADRESSE_COMPLETE."' )";
 
                                                        // Exécution de la requête
                                                        $result = $conn->query($query);
 
                                                        // Log de la requête
                                                        logToFile('Requete : '.$query);
 
                                                        // Vérification du résultat
                                                        if (!$result) {
                                                            echo "<span class='error-message'>Échec du traitement : " . $conn->error . "</span>";
                                                        } else {
 
                                                        logToFile('Lignes affectées par l\'insertion : ' . $affectedRows);
                                                         echo "<span >traitement ok..... </span><br \>";
                                                         echo "<span >Lignes affectées par l\'insertion :". $affectedRows."</span><br \> ";
                                                           $successMessage1 = "Insertion du fichier " . $fichier . " a réussi dans la base de données, le " . $dateTime . " avec " . $affectedRows . " affectées.";
 
                                                            logToFile('Lignes affectées par l\'insertion : ' . $affectedRows);
                                                            logToFile('Lignes affectées par l\'insertion : ' . $affectedRows);
                                                        }
                                                break;
 
                                               ......
											   ...... //mes autres cases
 
                                                    default:
                                                        echo "Aucun fichier valide";
                                                    exit; // Arrêter l'exécution du script si l'option est invalide
                                            }                                     
                                }//fin du while
                                fclose($handle);                                
                            }
                        } 
                        else 
                        {
                            echo "Erreur lors de l'ouverture du fichier.";
                            echo "Etape 2 bis - erreur dans la handle - fin du traitement";
                        }   
 
                } 
                catch (Exception $e) 
                {
                    echo "Une erreur s'est produite lors du transfert du fichier Excel : " . $e->getMessage();
                }
 
            } else 
            {           
                    echo "<span style='color:red' >Erreur dans la sélection du fichier : ".$table;
                    logToFile('Erreur  cible if (!empty($table))  :'. $table);
            }                
        }
 
 
        logToFile('Fin de traitement ');
//}
?>
Mon but :
la personne doit utiliser le 1er bouton parcourir pour aller chercher un fichier spécifique monfichier1.csv et quand je clique sur "Importer"de la ligne correspondante, il importe les données dans ma base mysql, mais j'ai toujours le message d'erreur "Aucun fichier sélectionné" , il ne réalise pas mon traitement.

Je n'arrive pas à comprend pourquoi, sauriez vous m'adier svp?
Merci