News box avec une image, un texte et un timing simples

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 15:57

dans ta base c'est
id, auteur, titre, date, image_news, texte_news

et toi tu inseres
id, auteur, titre, image_news, date, texte_news


ton $chemin_destination n'a pas l'air correct puisque 'il a rien mis


au debut de ton code fais
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);

Eléphant du PHP | 82 Messages

08 juin 2010, 16:03

Ahhhh, ça peut peut-être régler des choses hein ? :mrgreen:

Déjà, j'ai changé ça, et ça a changé dans la BDD :

44 i-media essai de news d 0000-00-00 00:00:00 08-06-2010 15:51:32 allez
45 i-media essai de news e 0000-00-00 00:00:00 cube2.jpg yes ?

Maintenant ça doit être le path "chemin_destination" qui doit être changé non ?

j'ai pas vu ton code, je change et je réessaie

Eléphant du PHP | 82 Messages

08 juin 2010, 16:08

Le début de mon code de insert_news.php est :
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
print_r($_FILES);
$dossier = 'sites/all/images';
$fichier = basename($_FILES['image_news']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_news']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_news']['name'], '.'); 
//D&eacute;but des v&eacute;rifications de s&eacute;curit&eacute;...
Quand je vais sur le formulaire d'insertion maintenant, ça affiche le formulaire mais ceci avant :

Array ( )
Notice: Undefined index: image_news in /homez.60/imediase/www/insert_news.php on line 6

Notice: Undefined index: image_news in /homez.60/imediase/www/insert_news.php on line 8

Notice: Undefined index: image_news in /homez.60/imediase/www/insert_news.php on line 10

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 16:14

en effet y'a rien dans ton $_FILES la, ta bien uploader un fichier ? ton formulaire est bien en multipart/form-data ?

Eléphant du PHP | 82 Messages

08 juin 2010, 16:17

Oui oui, tu l'as dans le code, je les remets :

code avec le formulaire en html précédé du code de traitement php insert_news.php (j'utilise le même fichier) :
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
print_r($_FILES);
$dossier = 'sites/all/images';
$fichier = basename($_FILES['image_news']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_news']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_news']['name'], '.'); 
//D&eacute;but des v&eacute;rifications de s&eacute;curit&eacute;...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, ou jpeg';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop lourd';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇ&egrave;&eacute;ÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåç&egrave;&eacute;êëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['image_news']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionn&eacute;
     {
          echo 'Upload effectu&eacute; avec succ&egrave;s !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo '&Eacute;chec de l\'upload !';
     }
}
else
{
     echo $erreur;
}

// MOVE UPLOADED FILE
if ((isset($_FILES['image_news']['fichier'])&&($_FILES['image_news']['error'] == UPLOAD_ERR_OK))) {
$chemin_destination = 'sites/all/images';
move_uploaded_file($_FILES['image_news']['tmp_name'], $chemin_destination.$_FILES['image_news']['name']);
}


// on teste si le formulaire a &eacute;t&eacute; valid&eacute;
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
// on se connecte à notre base
$base = mysql_connect ('***', '***', '***');  
mysql_select_db('***', $base);  

// on teste la d&eacute;claration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['texte_news'])) {
        $erreur = 'Les variables n&eacute;cessaires au script ne sont pas d&eacute;finies.';
}
else {
        if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['texte_news'])) {
                $erreur = 'Au moins un des champs est vide.';
        }
        // si tout est bon, on peut commencer l'insertion dans la base
        else {
                // lancement de la requête d'insertion
                $sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("d-m-Y H:i:s").'", "'.mysql_escape_string($chemin_destination.$_FILES['image_news']['name']).'", "'.mysql_escape_string($_POST['texte_news']).'")';
                // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) 
                echo $sql;
				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                // on ferme la connexion à la base de donn&eacute;es
                mysql_close();
                /* on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez plac&eacute; cette page dans un r&eacute;pertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'acc&egrave;s afin de retomber sur la page d'accueil du site. 
                header('Location: index.php'); */
                // on termine le script courant
                exit();
                }
        }
}

?>
<html>
<head>
<title>Insertion d'une nouvelle news</title>
</head>

<body>

<!-- on fait pointer le formulaire vers la page traitant les donn&eacute;es -->
<form method="post" action="insert_news.php" enctype="multipart/form-data">
	<table>
		<tr>
			<td>
				<span class="gras">Auteur :</span>
			</td>
			<td>
				<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
			</td>
		</tr>
		<tr>
			<td>
				<span class="gras">Titre :</span>
			</td>
			<td>
				<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
			</td>
		</tr>
		<tr>
			<td>
				<span class="gras">Image</span>
				<input type="text" style="display:none" name="nbr_photo" value="0" id="nbr_photo" />
			</td>
			<td>
				<input type=hidden name=MAX_FILE_SIZE  value=102400>
				<input type="file" name="image_news" id="image_news" value="image_news" />
			</td>   
		</tr>
		<tr>
			<td>
				<span class="gras">News :</span>
			</td>
			<td>
				<textarea name="texte_news" cols="50" rows="10"><?php if (isset($_POST['texte_news'])) echo htmlentities(trim($_POST['texte_news'])); ?></textarea>
			</td>
		</tr>
		<tr>
			<td>
			<td align="right">
				<input type="submit" name="go" value="Poster la news">
			</td>
		</tr>
	</table>
</form>
<?php
// on affiche les erreurs &eacute;ventuelles  
if (isset($erreur)) echo '<br /><br />',$erreur;  
?>
</body>
</html>
Code d'affichage des news :
<?php

// on se connecte à notre base  
$base = mysql_connect ('***', '***', '***');  
mysql_select_db('***', $base);  

// lancement de la requête. on s&eacute;lectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus r&eacute;cente à la plus vieille : DESC) tout en ne s&eacute;lectionnant que le nombre voulu de news à afficher (LIMIT)  
$sql = 'SELECT auteur, titre, DAY(date) AS jour, MONTH(date) AS mois, YEAR(date) AS annee, HOUR(date) AS heure, MINUTE(date) AS minutes, SECOND(date) AS secondes, image_news, texte_news FROM news ORDER BY date ASC LIMIT 10'; 

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  

// on compte le nombre de news stock&eacute;es dans la base de donn&eacute;es  
$nb_news = mysql_num_rows($req);  

if ($nb_news == 0) { 
   echo 'Aucune news enregistr&eacute;e.';  
}
else { 
	// si on a au moins une news, on l'affiche 
	while ($data = mysql_fetch_array($req)) {

    // on affiche les r&eacute;sultats
	echo 
	'<table>
		<tr>
			<td>';
				echo '<img src="' . htmlentities(trim($data['sites/all/images'])) . '" alt="" />';
			echo 
			'</td>
			<td>';
				echo '<br />News de : ' , htmlentities(trim($data['auteur'])) , '<br />'; 
				echo 'Titre : ' , htmlentities(trim($data['titre'])) , '<br />';
				echo 'Post&eacute;e le : ' , $data['jour'] , '/' , $data['mois'] , '/' , $data['annee'] , ' &agrave; ' , $data['heure'] , ':' , $data['minutes'] , ':' , $data['secondes'] , '<br /><br />'; 
				echo 'News : ' , nl2br(htmlentities(trim($data['texte_news']))) , '<br /><br /><br />'; 
			echo '</td>
		</tr>
	</table>';
   }
}
// on lib&egrave;re l'espace m&eacute;moire allou&eacute; à cette requête  
mysql_free_result ($req);  

// on ferme la connexion à la base de donn&eacute;es  
mysql_close ();  
?>

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 16:21

retest parce y'avait rien dans $_FILES

Eléphant du PHP | 82 Messages

08 juin 2010, 16:27

Avec le code ci-dessus :

Sur insert_news, j'ai toujours les trois notices qui s'affichent.
Après envoi de formulaire, sur news.php, j'ai l'image brisée et la date à zéro
Dans ma BDD, j'ai :

46 i-media essai de news 0000-00-00 00:00:00 cube2.jpg yopl

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 16:31

Avec le code ci-dessus :

Sur insert_news, j'ai toujours les trois notices qui s'affichent.
Après envoi de formulaire, sur news.php, j'ai l'image brisée et la date à zéro
Dans ma BDD, j'ai :

46 i-media essai de news 0000-00-00 00:00:00 cube2.jpg yopl
ton file est toujour vide ? print_r($_FILES) ?
et en plus t'as toujours ton inversion entre la date et le path dans ton insertion :wink:

Eléphant du PHP | 82 Messages

08 juin 2010, 16:41

Je vois pas l'inversion... je vois toujours la date suivie de l'image...

Et je viens de comprendre que chemin_destination c'est une variable qui a pour valeur sites/all/images quel débile... erf...

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 16:43

Je vois pas l'inversion... je vois toujours la date suivie de l'image...

Et je viens de comprendre que chemin_destination c'est une variable qui a pour valeur sites/all/images quel débile... erf...
donc dans ta base a chaque fois que tu insères une image
le path sera du type sites/all/images/image.jpg

Eléphant du PHP | 82 Messages

08 juin 2010, 16:49

Oui, mais ça marche pas encore. j'ai changé tous les sites/all/images en chemin_destination (avec le $ avant) sauf pour l'attribution aux variables $dossier et $chemin_destination

Codes :

insert_news.php :
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
print_r($_FILES);
$dossier = 'sites/all/images';
$fichier = basename($_FILES['image_news']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_news']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_news']['name'], '.'); 
//D&eacute;but des v&eacute;rifications de s&eacute;curit&eacute;...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, ou jpeg';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop lourd';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇ&egrave;&eacute;ÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåç&egrave;&eacute;êëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['image_news']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionn&eacute;
     {
          echo 'Upload effectu&eacute; avec succ&egrave;s !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo '&Eacute;chec de l\'upload !';
     }
}
else
{
     echo $erreur;
}

// MOVE UPLOADED FILE
if ((isset($_FILES['image_news']['fichier'])&&($_FILES['image_news']['error'] == UPLOAD_ERR_OK))) {
$chemin_destination = 'sites/all/images';
move_uploaded_file($_FILES['image_news']['tmp_name'], $chemin_destination.$_FILES['image_news']['name']);
}


// on teste si le formulaire a &eacute;t&eacute; valid&eacute;
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
// on se connecte à notre base
$base = mysql_connect ('***', '***', '***');  
mysql_select_db('***', $base);  

// on teste la d&eacute;claration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['texte_news'])) {
        $erreur = 'Les variables n&eacute;cessaires au script ne sont pas d&eacute;finies.';
}
else {
        if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['texte_news'])) {
                $erreur = 'Au moins un des champs est vide.';
        }
        // si tout est bon, on peut commencer l'insertion dans la base
        else {
                // lancement de la requête d'insertion
                $sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("d-m-Y H:i:s").'", "'.mysql_escape_string($chemin_destination.$_FILES['image_news']['name']).'", "'.mysql_escape_string($_POST['texte_news']).'")';
                // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) 
                echo $sql;
				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                // on ferme la connexion à la base de donn&eacute;es
                mysql_close();
                /* on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez plac&eacute; cette page dans un r&eacute;pertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'acc&egrave;s afin de retomber sur la page d'accueil du site. 
                header('Location: index.php'); */
                // on termine le script courant
                exit();
                }
        }
}

?>
<html>
<head>
<title>Insertion d'une nouvelle news</title>
</head>

<body>

<!-- on fait pointer le formulaire vers la page traitant les donn&eacute;es -->
<form method="post" action="insert_news.php" enctype="multipart/form-data">
	<table>
		<tr>
			<td>
				<span class="gras">Auteur :</span>
			</td>
			<td>
				<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
			</td>
		</tr>
		<tr>
			<td>
				<span class="gras">Titre :</span>
			</td>
			<td>
				<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
			</td>
		</tr>
		<tr>
			<td>
				<span class="gras">Image</span>
				<input type="text" style="display:none" name="nbr_photo" value="0" id="nbr_photo" />
			</td>
			<td>
				<input type=hidden name=MAX_FILE_SIZE  value=102400>
				<input type="file" name="image_news" id="image_news" value="image_news" />
			</td>   
		</tr>
		<tr>
			<td>
				<span class="gras">News :</span>
			</td>
			<td>
				<textarea name="texte_news" cols="50" rows="10"><?php if (isset($_POST['texte_news'])) echo htmlentities(trim($_POST['texte_news'])); ?></textarea>
			</td>
		</tr>
		<tr>
			<td>
			<td align="right">
				<input type="submit" name="go" value="Poster la news">
			</td>
		</tr>
	</table>
</form>
<?php
// on affiche les erreurs &eacute;ventuelles  
if (isset($erreur)) echo '<br /><br />',$erreur;  
?>
</body>
</html>
news.php
<?php

// on se connecte à notre base  
$base = mysql_connect ('***', '***', '***');  
mysql_select_db('***', $base);  

// lancement de la requête. on s&eacute;lectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus r&eacute;cente à la plus vieille : DESC) tout en ne s&eacute;lectionnant que le nombre voulu de news à afficher (LIMIT)  
$sql = 'SELECT auteur, titre, DAY(date) AS jour, MONTH(date) AS mois, YEAR(date) AS annee, HOUR(date) AS heure, MINUTE(date) AS minutes, SECOND(date) AS secondes, image_news, texte_news FROM news ORDER BY date ASC LIMIT 10'; 

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  

// on compte le nombre de news stock&eacute;es dans la base de donn&eacute;es  
$nb_news = mysql_num_rows($req);  

if ($nb_news == 0) { 
   echo 'Aucune news enregistr&eacute;e.';  
}
else { 
	// si on a au moins une news, on l'affiche 
	while ($data = mysql_fetch_array($req)) {

    // on affiche les r&eacute;sultats
	echo 
	'<table>
		<tr>
			<td>';
				echo '<img src="' . $chemin_destination . '" alt="" />';
			echo 
			'</td>
			<td>';
				echo '<br />News de : ' , htmlentities(trim($data['auteur'])) , '<br />'; 
				echo 'Titre : ' , htmlentities(trim($data['titre'])) , '<br />';
				echo 'Post&eacute;e le : ' , $data['jour'] , '/' , $data['mois'] , '/' , $data['annee'] , ' &agrave; ' , $data['heure'] , ':' , $data['minutes'] , ':' , $data['secondes'] , '<br /><br />'; 
				echo 'News : ' , nl2br(htmlentities(trim($data['texte_news']))) , '<br /><br /><br />'; 
			echo '</td>
		</tr>
	</table>';
   }
}
// on lib&egrave;re l'espace m&eacute;moire allou&eacute; à cette requête  
mysql_free_result ($req);  

// on ferme la connexion à la base de donn&eacute;es  
mysql_close ();  
?>
Sur la page du formulaire, ça m'affiche :

Array ( )
Notice: Undefined index: image_news in /homez.60/imediase/www/insert_news.php on line 6

Notice: Undefined index: image_news in /homez.60/imediase/www/insert_news.php on line 8

Notice: Undefined index: image_news in /homez.60/imediase/www/insert_news.php on line 10

Et après avoir envoyé le formulaire ça me met :

Array ( [image_news] => Array ( [name] => cube1.jpg [type] => image/jpeg [tmp_name] => /var/log/tmp/phpT1hbqx [error] => 0 [size] => 5052 ) ) Upload effectué avec succès !
Notice: Undefined variable: chemin_destination in /homez.60/imediase/www/insert_news.php on line 65
INSERT INTO news VALUES("", "i-media", "essai de news c", "08-06-2010 16:45:32", "", "tttt")

La ligne 65 correspondante étant :
$sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("d-m-Y H:i:s").'", "'.mysql_escape_string($chemin_destination.$_FILES['image_news']['name']).'", "'.mysql_escape_string($_POST['texte_news']).'")';

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 16:53

met ton

$chemin_destination = 'sites/all/images'; au début de ton code

Eléphant du PHP | 82 Messages

08 juin 2010, 16:57

Je coupe cette affectation et je la colle au début ?

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 17:00

Je coupe cette affectation et je la colle au début ?
ouai :wink:

pour les erreurs qui aparaisse c'est normale pusique si tu n'upload rien (vu que t'affiche uniquement la page) que $_FILES['image_news']['name'] n'existe pas ainsi que le reste

va falloir plutot faire
if(!empty($_FILES))
{
$fichier = basename($_FILES['image_news']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_news']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_news']['name'], '.');
}

Eléphant du PHP | 82 Messages

08 juin 2010, 17:09

Avant l'envoi du formulaire : toujours les notices,

Après :

Array ( [image_news] => Array ( [name] => cube1.jpg [type] => image/jpeg [tmp_name] => /var/log/tmp/phpvfTqGS [error] => 0 [size] => 5052 ) ) Upload effectué avec succès !
avec le formulaire en dessous, et il n'y a pas eu d'insertion dans la BDD, ça n'a pas vraiment marché quoi.

insert_news.php :
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
print_r($_FILES);
$chemin_destination = 'sites/all/images';
$dossier = 'sites/all/images';
$fichier = basename($_FILES['image_news']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_news']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_news']['name'], '.'); 
//D&eacute;but des v&eacute;rifications de s&eacute;curit&eacute;...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, ou jpeg';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop lourd';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇ&egrave;&eacute;ÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåç&egrave;&eacute;êëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['image_news']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionn&eacute;
     {
          echo 'Upload effectu&eacute; avec succ&egrave;s !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo '&Eacute;chec de l\'upload !';
     }
}
else
{
     echo $erreur;
}

// MOVE UPLOADED FILE
if ((isset($_FILES['image_news']['fichier'])&&($_FILES['image_news']['error'] == UPLOAD_ERR_OK))) {
move_uploaded_file($_FILES['image_news']['tmp_name'], $chemin_destination.$_FILES['image_news']['name']);
}


// on teste si le formulaire a &eacute;t&eacute; valid&eacute;
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
// on se connecte à notre base
$base = mysql_connect ('***', '***', '***');  
mysql_select_db('***', $base);  

// on teste la d&eacute;claration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['texte_news'])) {
        $erreur = 'Les variables n&eacute;cessaires au script ne sont pas d&eacute;finies.';
}
else {
		if(!empty($_FILES))
		{
		$fichier = basename($_FILES['image_news']['name']);
		$taille_maxi = 102400;
		$taille = filesize($_FILES['image_news']['tmp_name']);
		$extensions = array('.png', '.gif', '.jpg', '.jpeg');
		$extension = strrchr($_FILES['image_news']['name'], '.');
		}
		
		/*
		if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['texte_news'])) {
                $erreur = 'Au moins un des champs est vide.';
        }
		*/
		
        // si tout est bon, on peut commencer l'insertion dans la base
        else {
                // lancement de la requête d'insertion
                $sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("d-m-Y H:i:s").'", "'.mysql_escape_string($chemin_destination.$_FILES['image_news']['name']).'", "'.mysql_escape_string($_POST['texte_news']).'")';
                // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) 
                echo $sql;
				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                // on ferme la connexion à la base de donn&eacute;es
                mysql_close();
                /* on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez plac&eacute; cette page dans un r&eacute;pertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'acc&egrave;s afin de retomber sur la page d'accueil du site. 
                header('Location: index.php'); */
                // on termine le script courant
                exit();
                }
        }
}

?>
<html>
<head>
<title>Insertion d'une nouvelle news</title>
</head>

<body>

<!-- on fait pointer le formulaire vers la page traitant les donn&eacute;es -->
<form method="post" action="insert_news.php" enctype="multipart/form-data">
	<table>
		<tr>
			<td>
				<span class="gras">Auteur :</span>
			</td>
			<td>
				<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
			</td>
		</tr>
		<tr>
			<td>
				<span class="gras">Titre :</span>
			</td>
			<td>
				<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
			</td>
		</tr>
		<tr>
			<td>
				<span class="gras">Image</span>
				<input type="text" style="display:none" name="nbr_photo" value="0" id="nbr_photo" />
			</td>
			<td>
				<input type=hidden name=MAX_FILE_SIZE  value=102400>
				<input type="file" name="image_news" id="image_news" value="image_news" />
			</td>   
		</tr>
		<tr>
			<td>
				<span class="gras">News :</span>
			</td>
			<td>
				<textarea name="texte_news" cols="50" rows="10"><?php if (isset($_POST['texte_news'])) echo htmlentities(trim($_POST['texte_news'])); ?></textarea>
			</td>
		</tr>
		<tr>
			<td>
			<td align="right">
				<input type="submit" name="go" value="Poster la news">
			</td>
		</tr>
	</table>
</form>
<?php
// on affiche les erreurs &eacute;ventuelles  
if (isset($erreur)) echo '<br /><br />',$erreur;  
?>
</body>
</html>