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

Résolu/Fermé
jerryp - 27 juil. 2008 à 16:38
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
- 2 août 2008 à 19:23
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

182 réponses

el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 17:08
Bonjour jerryp,

Ouf, un peu long à lire et encore plus à décoder (le SQL n'est pas ma spécialité).
Vous dites que le chemin de l'image n'est pas stocké dans la base de données.

Si je part du principe que tout est bon côté dialogue PHP/MySQL, je suis amené à penser que le chemin de l'image contient des caractères invalides lors de l'enregistrement dans la base, et se voit donc refuser l'enregistrement ou bien, le chemin est mal récupéré/traité lors de l'appel au script PHP.

Pour le moment, je ne vois rien de plus.

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 17:16
tout d'abord, je vous remercie ! et, je suis vraiment désolé d'avoir un code de qualité pitoyable et si long.

mais, je pense que ça viendrai du fait que ma variable $donnees['id'] n'est pas utilisable dans le script qui traite l'envoi du lien de l'image car cette variable à été déclarée dans la boucle de news... est-ce bien correct ?

merci beaucoup
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 17:22
Bonjour jerryp,

Après une analyse plus approfondie de votre code, il y a effectivement un problème avec la variable $donnees['id'] qui s'inscrit dans un problème plus général.

En effet, vous découpez votre fichier en plusieurs sections <?php ... ?> qui, de fait, se retrouvent indépendantes les unes des autres et, dès lors, les variables n'ont plus qu'une portée locale au bloc dans lequel elle ont été définies.

Je vous suggère de ne faire qu'un immense bloc en php où, à chaque fois que vous voulez effectuer une sortie en HTML, formulez-là ainsi: echo 'La séquence HTML à sortir';

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 17:38
rebonjour,

effectivement, je créerais des balises <?php ?> au début et à la fin du code, mais je ne vois pas vraiment comment réaliser les sorties en html...

comme vous avez pu le constater en lisant mon code, mon niveau en PHP est assez "bas"...

je vous remercie
0

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

Posez votre question
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 18:12
c'est encore moi...
j'ai donc enlevé tous les blocs php, et j'ai à chaque fois fait echo"html";, mais maintenant, ma page administration.php ne s'affiche même plus, j'ai du m'y perdre...

cela vous dérangerais de corriger ce code ? :
<!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'] . '\'');
}
echo'
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
</tr>';

$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
{
echo'
<tr>
<td>'; echo '<a href="rediger_news.php?modifier_news='; echo "$donnees['id']"; echo">'"; echo'Modifier</a></td>
<td>'; echo '<a href="administration.php?supprimer_news='; echo "$donnees['id']"; echo">'"; echo'Supprimer</a></td>
<td>'; echo stripslashes($donnees['titre']); echo'</td>
</tr>';

} // Fin de la boucle qui liste les news
echo'
</table>';

$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)
    }
	;

$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);
    }
	

$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);
    }
	

$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);
    }
	
	
$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 ne pense pas vraiment avoir compris ce que vous m'avez dit de faire tantot...

toujours en vous remerciant,

jerryp
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 18:30
Bonjour jerryp,

Je viens de me rendre compte que je me trompais sur un point: j'aurais dû dire que les variables sont globales aux blocs PHP et non qu'elles sont locales au bloc de définition. Autant pour moi.

Ceci dit, il est préférable de rédiger le code en pur PHP, ne serait-ce que pour la lisibilité.
Je suis en train n'analyser ligne par ligne le code de "administration.php".
Je vous réponds dès que je trouve quelque chose.

Cordialement,
el_linwin
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 18:38
Bonjour jerryp,

Je viens de repérer une faute dans le script ligne 266.
Il est écrit: $image_sizes_4 = getimagesize($_FILES['photol']['tmp_name']);

Alors que nous sommes en plein traitement du 4ème avatar, on aurait dû avoir:
$image_sizes_4 = getimagesize($_FILES['photo4']['tmp_name']);

Je ne sais pas si cela débloquera le tout, mais c'est déjà un premier point.
Je continue les investigations.

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 18:53
bonjour,
désolé de répondre un peu en retard, dans ma région, il y a des orages assez violents pour l'instant... j'ai du débrancher l'ordinateur pendant quelques temps.

je vais toujours corriger ça, merci beaucoup

cordialement,

jerryp
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 18:57
rebonjour,

au fait, vous analysez quel code ? Celui que j'ai donné dans mon tout premier post ?

merci
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 19:03
Bonjour jerryp,

En effet, j'analysais le code du tout premier post. Un retard dans le rafraîchissement de mon navigateur m'a fait louper votre version modifiée. En revanche, j'ai "révisé" un peu le code du tout premier post, à savoir:
- le code modifié contient un monobloc PHP
- la correction 'photol' en 'photo4' est incluse
- j'ai fait une petite optimisation du code: $extensions_valides est valide sur tout le bloc, donc j'ai supprimé les doublons $extensions_valides_X (X étant un chiffre entre 2 et 5) et réadapté les références dans les tests impliquant $extensions_valides_X.

Voici le code révisé:

<!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
// Début du bloc 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'] . '\'');
}
echo '<table><tr>';
echo '<th>Modifier</th>';
echo '<th>Supprimer</th>';
echo '<th>Titre</th>';
echo '</tr>';
$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
{
echo '<tr>';
echo '<td><a href="rediger_news.php?modifier_news='.$donnees['id'].'">Modifier</a></td>';
echo '<td><a href="administration.php?supprimer_news='.$donnees['id'].'">Supprimer</a></td>';
echo '<td>'.stripslashes($donnees['titre']).'</td>';
echo '</tr>';
} // Fin de la boucle qui liste les news
echo '</table>';

// Déclaration ici: les 5 avatars sont validés sur les mêmes extensions
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides

// Avatar 1
$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

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)
}
;
// Avatar 2
$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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_2,$extensions_valides) )
{
$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);
}

// Avatar 3
$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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_3,$extensions_valides) )
{
$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);
}

// Avatar 4
$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']); // photol corrigé en photo4
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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_4,$extensions_valides) )
{
$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);
}

// Avatar 5
$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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_5,$extensions_valides) )
{
$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();
// Fin du bloc PHP
?>
</body>
</html>

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 19:10
bonjour,

J'ai remplacé mon code par le code que vous m'avez donné, mais maintenant, ma page "administration.php" ne s'affiche plus du tout (page blanche)...

je vous remercie de tout coeur de prendre le temps de m'aider...

cordialement,

jerryp
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 19:22
Bonjour jerryp,

Je viens de me rendre compte que vous déclarez des balises personnalisées en début de fichier. C'est peut-être pour cela que le code PHP monobloc échoue (l'interprète PHP n'est pas forcément au courant des types personnalisés). J'ai rétabli le découpage sans toucher aux autres corrections et optimisation aportées. Voici la nouvelle mouture du code que je vous propose:

<!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
// Début du bloc 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
// Déclaration ici: les 5 avatars sont validés sur les mêmes extensions
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides

// Avatar 1
$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

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)
}
;
// Avatar 2
$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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_2,$extensions_valides) )
{
$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);
}

// Avatar 3
$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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_3,$extensions_valides) )
{
$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);
}

// Avatar 4
$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']); // photol corrigé en photo4
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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_4,$extensions_valides) )
{
$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);
}

// Avatar 5
$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));
// $extensions_valides est toujours valide
if (!in_array($extension_upload_5,$extensions_valides) )
{
$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();
// Fin du bloc PHP
?>
</body>
</html>

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 19:28
rebonjour,

j'ai trouvé une erreur :
à la ligne 129, il n'y avait pas de point-virgule après le mysql_query($sql)...
ce point-virgule se trouvait juste après l'accolade qui ferme la condition... j'ai changé ça, mais le problème persiste...

merci,

cordialement,
jerryp
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 19:28
Bonjour jerryp,

Ah, petite précision complémentaire: quand vous recopiez une version du code que je vous propose, pensez à corriger la ligne:

mysql_connect("localhost", "*****", "*****");

en remplaçant les étoiles par les identifiants et mot de passe adéquats. Sinon, forcément...

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 19:32
bonjour,

oui oui, bien sur, je change les étoiles... mais avec le point-virgule, c'est toujours le cas, mais à la ligne 135 maintenant...

cordialement,
jerryp
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 19:34
rebonjour,

j'ai de nouveau changé le code, mais la page reste blanche....

ça n'a rien à voir avec la page d'annonces par hasard ?

merci,

cordialement,

jerryp
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 19:37
Bonjour jerryp,

Effectivement, j'ai posté le script avant que ne s'affiche à mon écran votre mention sur le point-virgule.
Je l'ai corrigé depuis sur mon exemplaire de consultation.

A part ça, quel résultat sur le rendu ?

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 19:38
bonjour,

mis à part le point-virgule que j'ai également corrigé,

lorsque je vais sur la page, elle reste blanche....

cordialement,
jerryp
0
el_linwin
Messages postés
519
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
88
27 juil. 2008 à 19:42
Bonjour jerryp,

Toujours rien pour le rendu, euh... bon !
Pour le moment, je ne vois rien d'anormal concernant la page d'annonces.

Je ne sais pas pourquoi, mais je soupçonne de plus en plus un problème de dialogue PHP/MySQL... bien que je n'en ait aucune preuve.

Cordialement,
el_linwin
0
jerryp
Messages postés
141
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
7 avril 2010
24
27 juil. 2008 à 19:43
bonjour,

la page d'annonces à donc l'air correcte, le problème est sans doute dans la page administration.php, mais je ne vois pas où il se situe...

merci,

cordialement,

jerrypeeren
0