Bonjour,

Cela plusieurs jours que je planche sur un petit soucis avec un script d’actualitée, je tourne donc vers vous pour que vous puissiez m'aider ^^
Le script me génère deux entrées dans la BDD quand je poste l'actu avec une image. une entrée avec l'image uppé, et une avec la variable redéfinie avec l'image 'noview'.
(alors que si je post une actu sans image pas de soucis le script ne fais bien qu'une seul entrée )

Fonctionnement :
Je peux poster un actualité avec ou sans image.

Avec image :
si il y'a une image, je la up, j'en crée une miniature, et j'enregistre dans la BDD.

Sans image :
je remplace l'array de variable $img, par une image définie 'noview', et j'enregistre dans la BDD

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
 
$caract  = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
$replace  = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ð','ñ','ò','ó','ô','õ','ö','ù');
$title = str_replace($caract, $replace, ucfirst(strtolower(($_POST['title']))));
$news = str_replace($caract, $replace, $_POST['news']);
$active = $_POST['active'];
$img=($_FILES['mon_image']);
$category = $_POST['category'];
 
if($action == 'add'){
	// Ajout sans photo
	if(!empty($img)){
		$img='noview.png';
		mysql_connect($sql_host,$sql_user,$sql_pass) or die("Erreur de connexion au serveur...<br />". mysql_error());
		mysql_select_db($sql_data) or die("Erreur de connexion a la base de donnees...<br />". mysql_error());
		mysql_query("INSERT INTO br_news VALUES('', '$active', '$category', '$title', '$img','$news', '" . time() . "')") or die("Erreur d'enregistrement dans la base de donnee...<br />". mysql_error());
		mysql_close();
		echo '<i><a href="list_actu.php" class="lien">< Retour</a></i><br />';
	}	
 
 
 
//Ajout avec photo
	$dir = '../images/actu/';
	$dir_mini = '../images/actu/mini/';
	$ratio = 300;
	if (empty($_FILES['mon_image']['tmp_name'])) {
		// si oui, on affiche un petit message d'erreur
		$erreur = 'Aucun fichier envoye.';
	}
	else {
		$tableau = @getimagesize($_FILES['mon_image']['tmp_name']);
		if ($tableau == FALSE) {
			unlink($_FILES['mon_image']['tmp_name']);
			$erreur = 'Votre fichier n\'est pas une image.';
		}
		else {
			if ($tableau[2] == 2 || $tableau[2] == 3) {
				if (is_file('../images/gallerie/'.$_FILES['mon_image']['name'])) $file_upload = '_'.$_FILES['mon_image']['name'];
				else $file_upload = $_FILES['mon_image']['name'];
 
				copy ($_FILES['mon_image']['tmp_name'], $dir.'/'.$file_upload);
 
 
				if ($tableau[2] == 2) {
 
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					if ($tableau[0] > $tableau[1]) {
						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
						imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
					}
					else {
						$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
					}
					// on copie notre fichier g?n?r? dans le r?pertoire des miniatures
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) {
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					if ($tableau[0] > $tableau[1]) {
						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
						imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
					}
					else {
						$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
					}
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
 
				$img=$file_upload;
 
				mysql_connect($sql_host,$sql_user,$sql_pass) or die("Erreur de connexion au serveur...<br />". mysql_error());
				mysql_select_db($sql_data) or die("Erreur de connexion a la base de donnees...<br />". mysql_error());
				mysql_query("INSERT INTO br_news VALUES('', '$active', '$category', '$title', '$img','$news', '" . time() . "')") or die("Erreur d'enregistrement dans la base de donnee...<br />". mysql_error());
				mysql_close();				
				exit();
 
				echo '<i><a href="list_actu.php" class="lien">< Retour</a></i><br />';
			}
			else {
				unlink($_FILES['mon_image']['tmp_name']);
				$erreur = 'Votre image est d\'un format non supporte.';
			}
		}
	}

Merci pour votre aide & passer de bonnes fêtes