[PHP] probleme d'affichage de liens (news)

Résolu
jerryp -  
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai récement créé un site web pour un vendeur de voitures...

afin que ce dernier puisse mettre ses annonces en ligne, j'ai modifié un peu un script de news...

j'ai donc un formulaire sur une page "rediger_news.php" qui contient un champ pour le titre, et un champ pour le contenu... j'ai aussi ajouté un champ "input type="file"" afin de pouvoir ajouter des photos...
Ensuite, j'ai une page "administration.php" qui traite le formulaire et qui affiche l'annonce dans une page "annonces.php"... dans cette page administration, j'ai un script qui uploade les images et qui est sensé afficher un lien vers celles-ci dans l'annonce... Et c'est là que ça coince...
L'image est correctement uploadée, mais le lien qui s'affiche dans l'annonce est invalide et donne sur une page "forbidden"...

voici ma page "administration.php" :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
       <title>Balcicars Bütgenbach</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        body
		{
		background-image: url("../images/fond-francais-allemand.jpg");
		}
		h2, th, td, h3
        {
            text-align:center;
        }
        table
        {
            border-collapse:collapse;
            border:2px solid black;
            margin:auto;
        }
        th, td
        {
            border:1px solid black;
        }
        </style>
    </head>
    
    <body>
 
<h2><a href="rediger_news.php">Ajouter une annonce</a></h2>
<h3><a href="../annonces.php">Retour à la liste d'annonces</a></h3>

<?php
mysql_connect("localhost", "*****", "*****");
mysql_select_db("balcicars_be");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);
    // On vérifie si c'est une modification de news ou pas
    if ($_POST['id_news'] == 0)
    {
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        mysql_query('INSERT INTO news(titre, contenu) VALUES(\''. $titre. '\', \''. $contenu.'\')')or die(mysql_error());
    }
    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'] . "'")or die(mysql_error());
    }
}
 
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
    // Alors on supprime la news correspondante
    // On protège la variable "id_news" pour éviter une faille SQL
    $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC')or die(mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="administration.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<?php
$i = 0;

$poid_max_avatar = 10000000;
$largeur_max_avatar = 100000000000000000;
$longeur_max_avatar = 100000000000000000;

        //On définit les variables :
        $maxsize = $poid_max_avatar; //Poid de l'image
        $maxwidth = $largeur_max_avatar; //Largeur de l'image
        $maxheight = $longeur_max_avatar; //Longueur de l'image
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo1']['error'] > 0)
        {
                $i++;
				
        }
		
        if ($_FILES['photo1']['size'] > $maxsize)
        {
                $i++;
				
        }

        $image_sizes = getimagesize($_FILES['photo1']['tmp_name']);
        if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
        {
                $i++;
				
        }
       
        $extension_upload = strtolower(substr(  strrchr($_FILES['photo1']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {
                $i++;
				
        }

if ($i == 0)
    {
		//On déplace l'avatar
		$avatar = time();
		$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
		$avatar = "../upload-admin/".str_replace(' ','',$avatar).".".$extension_upload;
		move_uploaded_file($_FILES['photo1']['tmp_name'],$avatar);
		$sql  = 'UPDATE news SET image="' . $nomavatar .'" WHERE ID=' . $donnees['id'] . ')';
mysql_query($sql)
    }
	;
	?>
	<?php
$j = 0;

$poid_max_avatar_2 = 10000000;
$largeur_max_avatar_2 = 100000000000000000;
$longeur_max_avatar_2 = 100000000000000000;

        //On définit les variables :
        $maxsize_2 = $poid_max_avatar_2; //Poid de l'image
        $maxwidth_2 = $largeur_max_avatar_2; //Largeur de l'image
        $maxheight_2 = $longeur_max_avatar_2; //Longueur de l'image
        $extensions_valides_2 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo2']['error'] > 0)
        {
                $j++;
				
        }
		
        if ($_FILES['photo2']['size'] > $maxsize_2)
        {
                $j++;
				
        }

        $image_sizes_2 = getimagesize($_FILES['photo2']['tmp_name']);
        if ($image_sizes_2[0] > $maxwidth_2 OR $image_sizes_2[1] > $maxheight_2)
        {
                $j++;
				
        }
       
        $extension_upload_2 = strtolower(substr(  strrchr($_FILES['photo2']['name'], '.')  ,1));
        if (!in_array($extension_upload_2,$extensions_valides_2) )
        {
                $j++;
				
        }

if ($j == 0)
    {
		//On déplace l'avatar
		$avatar_2 = time();
		$nomavatar_2 = str_replace(' ','',$avatar_2).".".$extension_upload_2;
		$avatar_2 = "../upload-admin/".str_replace(' ','',$avatar_2).".".$extension_upload_2;
		move_uploaded_file($_FILES['photo2']['tmp_name'],$avatar_2);
		$sql2  = 'UPDATE news SET image2="' . $nomavatar_2 .'" WHERE ID=' . $donnees['id'] . ')';
mysql_query($sql2);
    }
	
	?>
	<?php
$k = 0;

$poid_max_avatar_3 = 10000000;
$largeur_max_avatar_3 = 100000000000000000;
$longeur_max_avatar_3 = 100000000000000000;

        //On définit les variables :
        $maxsize_3 = $poid_max_avatar_3; //Poid de l'image
        $maxwidth_3 = $largeur_max_avatar_3; //Largeur de l'image
        $maxheight_3 = $longeur_max_avatar_3; //Longueur de l'image
        $extensions_valides_3 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo3']['error'] > 0)
        {
                $k++;
				
        }
		
        if ($_FILES['photo3']['size'] > $maxsize_3)
        {
                $k++;
				
        }

        $image_sizes_3 = getimagesize($_FILES['photo3']['tmp_name']);
        if ($image_sizes_3[0] > $maxwidth_3 OR $image_sizes_3[1] > $maxheight_3)
        {
                $k++;
				
        }
       
        $extension_upload_3 = strtolower(substr(  strrchr($_FILES['photo3']['name'], '.')  ,1));
        if (!in_array($extension_upload_3,$extensions_valides_3) )
        {
                $k++;
				
        }

if ($k == 0)
    {
		//On déplace l'avatar
		$avatar_3 = time();
		$nomavatar_3 = str_replace(' ','',$avatar_3).".".$extension_upload_3;
		$avatar_3 = "../upload-admin/".str_replace(' ','',$avatar_3).".".$extension_upload_3;
		move_uploaded_file($_FILES['photo3']['tmp_name'],$avatar_3);
		$sql3  = 'UPDATE news SET image3="' . $nomavatar_3 .'" WHERE ID=' . $donnees['id'] . ')';
mysql_query($sql3);
    }
	
	?>
	<?php
$l = 0;

$poid_max_avatar_4 = 10000000;
$largeur_max_avatar_4 = 100000000000000000;
$longeur_max_avatar_4 = 100000000000000000;

        //On définit les variables :
        $maxsize_4 = $poid_max_avatar_4; //Poid de l'image
        $maxwidth_4 = $largeur_max_avatar_4; //Largeur de l'image
        $maxheight_4 = $longeur_max_avatar_4; //Longueur de l'image
        $extensions_valides_4 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo4']['error'] > 0)
        {
                $l++;
				
        }
		
        if ($_FILES['photo4']['size'] > $maxsize_4)
        {
                $l++;
				
        }

        $image_sizes_4 = getimagesize($_FILES['photol']['tmp_name']);
        if ($image_sizes_4[0] > $maxwidth_4 OR $image_sizes_4[1] > $maxheight_4)
        {
                $l++;
				
        }
       
        $extension_upload_4 = strtolower(substr(  strrchr($_FILES['photo4']['name'], '.')  ,1));
        if (!in_array($extension_upload_4,$extensions_valides_4) )
        {
                $l++;
				
        }

if ($l == 0)
    {
		//On déplace l'avatar
		$avatar_4 = time();
		$nomavatar_4 = str_replace(' ','',$avatar_4).".".$extension_upload_4;
		$avatar_4 = "../upload-admin/".str_replace(' ','',$avatar_4).".".$extension_upload_4;
		move_uploaded_file($_FILES['photo4']['tmp_name'],$avatar_4);
		$sql4  = 'UPDATE news SET image4="' . $nomavatar_4 .'" WHERE ID=' . $donnees['id'] . ')';
mysql_query($sql4);
    }
	
	?>
	<?php
$m = 0;

$poid_max_avatar_5 = 10000000;
$largeur_max_avatar_5 = 100000000000000000;
$longeur_max_avatar_5 = 100000000000000000;

        //On définit les variables :
        $maxsize_5 = $poid_max_avatar_5; //Poid de l'image
        $maxwidth_5 = $largeur_max_avatar_5; //Largeur de l'image
        $maxheight_5 = $longeur_max_avatar_5; //Longueur de l'image
        $extensions_valides_5 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo5']['error'] > 0)
        {
                $m++;
				
        }
		
        if ($_FILES['photo5']['size'] > $maxsize_5)
        {
                $m++;
				
        }

        $image_sizes_5 = getimagesize($_FILES['photo5']['tmp_name']);
        if ($image_sizes_5[0] > $maxwidth_5 OR $image_sizes_5[1] > $maxheight_5)
        {
                $m++;
				
        }
       
        $extension_upload_5 = strtolower(substr(  strrchr($_FILES['photo5']['name'], '.')  ,1));
        if (!in_array($extension_upload_5,$extensions_valides_5) )
        {
                $m++;
				
        }

if ($m == 0)
    {
		//On déplace l'avatar
		$avatar_5 = time();
		$nomavatar_5 = str_replace(' ','',$avatar_5).".".$extension_upload_5;
		$avatar_5 = "../upload-admin/".str_replace(' ','',$avatar_5).".".$extension_upload_5;
		move_uploaded_file($_FILES['photo5']['tmp_name'],$avatar_5);
		$sql5  = 'UPDATE news SET image5="' . $nomavatar_5 .'" WHERE ID=' . $donnees['id'] . ')';
mysql_query($sql5);
    }

	mysql_close();
	?>
</body>
</html>


Je sais que cette page est très mal organisée et difficile à lire... mais je n'ai pas vraiment le temps de m'en occuper maintenant... désolé...

et ma page "annonces.php" :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Balcicars Annonces Angebote</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        h1
        {
            text-align:center;
			color: rgb(168, 0, 8);
			text-decoration: underline;
        }
        h3
        {
			text-align: center;
            background-color: black;
            color: white;
            font-size: 0.9em;
            margin-bottom: 0px;
        }
        .news p
        {
            background-color:#CCCCCC;
            margin-top:0px;
        }
        .news
        {
            width:70%;
            margin:auto;
        }
		body
		{
		width: 800px;
		margin: auto;
		margin-top: 10px;
		margin-bottom: 10px;
		background-image: url("images/fond-francais-allemand.jpg");
		}
		.retour-fr
		{
		color: rgb(43, 72, 123);
		font-weight: bold;
		}
		.retour-de
		{
		color: rgb(43, 72, 123);
		font-weight: bold;
		}
		a
		{
		color: red;
		font-weight: bold;
		}

        </style>
    </head>
    
    <body>
<h1>Annonces.</h1>
<h1>Angebote.</h1>

 
<?php
mysql_connect("localhost", "*****", "*****");
mysql_select_db("balcicars_be");
// On récupère les 5 dernières news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 1000')or die(mysql_error());
while ($donnees = mysql_fetch_array($retour))
{
?>
<div class="news">
    <h3>
        <?php echo $donnees['titre']; ?>
    </h3>
    
    <p>
    <?php
    // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
    $contenu = nl2br(stripslashes($donnees['contenu']));
    echo $contenu; ?>
	<br/><br/>
	<?php
	
	echo '<a href="./upload-admin/'.$donnees['image'].'">Photo 1</a><br/>';
	
	echo '<a href="./upload-admin/'.$donnees['image2'].'">Photo 2</a><br/>';
	
	echo '<a href="./upload-admin/'.$donnees['image3'].'">Photo 3</a><br/>';
	
	echo '<a href="./upload-admin/'.$donnees['image4'].'">Photo 4</a><br/>';
	
	echo '<a href="./upload-admin/'.$donnees['image5'].'">Photo 5</a><br/>';
    
	?>
	<br/>
	
    </p>
</div>
<?php
} // Fin de la boucle des news
?>
<p class="retour-fr">Veuillez cliquer <a href="francais.html">ICI</a> pour retourner à la page d'acceuil en français.</p>
<p class="retour-de">Klicken Sie bitte <a href="allemand.html">HIER</a> um zur Deutschen Hauptseite zu gelangen.</p>
</body>
</html>


J'ai bien évidemment créé dans la base de données un champ id, un champ titre, un champ contenu et les différents champ image, image2, 3, 4, 5...

Le lien est incorrect, mais le chemin de l'image n'est même pas stocké dans la base de données...
J'ai déjà demandé dans plusieurs forums, mais je n'ai pas eu de réponse correcte... vous êtes mon dernier espoir...


Je vous remercie chaleureusement,

jerryp
A voir également:

182 réponses

jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

Ah, java, je ne connais pas du tout...

il me fait une erreur avec le "if" de la ligne 53 :
Parse error: syntax error, unexpected T_IF in /customers/balcicars.be/balcicars.be/httpd.www/admin/administration.php on line 53


j'ai regardé, mais je ne vois pas l'erreur... peut-être le manque de sommeil :-p

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

C'est dû à une coquille de ma part: j'ai oublié le point-virgule après $operation=0 à la ligne 48.
Mea culpa. =)


Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

j'ai essayé le code,
il fonctionne ! Mais pas à la perfection...
Si j'ajoute plusieurs images à la fois, il se crée une news pour chaque image... j'ai donc sur ma page annonces une news avec l'image 1, une news avec l'image 2, une news avec l'image 3, etc...

ça progresse !

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

Que de différences par rapport au début ! =D
Enfin ça fonctionne ! La base de données ne fait plus la sourde oreille ! Super !

Aux fignolages à présent. J'ai repéré quelques petites coquilles (sutiles) dans le fichier annonces.php.
Voici une nouvelle mouture:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Balcicars Annonces Angebote</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        h1
        {
            text-align:center;
			color: rgb(168, 0, 8);
			text-decoration: underline;
        }
        h3
        {
			text-align: center;
            background-color: black;
            color: white;
            font-size: 0.9em;
            margin-bottom: 0px;
        }
        .news p
        {
            background-color:#CCCCCC;
            margin-top:0px;
        }
        .news
        {
            width:70%;
            margin:auto;
        }
		body
		{
		width: 800px;
		margin: auto;
		margin-top: 10px;
		margin-bottom: 10px;
		background-image: url("images/fond-francais-allemand.jpg");
		}
		.retour-fr
		{
		color: rgb(43, 72, 123);
		font-weight: bold;
		}
		.retour-de
		{
		color: rgb(43, 72, 123);
		font-weight: bold;
		}
		a
		{
		color: red;
		font-weight: bold;
		}

        </style>
    </head>
    
    <body>
<h1>Annonces.</h1>
<h1>Angebote.</h1>

 
<?php
mysql_connect("localhost", "*****", "*****");
mysql_select_db("balcicars_be");
// On récupère les 5 dernières news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 1000')or die(mysql_error());
while ($donnees = mysql_fetch_array($retour))
{
?>
<div class="news">
    <h3>
        <?php echo $donnees['titre']; ?>
    </h3>
    
    <p>
    <?php
    // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
    $contenu = nl2br(stripslashes($donnees['contenu']));
    echo $contenu; ?>
	<br/><br/>
	<?php
	
	echo '<a href="./upload-admin/',$donnees['image'],'">Photo 1</a><br/>';
	
	echo '<a href="./upload-admin/',$donnees['image2'],'">Photo 2</a><br/>';
	
	echo '<a href="./upload-admin/',$donnees['image3'],'">Photo 3</a><br/>';
	
	echo '<a href="./upload-admin/',$donnees['image4'],'">Photo 4</a><br/>';
	
	echo '<a href="./upload-admin/',$donnees['image5'],'">Photo 5</a><br/>';
    
	?>
	<br/>
	
    </p>
</div>
<?php
} // Fin de la boucle des news
?>
<p class="retour-fr">Veuillez cliquer <a href="francais.html">ICI</a> pour retourner à la page d'acceuil en français.</p>
<p class="retour-de">Klicken Sie bitte <a href="allemand.html">HIER</a> um zur Deutschen Hauptseite zu gelangen.</p>
</body>
</html>



Cordialement,
el_linwin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

ah, ça change encore un peu...

j'ai toujours, une news pour chaque image... mais j'ai une news qui ne contient pas d'image, mais qui contient le titre et le contenu de l'annonce...


cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

J'ai une idée qui vient de me venir à l'instant. Elle est un peu osée sur le plan du code, mais elle peut en valoir la chandelle. Je code ça et je vous le transmet.


Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

pas de problèmes... je me réjouis de voir votre idée :-)

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

Voici la tentative osée:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
       <title>Balcicars Bütgenbach</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        body
		{
		background-image: url("../images/fond-francais-allemand.jpg");
		}
		h2, th, td, h3
        {
            text-align:center;
        }
        table
        {
            border-collapse:collapse;
            border:2px solid black;
            margin:auto;
        }
        th, td
        {
            border:1px solid black;
        }
        </style>
    </head>

    <body>

<h2><a href="rediger_news.php">Ajouter une annonce</a></h2>
<h3><a href="../annonces.php">Retour à la liste d'annonces</a></h3>

<?php
$connexion_mysql=mysql_connect("localhost", "*****", "*****");
if ($connexion_mysql) {
 echo '<p>Test [Connexion au serveur MySQL] = OK</p>';
} else {
 echo '<p>Test [Connexion au serveur MySQL] = Erreur</p>';
}
$connexion_base=mysql_select_db("balcicars_be");
if ($connexion_mysql) {
 echo '<p>Test [Connexion à la base de données] = OK</p>';
} else {
 echo '<p>Test [Connexion à la base de données] = Erreur</p>';
}

// Variable d'opération
$operation=0;

//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) && isset($_POST['contenu']))
{
    echo '<p>Test [Postage de news] = Appelé</p>';

    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);

    echo '<p>Test: titre="',$titre,'" idnews="',$_POST['id_news'],'" contenu="',$contenu,'"</p>';

    // On vérifie si c'est une modification de news ou pas
    if ($_POST['id_news'] == 0)
    {   echo '<p>Test [Modification de news] = Création</p>';
        $operation=1;
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        //mysql_query('INSERT INTO news(titre, contenu) VALUES(\''. $titre. '\', \''. $contenu.'\')') or die(mysql_error());
    }
    else
    {   echo '<p>Test [Modification de news] = Modification</p>';
        $operation=2;
        // 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'] . "'")or die(mysql_error());
    }
} else {
 echo '<p>Test [Postage de news] = Pas appelé</p>';
}
 
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{   echo '<p>Test [Suppression de news] = Vrai</p>';
    // Alors on supprime la news correspondante
    // On protège la variable "id_news" pour éviter une faille SQL
    $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
} else {
 echo '<p>Test [Suppression de news] = Faux</p>';
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' , $donnees['id'] , '">'; ?>Modifier</a></td>
<td><?php echo '<a href="administration.php?supprimer_news=' , $donnees['id'] , '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<?php
$i = 0;

$poid_max_avatar = 10000000;
$largeur_max_avatar = 100000000000000000;
$longeur_max_avatar = 100000000000000000;

        //On définit les variables :
        $maxsize = $poid_max_avatar; //Poid de l'image
        $maxwidth = $largeur_max_avatar; //Largeur de l'image
        $maxheight = $longeur_max_avatar; //Longueur de l'image
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       echo '<p>Test avatar 1</p>';
        if ($_FILES['photo1']['error'] > 0)
        {       echo '<p>Test avatar 1: [photo1][error]>0 </p>';
                $i++;
				
        }
		
        if ($_FILES['photo1']['size'] > $maxsize)
        {       echo '<p>Test avatar 1: [photo1][size] supérieur à ',$maxsize,'</p>';
                $i++;
				
        }

        $image_sizes = getimagesize($_FILES['photo1']['tmp_name']);
        if ($image_sizes[0] > $maxwidth || $image_sizes[1] > $maxheight)
        {       echo '<p>Test avatar 1: [photo1]=erreur de taille</p>';
                $i++;
				
        }
       
        $extension_upload = strtolower(substr(  strrchr($_FILES['photo1']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {       echo '<p>Test avatar 1: [photo1]=erreur d\'extension</p>';
                $i++;
				
        }

if ($i == 0)
    {
	//On déplace l'avatar
	$avatar = time();
	$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
	$avatar = "../upload-admin/".str_replace(' ','',$avatar).".".$extension_upload;
	move_uploaded_file($_FILES['photo1']['tmp_name'],"$avatar");
	//if ($operation==1) {$sql="INSERT INTO news(image) VALUES('". $nomavatar. "')";mysql_query($sql);}
	//if ($operation==2) {$sql="UPDATE news SET image='" . $nomavatar ."' WHERE id='" . $donnees['id']."'";mysql_query($sql);}
    }
	?>
	<?php
$j = 0;

$poid_max_avatar_2 = 10000000;
$largeur_max_avatar_2 = 100000000000000000;
$longeur_max_avatar_2 = 100000000000000000;

        //On définit les variables :
        $maxsize_2 = $poid_max_avatar_2; //Poid de l'image
        $maxwidth_2 = $largeur_max_avatar_2; //Largeur de l'image
        $maxheight_2 = $longeur_max_avatar_2; //Longueur de l'image
        $extensions_valides_2 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo2']['error'] > 0)
        {
                $j++;
				
        }
		
        if ($_FILES['photo2']['size'] > $maxsize_2)
        {
                $j++;
				
        }

        $image_sizes_2 = getimagesize($_FILES['photo2']['tmp_name']);
        if ($image_sizes_2[0] > $maxwidth_2 || $image_sizes_2[1] > $maxheight_2)
        {
                $j++;
				
        }
       
        $extension_upload_2 = strtolower(substr(  strrchr($_FILES['photo2']['name'], '.')  ,1));
        if (!in_array($extension_upload_2,$extensions_valides_2) )
        {
                $j++;
				
        }

if ($j == 0)
    {
	//On déplace l'avatar
	$avatar_2 = time();
	$nomavatar_2 = str_replace(' ','',$avatar_2).".".$extension_upload_2;
	$avatar_2 = "../upload-admin/".str_replace(' ','',$avatar_2).".".$extension_upload_2;
	move_uploaded_file($_FILES['photo2']['tmp_name'],"$avatar_2");
	//if ($operation==1) {$sql2="INSERT INTO news(image2) VALUES('". $nomavatar_2. "')";mysql_query($sql2);}
	//if ($operation==2) {$sql2="UPDATE news SET image2='" . $nomavatar_2 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql2);}
    }
	
	?>
	<?php
$k = 0;

$poid_max_avatar_3 = 10000000;
$largeur_max_avatar_3 = 100000000000000000;
$longeur_max_avatar_3 = 100000000000000000;

        //On définit les variables :
        $maxsize_3 = $poid_max_avatar_3; //Poid de l'image
        $maxwidth_3 = $largeur_max_avatar_3; //Largeur de l'image
        $maxheight_3 = $longeur_max_avatar_3; //Longueur de l'image
        $extensions_valides_3 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo3']['error'] > 0)
        {
                $k++;
				
        }
		
        if ($_FILES['photo3']['size'] > $maxsize_3)
        {
                $k++;
				
        }

        $image_sizes_3 = getimagesize($_FILES['photo3']['tmp_name']);
        if ($image_sizes_3[0] > $maxwidth_3 || $image_sizes_3[1] > $maxheight_3)
        {
                $k++;
				
        }
       
        $extension_upload_3 = strtolower(substr(  strrchr($_FILES['photo3']['name'], '.')  ,1));
        if (!in_array($extension_upload_3,$extensions_valides_3) )
        {
                $k++;
				
        }

if ($k == 0)
    {
	//On déplace l'avatar
	$avatar_3 = time();
	$nomavatar_3 = str_replace(' ','',$avatar_3).".".$extension_upload_3;
	$avatar_3 = "../upload-admin/".str_replace(' ','',$avatar_3).".".$extension_upload_3;
	move_uploaded_file($_FILES['photo3']['tmp_name'],"$avatar_3");
	//if ($operation==1) {$sql3="INSERT INTO news(image3) VALUES('". $nomavatar_3. "')";mysql_query($sql3);}
	//if ($operation==2) {$sql3="UPDATE news SET image3='" . $nomavatar_3 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql3);}
    }
	
	?>
	<?php
$l = 0;

$poid_max_avatar_4 = 10000000;
$largeur_max_avatar_4 = 100000000000000000;
$longeur_max_avatar_4 = 100000000000000000;

        //On définit les variables :
        $maxsize_4 = $poid_max_avatar_4; //Poid de l'image
        $maxwidth_4 = $largeur_max_avatar_4; //Largeur de l'image
        $maxheight_4 = $longeur_max_avatar_4; //Longueur de l'image
        $extensions_valides_4 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo4']['error'] > 0)
        {
                $l++;
				
        }
		
        if ($_FILES['photo4']['size'] > $maxsize_4)
        {
                $l++;
				
        }

        $image_sizes_4 = getimagesize($_FILES['photo4']['tmp_name']);
        if ($image_sizes_4[0] > $maxwidth_4 || $image_sizes_4[1] > $maxheight_4)
        {
                $l++;
				
        }
       
        $extension_upload_4 = strtolower(substr(  strrchr($_FILES['photo4']['name'], '.')  ,1));
        if (!in_array($extension_upload_4,$extensions_valides_4) )
        {
                $l++;
				
        }

if ($l == 0)
    {
	//On déplace l'avatar
	$avatar_4 = time();
	$nomavatar_4 = str_replace(' ','',$avatar_4).".".$extension_upload_4;
	$avatar_4 = "../upload-admin/".str_replace(' ','',$avatar_4).".".$extension_upload_4;
	move_uploaded_file($_FILES['photo4']['tmp_name'],"$avatar_4");
	//if ($operation==1) {$sql4="INSERT INTO news(image4) VALUES('". $nomavatar_4. "')";mysql_query($sql4);}
	//if ($operation==2) {$sql4="UPDATE news SET image4='" . $nomavatar_4 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql4);}
    }
	
	?>
	<?php
$m = 0;

$poid_max_avatar_5 = 10000000;
$largeur_max_avatar_5 = 100000000000000000;
$longeur_max_avatar_5 = 100000000000000000;

        //On définit les variables :
        $maxsize_5 = $poid_max_avatar_5; //Poid de l'image
        $maxwidth_5 = $largeur_max_avatar_5; //Largeur de l'image
        $maxheight_5 = $longeur_max_avatar_5; //Longueur de l'image
        $extensions_valides_5 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo5']['error'] > 0)
        {
                $m++;
				
        }
		
        if ($_FILES['photo5']['size'] > $maxsize_5)
        {
                $m++;
				
        }

        $image_sizes_5 = getimagesize($_FILES['photo5']['tmp_name']);
        if ($image_sizes_5[0] > $maxwidth_5 || $image_sizes_5[1] > $maxheight_5)
        {
                $m++;
				
        }
       
        $extension_upload_5 = strtolower(substr(  strrchr($_FILES['photo5']['name'], '.')  ,1));
        if (!in_array($extension_upload_5,$extensions_valides_5) )
        {
                $m++;
				
        }

if ($m == 0)
    {
	//On déplace l'avatar
	$avatar_5 = time();
	$nomavatar_5 = str_replace(' ','',$avatar_5).".".$extension_upload_5;
	$avatar_5 = "../upload-admin/".str_replace(' ','',$avatar_5).".".$extension_upload_5;
	move_uploaded_file($_FILES['photo5']['tmp_name'],"$avatar_5");
	//if ($operation==1) {$sql5="INSERT INTO news(image5) VALUES('". $nomavatar_5. "')";mysql_query($sql5);}
	//if ($operation==2) {$sql5="UPDATE news SET image5='" . $nomavatar_5 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql5);}
    }

// Opérations de mise à jour de la BDD en une seule fois !
if ($operation==1) {
 // Création de news
 $sql="INSERT INTO news(titre,contenu,image,image2,image3,image4,image5) VALUES(";
 $sql.="'".$titre."',";
 $sql.="'".$contenu."',";
 $sql.="'".$nomavatar."',";
 $sql.="'".$nomavatar_2."',";
 $sql.="'".$nomavatar_3."',";
 $sql.="'".$nomavatar_4."',";
 $sql.="'".$nomavatar_5."')";
 mysql_query($sql) or die(mysql_error());
}
if ($operation==2) {
 // Edition de news
 $sql="UDPATE news SET ";
 $sql.="titre='".$titre."',";
 $sql.="contenu='".$contenu."',";
 $sql.="image='".$nomavatar."',";
 $sql.="image2='".$nomavatar_2."',";
 $sql.="image3='".$nomavatar_3."',";
 $sql.="image4='".$nomavatar_4."',";
 $sql.="image5='".$nomavatar_5."' ";
 $sql.="WHERE id='".$POST['id_news']."'";
 mysql_query($sql) or die(mysql_error());
}
	mysql_close();
	?>
</body>
</html>


Cordialement,
el_linwin
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

Précision: il s'agit du fichier administration.php. =)


Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
Bonsoir,

maintenant, je n'ai plus que une seule news, mais les liens sont tous identiques et donnent sur la même image...

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

Nouveau coup d'essai (toujours administration.php):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
       <title>Balcicars Bütgenbach</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        body
		{
		background-image: url("../images/fond-francais-allemand.jpg");
		}
		h2, th, td, h3
        {
            text-align:center;
        }
        table
        {
            border-collapse:collapse;
            border:2px solid black;
            margin:auto;
        }
        th, td
        {
            border:1px solid black;
        }
        </style>
    </head>

    <body>

<h2><a href="rediger_news.php">Ajouter une annonce</a></h2>
<h3><a href="../annonces.php">Retour à la liste d'annonces</a></h3>

<?php
$connexion_mysql=mysql_connect("localhost", "*****", "*****");
if ($connexion_mysql) {
 echo '<p>Test [Connexion au serveur MySQL] = OK</p>';
} else {
 echo '<p>Test [Connexion au serveur MySQL] = Erreur</p>';
}
$connexion_base=mysql_select_db("balcicars_be");
if ($connexion_mysql) {
 echo '<p>Test [Connexion à la base de données] = OK</p>';
} else {
 echo '<p>Test [Connexion à la base de données] = Erreur</p>';
}

// Variable d'opération
$operation=0;

//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) && isset($_POST['contenu']))
{
    echo '<p>Test [Postage de news] = Appelé</p>';

    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);

    echo '<p>Test: titre="',$titre,'" idnews="',$_POST['id_news'],'" contenu="',$contenu,'"</p>';

    // On vérifie si c'est une modification de news ou pas
    if ($_POST['id_news'] == 0)
    {   echo '<p>Test [Modification de news] = Création</p>';
        $operation=1;
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        //mysql_query('INSERT INTO news(titre, contenu) VALUES(\''. $titre. '\', \''. $contenu.'\')') or die(mysql_error());
    }
    else
    {   echo '<p>Test [Modification de news] = Modification</p>';
        $operation=2;
        // 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'] . "'")or die(mysql_error());
    }
} else {
 echo '<p>Test [Postage de news] = Pas appelé</p>';
}
 
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{   echo '<p>Test [Suppression de news] = Vrai</p>';
    // Alors on supprime la news correspondante
    // On protège la variable "id_news" pour éviter une faille SQL
    $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
} else {
 echo '<p>Test [Suppression de news] = Faux</p>';
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' , $donnees['id'] , '">'; ?>Modifier</a></td>
<td><?php echo '<a href="administration.php?supprimer_news=' , $donnees['id'] , '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<?php
$i = 0;

$poid_max_avatar = 10000000;
$largeur_max_avatar = 100000000000000000;
$longeur_max_avatar = 100000000000000000;

        //On définit les variables :
        $maxsize = $poid_max_avatar; //Poid de l'image
        $maxwidth = $largeur_max_avatar; //Largeur de l'image
        $maxheight = $longeur_max_avatar; //Longueur de l'image
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       echo '<p>Test avatar 1</p>';
        if ($_FILES['photo1']['error'] > 0)
        {       echo '<p>Test avatar 1: [photo1][error]>0 </p>';
                $i++;
				
        }
		
        if ($_FILES['photo1']['size'] > $maxsize)
        {       echo '<p>Test avatar 1: [photo1][size] supérieur à ',$maxsize,'</p>';
                $i++;
				
        }

        $image_sizes = getimagesize($_FILES['photo1']['tmp_name']);
        if ($image_sizes[0] > $maxwidth || $image_sizes[1] > $maxheight)
        {       echo '<p>Test avatar 1: [photo1]=erreur de taille</p>';
                $i++;
				
        }
       
        $extension_upload = strtolower(substr(  strrchr($_FILES['photo1']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {       echo '<p>Test avatar 1: [photo1]=erreur d\'extension</p>';
                $i++;
				
        }

if ($i == 0)
    {
	//On déplace l'avatar
	$avatar = time();
	$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
	$avatar = "../upload-admin/".str_replace(' ','',$avatar).".".$extension_upload;
	move_uploaded_file($_FILES['photo1']['tmp_name'],"$avatar");
	//if ($operation==1) {$sql="INSERT INTO news(image) VALUES('". $nomavatar. "')";mysql_query($sql);}
	//if ($operation==2) {$sql="UPDATE news SET image='" . $nomavatar ."' WHERE id='" . $donnees['id']."'";mysql_query($sql);}
    }
	?>
	<?php
$j = 0;

$poid_max_avatar_2 = 10000000;
$largeur_max_avatar_2 = 100000000000000000;
$longeur_max_avatar_2 = 100000000000000000;

        //On définit les variables :
        $maxsize_2 = $poid_max_avatar_2; //Poid de l'image
        $maxwidth_2 = $largeur_max_avatar_2; //Largeur de l'image
        $maxheight_2 = $longeur_max_avatar_2; //Longueur de l'image
        $extensions_valides_2 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo2']['error'] > 0)
        {
                $j++;
				
        }
		
        if ($_FILES['photo2']['size'] > $maxsize_2)
        {
                $j++;
				
        }

        $image_sizes_2 = getimagesize($_FILES['photo2']['tmp_name']);
        if ($image_sizes_2[0] > $maxwidth_2 || $image_sizes_2[1] > $maxheight_2)
        {
                $j++;
				
        }
       
        $extension_upload_2 = strtolower(substr(  strrchr($_FILES['photo2']['name'], '.')  ,1));
        if (!in_array($extension_upload_2,$extensions_valides_2) )
        {
                $j++;
				
        }

if ($j == 0)
    {
	//On déplace l'avatar
	$avatar_2 = time();
	$nomavatar_2 = str_replace(' ','',$avatar_2).".".$extension_upload_2;
	$avatar_2 = "../upload-admin/".str_replace(' ','',$avatar_2).".".$extension_upload_2;
	move_uploaded_file($_FILES['photo2']['tmp_name'],"$avatar_2");
	//if ($operation==1) {$sql2="INSERT INTO news(image2) VALUES('". $nomavatar_2. "')";mysql_query($sql2);}
	//if ($operation==2) {$sql2="UPDATE news SET image2='" . $nomavatar_2 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql2);}
    }
	
	?>
	<?php
$k = 0;

$poid_max_avatar_3 = 10000000;
$largeur_max_avatar_3 = 100000000000000000;
$longeur_max_avatar_3 = 100000000000000000;

        //On définit les variables :
        $maxsize_3 = $poid_max_avatar_3; //Poid de l'image
        $maxwidth_3 = $largeur_max_avatar_3; //Largeur de l'image
        $maxheight_3 = $longeur_max_avatar_3; //Longueur de l'image
        $extensions_valides_3 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo3']['error'] > 0)
        {
                $k++;
				
        }
		
        if ($_FILES['photo3']['size'] > $maxsize_3)
        {
                $k++;
				
        }

        $image_sizes_3 = getimagesize($_FILES['photo3']['tmp_name']);
        if ($image_sizes_3[0] > $maxwidth_3 || $image_sizes_3[1] > $maxheight_3)
        {
                $k++;
				
        }
       
        $extension_upload_3 = strtolower(substr(  strrchr($_FILES['photo3']['name'], '.')  ,1));
        if (!in_array($extension_upload_3,$extensions_valides_3) )
        {
                $k++;
				
        }

if ($k == 0)
    {
	//On déplace l'avatar
	$avatar_3 = time();
	$nomavatar_3 = str_replace(' ','',$avatar_3).".".$extension_upload_3;
	$avatar_3 = "../upload-admin/".str_replace(' ','',$avatar_3).".".$extension_upload_3;
	move_uploaded_file($_FILES['photo3']['tmp_name'],"$avatar_3");
	//if ($operation==1) {$sql3="INSERT INTO news(image3) VALUES('". $nomavatar_3. "')";mysql_query($sql3);}
	//if ($operation==2) {$sql3="UPDATE news SET image3='" . $nomavatar_3 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql3);}
    }
	
	?>
	<?php
$l = 0;

$poid_max_avatar_4 = 10000000;
$largeur_max_avatar_4 = 100000000000000000;
$longeur_max_avatar_4 = 100000000000000000;

        //On définit les variables :
        $maxsize_4 = $poid_max_avatar_4; //Poid de l'image
        $maxwidth_4 = $largeur_max_avatar_4; //Largeur de l'image
        $maxheight_4 = $longeur_max_avatar_4; //Longueur de l'image
        $extensions_valides_4 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo4']['error'] > 0)
        {
                $l++;
				
        }
		
        if ($_FILES['photo4']['size'] > $maxsize_4)
        {
                $l++;
				
        }

        $image_sizes_4 = getimagesize($_FILES['photo4']['tmp_name']);
        if ($image_sizes_4[0] > $maxwidth_4 || $image_sizes_4[1] > $maxheight_4)
        {
                $l++;
				
        }
       
        $extension_upload_4 = strtolower(substr(  strrchr($_FILES['photo4']['name'], '.')  ,1));
        if (!in_array($extension_upload_4,$extensions_valides_4) )
        {
                $l++;
				
        }

if ($l == 0)
    {
	//On déplace l'avatar
	$avatar_4 = time();
	$nomavatar_4 = str_replace(' ','',$avatar_4).".".$extension_upload_4;
	$avatar_4 = "../upload-admin/".str_replace(' ','',$avatar_4).".".$extension_upload_4;
	move_uploaded_file($_FILES['photo4']['tmp_name'],"$avatar_4");
	//if ($operation==1) {$sql4="INSERT INTO news(image4) VALUES('". $nomavatar_4. "')";mysql_query($sql4);}
	//if ($operation==2) {$sql4="UPDATE news SET image4='" . $nomavatar_4 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql4);}
    }
	
	?>
	<?php
$m = 0;

$poid_max_avatar_5 = 10000000;
$largeur_max_avatar_5 = 100000000000000000;
$longeur_max_avatar_5 = 100000000000000000;

        //On définit les variables :
        $maxsize_5 = $poid_max_avatar_5; //Poid de l'image
        $maxwidth_5 = $largeur_max_avatar_5; //Largeur de l'image
        $maxheight_5 = $longeur_max_avatar_5; //Longueur de l'image
        $extensions_valides_5 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo5']['error'] > 0)
        {
                $m++;
				
        }
		
        if ($_FILES['photo5']['size'] > $maxsize_5)
        {
                $m++;
				
        }

        $image_sizes_5 = getimagesize($_FILES['photo5']['tmp_name']);
        if ($image_sizes_5[0] > $maxwidth_5 || $image_sizes_5[1] > $maxheight_5)
        {
                $m++;
				
        }
       
        $extension_upload_5 = strtolower(substr(  strrchr($_FILES['photo5']['name'], '.')  ,1));
        if (!in_array($extension_upload_5,$extensions_valides_5) )
        {
                $m++;
				
        }

if ($m == 0)
    {
	//On déplace l'avatar
	$avatar_5 = time();
	$nomavatar_5 = str_replace(' ','',$avatar_5).".".$extension_upload_5;
	$avatar_5 = "../upload-admin/".str_replace(' ','',$avatar_5).".".$extension_upload_5;
	move_uploaded_file($_FILES['photo5']['tmp_name'],"$avatar_5");
	//if ($operation==1) {$sql5="INSERT INTO news(image5) VALUES('". $nomavatar_5. "')";mysql_query($sql5);}
	//if ($operation==2) {$sql5="UPDATE news SET image5='" . $nomavatar_5 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql5);}
    }

// Opérations de mise à jour de la BDD en une seule fois !
if ($operation==1) {
 // Création de news
 $sql="INSERT INTO news(titre,contenu,image,image2,image3,image4,image5) VALUES(";
 $sql.="'".$titre."',";
 $sql.="'".$contenu."',";
 $sql.="'".$nomavatar."',";
 $sql.="'".$nomavatar_2."',";
 $sql.="'".$nomavatar_3."',";
 $sql.="'".$nomavatar_4."',";
 $sql.="'".$nomavatar_5."')";
 mysql_query($sql) or die(mysql_error());
}
if ($operation==2) {
 // Edition de news
 $sql="UDPATE news SET ";
 $sql.="titre='".$titre."',";
 $sql.="contenu='".$contenu."',";
 $sql.="image='".$nomavatar."',";
 $sql.="image2='".$nomavatar_2."',";
 $sql.="image3='".$nomavatar_3."',";
 $sql.="image4='".$nomavatar_4."',";
 $sql.="image5='".$nomavatar_5."' ";
 //$sql.="WHERE id='".$POST['id_news']."'";
 $sql.="WHERE id='".$donnees['id']."'";
 mysql_query($sql) or die(mysql_error());
}
	mysql_close();
	?>
</body>
</html>



Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

toujours le même problème... tous les liens pointent vers la même image ...

La base de données se remplit correctement... Sauf que bien sur, les champs image, image2, etc ont tous la même valeur...

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

C'est bizarre. Dans la requête MySQL, j'ai bien spécifié d'inclure les contenus de $nomavatar, $nomavatar_2, $nomavatar_3, $nomavatar_4, et $nomavatar_5, dans les colonnes image, image2, image3, image4 et image5 respectivement...

Je ne vois pas comment il obtient une égalité de contenu entre tous les $nomavatar(_x)...


Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

je viens de remarquer que les lignes 159-160 ainsi que leurs "correspondants" dans les autres scripts sont sous forme de commentaires... est-ce normal ?

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

Oui, c'est normal, car la technique "osée" que j'ai employée dans cette mouture du code est de créer ou de modifier la news en une seule requête MySQL. Le code qui se charge de ça est à la fin du fichier administration.php.

L'avantage est qu'il n'y a création que d'une news à la fois.
L'inconvénient - dont je ne comprends pas l'origine pour le moment - est la bizarrerie des 5 mêmes chemins...


Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

ah, pas de problèmes, je ne savais pas...
Mais je ne vois pas l'origine du problème non plus...

cordialement,
jerryp
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

petite précision : lorsque aucune news n'est stockée dans la base de données, j'ai une perte de 200 O qui s'affiche... Mais dès que j'ajoute une news, ça disparait... bizarre

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

J'ai ajouté des lignes de débogage juste avant les requêtes MySQL finales. Cela va nous permettre de savoir si le problème est dans le traitement PHP ou dans la requête:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
       <title>Balcicars Bütgenbach</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        body
		{
		background-image: url("../images/fond-francais-allemand.jpg");
		}
		h2, th, td, h3
        {
            text-align:center;
        }
        table
        {
            border-collapse:collapse;
            border:2px solid black;
            margin:auto;
        }
        th, td
        {
            border:1px solid black;
        }
        </style>
    </head>

    <body>

<h2><a href="rediger_news.php">Ajouter une annonce</a></h2>
<h3><a href="../annonces.php">Retour à la liste d'annonces</a></h3>

<?php
$connexion_mysql=mysql_connect("localhost", "*****", "*****");
if ($connexion_mysql) {
 echo '<p>Test [Connexion au serveur MySQL] = OK</p>';
} else {
 echo '<p>Test [Connexion au serveur MySQL] = Erreur</p>';
}
$connexion_base=mysql_select_db("balcicars_be");
if ($connexion_mysql) {
 echo '<p>Test [Connexion à la base de données] = OK</p>';
} else {
 echo '<p>Test [Connexion à la base de données] = Erreur</p>';
}

// Variable d'opération
$operation=0;

//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) && isset($_POST['contenu']))
{
    echo '<p>Test [Postage de news] = Appelé</p>';

    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);

    echo '<p>Test: titre="',$titre,'" idnews="',$_POST['id_news'],'" contenu="',$contenu,'"</p>';

    // On vérifie si c'est une modification de news ou pas
    if ($_POST['id_news'] == 0)
    {   echo '<p>Test [Modification de news] = Création</p>';
        $operation=1;
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        //mysql_query('INSERT INTO news(titre, contenu) VALUES(\''. $titre. '\', \''. $contenu.'\')') or die(mysql_error());
    }
    else
    {   echo '<p>Test [Modification de news] = Modification</p>';
        $operation=2;
        // 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'] . "'")or die(mysql_error());
    }
} else {
 echo '<p>Test [Postage de news] = Pas appelé</p>';
}
 
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{   echo '<p>Test [Suppression de news] = Vrai</p>';
    // Alors on supprime la news correspondante
    // On protège la variable "id_news" pour éviter une faille SQL
    $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
} else {
 echo '<p>Test [Suppression de news] = Faux</p>';
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' , $donnees['id'] , '">'; ?>Modifier</a></td>
<td><?php echo '<a href="administration.php?supprimer_news=' , $donnees['id'] , '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<?php
$i = 0;

$poid_max_avatar = 10000000;
$largeur_max_avatar = 100000000000000000;
$longeur_max_avatar = 100000000000000000;

        //On définit les variables :
        $maxsize = $poid_max_avatar; //Poid de l'image
        $maxwidth = $largeur_max_avatar; //Largeur de l'image
        $maxheight = $longeur_max_avatar; //Longueur de l'image
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       echo '<p>Test avatar 1</p>';
        if ($_FILES['photo1']['error'] > 0)
        {       echo '<p>Test avatar 1: [photo1][error]>0 </p>';
                $i++;
				
        }
		
        if ($_FILES['photo1']['size'] > $maxsize)
        {       echo '<p>Test avatar 1: [photo1][size] supérieur à ',$maxsize,'</p>';
                $i++;
				
        }

        $image_sizes = getimagesize($_FILES['photo1']['tmp_name']);
        if ($image_sizes[0] > $maxwidth || $image_sizes[1] > $maxheight)
        {       echo '<p>Test avatar 1: [photo1]=erreur de taille</p>';
                $i++;
				
        }
       
        $extension_upload = strtolower(substr(  strrchr($_FILES['photo1']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {       echo '<p>Test avatar 1: [photo1]=erreur d\'extension</p>';
                $i++;
				
        }

if ($i == 0)
    {
	//On déplace l'avatar
	$avatar = time();
	$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
	$avatar = "../upload-admin/".str_replace(' ','',$avatar).".".$extension_upload;
	move_uploaded_file($_FILES['photo1']['tmp_name'],"$avatar");
	//if ($operation==1) {$sql="INSERT INTO news(image) VALUES('". $nomavatar. "')";mysql_query($sql);}
	//if ($operation==2) {$sql="UPDATE news SET image='" . $nomavatar ."' WHERE id='" . $donnees['id']."'";mysql_query($sql);}
    }
	?>
	<?php
$j = 0;

$poid_max_avatar_2 = 10000000;
$largeur_max_avatar_2 = 100000000000000000;
$longeur_max_avatar_2 = 100000000000000000;

        //On définit les variables :
        $maxsize_2 = $poid_max_avatar_2; //Poid de l'image
        $maxwidth_2 = $largeur_max_avatar_2; //Largeur de l'image
        $maxheight_2 = $longeur_max_avatar_2; //Longueur de l'image
        $extensions_valides_2 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo2']['error'] > 0)
        {
                $j++;
				
        }
		
        if ($_FILES['photo2']['size'] > $maxsize_2)
        {
                $j++;
				
        }

        $image_sizes_2 = getimagesize($_FILES['photo2']['tmp_name']);
        if ($image_sizes_2[0] > $maxwidth_2 || $image_sizes_2[1] > $maxheight_2)
        {
                $j++;
				
        }
       
        $extension_upload_2 = strtolower(substr(  strrchr($_FILES['photo2']['name'], '.')  ,1));
        if (!in_array($extension_upload_2,$extensions_valides_2) )
        {
                $j++;
				
        }

if ($j == 0)
    {
	//On déplace l'avatar
	$avatar_2 = time();
	$nomavatar_2 = str_replace(' ','',$avatar_2).".".$extension_upload_2;
	$avatar_2 = "../upload-admin/".str_replace(' ','',$avatar_2).".".$extension_upload_2;
	move_uploaded_file($_FILES['photo2']['tmp_name'],"$avatar_2");
	//if ($operation==1) {$sql2="INSERT INTO news(image2) VALUES('". $nomavatar_2. "')";mysql_query($sql2);}
	//if ($operation==2) {$sql2="UPDATE news SET image2='" . $nomavatar_2 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql2);}
    }
	
	?>
	<?php
$k = 0;

$poid_max_avatar_3 = 10000000;
$largeur_max_avatar_3 = 100000000000000000;
$longeur_max_avatar_3 = 100000000000000000;

        //On définit les variables :
        $maxsize_3 = $poid_max_avatar_3; //Poid de l'image
        $maxwidth_3 = $largeur_max_avatar_3; //Largeur de l'image
        $maxheight_3 = $longeur_max_avatar_3; //Longueur de l'image
        $extensions_valides_3 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo3']['error'] > 0)
        {
                $k++;
				
        }
		
        if ($_FILES['photo3']['size'] > $maxsize_3)
        {
                $k++;
				
        }

        $image_sizes_3 = getimagesize($_FILES['photo3']['tmp_name']);
        if ($image_sizes_3[0] > $maxwidth_3 || $image_sizes_3[1] > $maxheight_3)
        {
                $k++;
				
        }
       
        $extension_upload_3 = strtolower(substr(  strrchr($_FILES['photo3']['name'], '.')  ,1));
        if (!in_array($extension_upload_3,$extensions_valides_3) )
        {
                $k++;
				
        }

if ($k == 0)
    {
	//On déplace l'avatar
	$avatar_3 = time();
	$nomavatar_3 = str_replace(' ','',$avatar_3).".".$extension_upload_3;
	$avatar_3 = "../upload-admin/".str_replace(' ','',$avatar_3).".".$extension_upload_3;
	move_uploaded_file($_FILES['photo3']['tmp_name'],"$avatar_3");
	//if ($operation==1) {$sql3="INSERT INTO news(image3) VALUES('". $nomavatar_3. "')";mysql_query($sql3);}
	//if ($operation==2) {$sql3="UPDATE news SET image3='" . $nomavatar_3 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql3);}
    }
	
	?>
	<?php
$l = 0;

$poid_max_avatar_4 = 10000000;
$largeur_max_avatar_4 = 100000000000000000;
$longeur_max_avatar_4 = 100000000000000000;

        //On définit les variables :
        $maxsize_4 = $poid_max_avatar_4; //Poid de l'image
        $maxwidth_4 = $largeur_max_avatar_4; //Largeur de l'image
        $maxheight_4 = $longeur_max_avatar_4; //Longueur de l'image
        $extensions_valides_4 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo4']['error'] > 0)
        {
                $l++;
				
        }
		
        if ($_FILES['photo4']['size'] > $maxsize_4)
        {
                $l++;
				
        }

        $image_sizes_4 = getimagesize($_FILES['photo4']['tmp_name']);
        if ($image_sizes_4[0] > $maxwidth_4 || $image_sizes_4[1] > $maxheight_4)
        {
                $l++;
				
        }
       
        $extension_upload_4 = strtolower(substr(  strrchr($_FILES['photo4']['name'], '.')  ,1));
        if (!in_array($extension_upload_4,$extensions_valides_4) )
        {
                $l++;
				
        }

if ($l == 0)
    {
	//On déplace l'avatar
	$avatar_4 = time();
	$nomavatar_4 = str_replace(' ','',$avatar_4).".".$extension_upload_4;
	$avatar_4 = "../upload-admin/".str_replace(' ','',$avatar_4).".".$extension_upload_4;
	move_uploaded_file($_FILES['photo4']['tmp_name'],"$avatar_4");
	//if ($operation==1) {$sql4="INSERT INTO news(image4) VALUES('". $nomavatar_4. "')";mysql_query($sql4);}
	//if ($operation==2) {$sql4="UPDATE news SET image4='" . $nomavatar_4 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql4);}
    }
	
	?>
	<?php
$m = 0;

$poid_max_avatar_5 = 10000000;
$largeur_max_avatar_5 = 100000000000000000;
$longeur_max_avatar_5 = 100000000000000000;

        //On définit les variables :
        $maxsize_5 = $poid_max_avatar_5; //Poid de l'image
        $maxwidth_5 = $largeur_max_avatar_5; //Largeur de l'image
        $maxheight_5 = $longeur_max_avatar_5; //Longueur de l'image
        $extensions_valides_5 = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
       
        if ($_FILES['photo5']['error'] > 0)
        {
                $m++;
				
        }
		
        if ($_FILES['photo5']['size'] > $maxsize_5)
        {
                $m++;
				
        }

        $image_sizes_5 = getimagesize($_FILES['photo5']['tmp_name']);
        if ($image_sizes_5[0] > $maxwidth_5 || $image_sizes_5[1] > $maxheight_5)
        {
                $m++;
				
        }
       
        $extension_upload_5 = strtolower(substr(  strrchr($_FILES['photo5']['name'], '.')  ,1));
        if (!in_array($extension_upload_5,$extensions_valides_5) )
        {
                $m++;
				
        }

if ($m == 0)
    {
	//On déplace l'avatar
	$avatar_5 = time();
	$nomavatar_5 = str_replace(' ','',$avatar_5).".".$extension_upload_5;
	$avatar_5 = "../upload-admin/".str_replace(' ','',$avatar_5).".".$extension_upload_5;
	move_uploaded_file($_FILES['photo5']['tmp_name'],"$avatar_5");
	//if ($operation==1) {$sql5="INSERT INTO news(image5) VALUES('". $nomavatar_5. "')";mysql_query($sql5);}
	//if ($operation==2) {$sql5="UPDATE news SET image5='" . $nomavatar_5 ."' WHERE id='" . $donnees['id']."'";mysql_query($sql5);}
    }

echo "<p>Debogue: nomavatar=",$nomavatar,"</p>";
echo "<p>Debogue: nomavatar_2=",$nomavatar_2,"</p>";
echo "<p>Debogue: nomavatar_3=",$nomavatar_3,"</p>";
echo "<p>Debogue: nomavatar_4=",$nomavatar_4,"</p>";
echo "<p>Debogue: nomavatar_5=",$nomavatar_5,"</p>";

// Opérations de mise à jour de la BDD en une seule fois !
if ($operation==1) {
 // Création de news
 $sql="INSERT INTO news(titre,contenu,image,image2,image3,image4,image5) VALUES(";
 $sql.="'".$titre."',";
 $sql.="'".$contenu."',";
 $sql.="'".$nomavatar."',";
 $sql.="'".$nomavatar_2."',";
 $sql.="'".$nomavatar_3."',";
 $sql.="'".$nomavatar_4."',";
 $sql.="'".$nomavatar_5."')";
 mysql_query($sql) or die(mysql_error());
}
if ($operation==2) {
 // Edition de news
 $sql="UDPATE news SET ";
 $sql.="titre='".$titre."',";
 $sql.="contenu='".$contenu."',";
 $sql.="image='".$nomavatar."',";
 $sql.="image2='".$nomavatar_2."',";
 $sql.="image3='".$nomavatar_3."',";
 $sql.="image4='".$nomavatar_4."',";
 $sql.="image5='".$nomavatar_5."' ";
 //$sql.="WHERE id='".$POST['id_news']."'";
 $sql.="WHERE id='".$donnees['id']."'";
 mysql_query($sql) or die(mysql_error());
}
	mysql_close();
	?>
</body>
</html>


Cordialement,
el_linwin
0
jerryp Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   24
 
bonsoir,

les lignes qui s'ajoutent sont les suivantes :
Debogue: nomavatar=1217364734.jpg

Debogue: nomavatar_2=1217364734.jpg

Debogue: nomavatar_3=1217364734.jpg

Debogue: nomavatar_4=1217364734.jpg

Debogue: nomavatar_5=1217364734.jpg


le nomavatar est toujours le même...

cordialement,
jerryp
0
el_linwin Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   90
 
Bonsoir jerryp,

J'ai compris ! En analysant le code, je vois que la construction des 5 noms de fichiers est basée sur time().
Or, l'interprétation du code PHP est si rapide, que moins d'une seconde s'écoule pour générer les 5 noms !
C'est pour ça qu'ils sont identiques ! Je vais modifier le code pour ajouter '1', '2', '3', '4', '5' au début du nom pour les différencier. Ca devrait marcher !

NB: si ça ne se produisait pas avant, c'est qu'il y avait les requêtes MySQL intermédiaires qui introduisaient des temps de latence ! =D


Cordialement,
el_linwin
0