Bonjour !
J'aurais (encore :s) une question à propos d'un petit souci sur mon code... Quand je veux modifier une news, j'ai mon champ d'upload d'image qui pose problème : soit je change d'image, et là, il n'y pas de problème, ça supprime l'ancienne et place la nouvelle, soit je ne change pas, et seuls les textes sont modifiés dans la base de données.
Le hic étant que j'ai réussi à faire le code nécessaire à ces deux opérations, mais SEPAREMENT, c'est à dire que dès que j'essaie de faire une condition avec un "if...else", un des deux ne marche plus... (en l'occurence celui où je ne touche pas à l'image)
Voici le code en question... J'aimerais avoir votre avis sur les conditions que j'ai mises :
Voilà j'insiste vraiment sur le fait que prises à part, ces actions marchent très bien. Mais le "else" n'est jamais lu par le programme quoi que je fasse...
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 if(isset($_FILES['Fichier']['tmp_name'])) { //SI LE CHAMP IMAGE EST MODIFIE $id = $_POST["id"]; $ancien_fichier = mysql_query("SELECT image FROM news WHERE id=$id"); $result = mysql_fetch_array($ancien_fichier); unlink("../../images/news/{$result['image']}"); $nomFichier2 = $_FILES['Fichier']['name']; $cheminFichier2 = $_FILES['Fichier']['tmp_name']; // Création d'un nom unique avec time() // Récupération du seul nom de fichier avec basename() $nouveauNom2 = time() . "-" . basename($nomFichier2); $nouveauFichier2 = REPERTOIRE_DEPOT . SEPARATEUR_FICHIERS . $nouveauNom2; if (file_exists($nouveauFichier2)) { die ('Le fichier existe déjà !'); } // déplacement du fichier dans le répertoire dépôt if (move_uploaded_file($cheminFichier2, $nouveauFichier2)) { echo ""; } // On protège la variable "id_news" pour éviter une faille SQL $_POST['id_news'] = addslashes($_POST['id_news']); // C'est une modification, on met juste à jour le titre et le contenu mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "', image='" . $nouveauNom2 . "' WHERE id='" . $_POST['id_news'] . "'"); } else { // On protège la variable "id_news" pour éviter une faille SQL $_POST['id_news'] = addslashes($_POST['id_news']); // C'est une modification, on met juste à jour le titre et le contenu mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'"); }
J'avoue ne pas comprendre !!
D'avance, merci !!!
Partager