[PHP] probleme d'affichage de liens (news)
Résolu
jerryp
-
jerryp Messages postés 143 Statut Membre -
jerryp Messages postés 143 Statut Membre -
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" :
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" :
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
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:
- [PHP] probleme d'affichage de liens (news)
- Vérificateur de liens - Guide
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
182 réponses
Bonsoir jerryp,
Nouvelle mouture d'administration.php [ =) ] :
Cordialement,
el_linwin
Nouvelle mouture d'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 = '1'.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 = '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 = '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 = '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 = '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
bonsoir,
reprécision : même lors de la modification de news, le lien est identique pour toutes les photos...
Mais j'ai en plus une nouvelle erreur qui s'affiche en bas de la page :
cordialement,
jerryp
reprécision : même lors de la modification de news, le lien est identique pour toutes les photos...
Mais j'ai en plus une nouvelle erreur qui s'affiche en bas de la page :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UDPATE news SET titre='',contenu=' Marque : Type : Année : Cylindrée : Pu' at line 1
cordialement,
jerryp
bonsoir,
l'ajout de news fonctionne a merveille maintenant...
Mais lors de la modification de news, il y a l'erreur que j'ai déjç citée plus haut, et l'image que je veut mettre à jour ne se met pas a jour...
cordialement,
jerryp
l'ajout de news fonctionne a merveille maintenant...
Mais lors de la modification de news, il y a l'erreur que j'ai déjç citée plus haut, et l'image que je veut mettre à jour ne se met pas a jour...
cordialement,
jerryp
Bonsoir jerryp,
Dans ce cas, je peux tenter le code "hybride", c'est-à-dire que l'ajout s'effectue selon la méthode d'une seule requête MySQL à rallonge (comme c'est le cas ici) et de rétablir les séquences courtes pour les modifications. Je vous transmets rapidement le code remanié.
Cordialement,
el_linwin
Dans ce cas, je peux tenter le code "hybride", c'est-à-dire que l'ajout s'effectue selon la méthode d'une seule requête MySQL à rallonge (comme c'est le cas ici) et de rétablir les séquences courtes pour les modifications. Je vous transmets rapidement le code remanié.
Cordialement,
el_linwin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir jerryp,
Voici le code "hybride" promis d'administration.php:
Cordialement,
el_linwin
Voici le code "hybride" promis d'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 = '1'.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 = '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 = '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 = '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 = '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
bonsoir,
j'ai essayé le code, mais lors de l'update d'une news, les images ne sont pas changées, et si j'ajoute encore des images (j'en avais deux, par exemple, et j'en rajoute une troisième), elles ne s'ajoutent pas non plus...
j'ai alors vu que la derniere partie du code (celle qui s'occupe de l'update) était en tant que commentaire, et j'ai enlevé les balises commentaires et j'ai réessayé, mais ça ne fonctionne pas non plus,
cordialement,
jerryp
j'ai essayé le code, mais lors de l'update d'une news, les images ne sont pas changées, et si j'ajoute encore des images (j'en avais deux, par exemple, et j'en rajoute une troisième), elles ne s'ajoutent pas non plus...
j'ai alors vu que la derniere partie du code (celle qui s'occupe de l'update) était en tant que commentaire, et j'ai enlevé les balises commentaires et j'ai réessayé, mais ça ne fonctionne pas non plus,
cordialement,
jerryp
Bonsoir,
excellente idée, :-), je vais aussi aller dormir, je crois... La dernière nuit à été assez courte, et la journée passée à été courte aussi, certes, mais extrèmement stressante...
Une fois de plus... Devinez quoi... je vous remercie et vous souhaite également une bonne nuit.
cordialement,
jerryp
excellente idée, :-), je vais aussi aller dormir, je crois... La dernière nuit à été assez courte, et la journée passée à été courte aussi, certes, mais extrèmement stressante...
Une fois de plus... Devinez quoi... je vous remercie et vous souhaite également une bonne nuit.
cordialement,
jerryp
bonsoir,
j'ai été absent toute cette journée, et je le serai également demain, sans doutes toute la journée, mais bon... il se peut que ça change d'un coup...
je vais me remettre au code de mon site dès que j'ai un peu de temps libre...
merci de votre compréhesion,
cordialement,
jerryp
j'ai été absent toute cette journée, et je le serai également demain, sans doutes toute la journée, mais bon... il se peut que ça change d'un coup...
je vais me remettre au code de mon site dès que j'ai un peu de temps libre...
merci de votre compréhesion,
cordialement,
jerryp
Bonjour jerryp,
Pas de soucis, j'ai été pris toute la soirée d'hier !
Je vais travailler sur une mouture du code qui devrait enfin fonctionner dans tous les cas ! =)
Car, je crois avoir trouvé le problème fondamental ! =D
Cordialement,
el_linwin
Pas de soucis, j'ai été pris toute la soirée d'hier !
Je vais travailler sur une mouture du code qui devrait enfin fonctionner dans tous les cas ! =)
Car, je crois avoir trouvé le problème fondamental ! =D
Cordialement,
el_linwin
Bonjour jerryp,
En attendant votre retour, voici le nouveau code pour administration.php:
Cordialement,
el_linwin
En attendant votre retour, voici le nouveau code pour 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;
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news']==0) {
echo '<p>Test = Création de news</p>';
$operation=1;
} else {
echo '<p>Test = Modification de news</p>';
$operation=2;
}
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news']=addslashes($_POST['id_news']);
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) && isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($operation==1)
{ echo '<p>Test [Création de news] = Ajout titre & contenu</p>';
// 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 titre & contenu</p>';
$operation=2;
// 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 = Pas de modification de titre et de contenu</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
// Définition des extensions valides (pour tout le bloc)
$extensions_valides=array('jpg','jpeg','gif','png','bmp');
// 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 || $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='1'.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='".$_POST['id_news']."'";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
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)) $j++;
if ($j==0) {
//On déplace l'avatar
$avatar_2='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='".$_POST['id_news']."'";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
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)) $k++;
if ($k==0) {
//On déplace l'avatar
$avatar_3='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='".$_POST['id_news']."'";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
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)) $l++;
if ($l==0) {
//On déplace l'avatar
$avatar_4='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='".$_POST['id_news']."'";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
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)) $m++;
if ($m == 0) {
//On déplace l'avatar
$avatar_5='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='".$_POST['id_news']."'";mysql_query($sql5);}
}
// Fin de la session MySQL
mysql_close();
// Fin du bloc PHP
?>
</body>
</html>
Cordialement,
el_linwin
bonsoir,
me voila de retour,
je viens d'essayer le nouveau code... mais le problème persiste... J'ai toujours une news par photo et une news en plus pour le titre et le contenu...
cordialement,
jerryp
me voila de retour,
je viens d'essayer le nouveau code... mais le problème persiste... J'ai toujours une news par photo et une news en plus pour le titre et le contenu...
cordialement,
jerryp
Bonsoir jerryp,
En ce cas, voici une nouvelle mouture:
Cordialement,
el_linwin
En ce cas, 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" 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;
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news']==0) {
echo '<p>Test = Création de news</p>';
$operation=1;
} else {
echo '<p>Test = Modification de news</p>';
$operation=2;
}
$si_titrecontenu=0;
$si_image1=0;
$si_image2=0;
$si_image3=0;
$si_image4=0;
$si_image5=0;
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news']=addslashes($_POST['id_news']);
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) && isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$si_titrecontenu=1;
// On vérifie si c'est une modification de news ou pas
if ($operation==1)
{ echo '<p>Test [Création de news] = Ajout titre & contenu</p>';
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
}
else
{ echo '<p>Test [Modification de news] = Modification titre & contenu</p>';
// C'est une modification, on met juste à jour le titre et le contenu
}
} else {
echo '<p>Test = Pas de modification de titre et de contenu</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
// Définition des extensions valides (pour tout le bloc)
$extensions_valides=array('jpg','jpeg','gif','png','bmp');
// 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 || $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='1'.time();
$nomavatar=str_replace(' ','',$avatar).".".$extension_upload;
$avatar="../upload-admin/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['photo1']['tmp_name'],"$avatar");
$si_image1=1;
}
// 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
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)) $j++;
if ($j==0) {
//On déplace l'avatar
$avatar_2='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");
$si_image2=1;
}
// 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
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)) $k++;
if ($k==0) {
//On déplace l'avatar
$avatar_3='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");
$si_image3=1;
}
// 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
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)) $l++;
if ($l==0) {
//On déplace l'avatar
$avatar_4='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");
$si_image4=1;
}
// 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
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)) $m++;
if ($m == 0) {
//On déplace l'avatar
$avatar_5='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");
$si_image5=1;
}
// Opérations de mise à jour de la BDD en une seule fois !
if ($operation==1) {
// Création de news
$sql="INSERT INTO news(";
if ($si_titrecontenu==1) $sql.="titre,contenu";
if ($si_image1==1) $sql.=",image";
if ($si_image2==1) $sql.=",image2";
if ($si_image3==1) $sql.=",image3";
if ($si_image4==1) $sql.=",image4";
if ($si_image5==1) $sql.=",image5";
$sql.=") VALUES(";
if ($si_titrecontenu==1) $sql.="'$titre','$contenu'";
if ($si_image1==1) $sql.=",'$nomavatar'";
if ($si_image2==1) $sql.=",'$nomavatar_2'";
if ($si_image3==1) $sql.=",'$nomavatar_3'";
if ($si_image4==1) $sql.=",'$nomavatar_4'";
if ($si_image5==1) $sql.=",'$nomavatar_5'";
$sql.=")";
mysql_query($sql) or die(mysql_error());
}
if ($operation==2) {
// Edition de news
$sql="UDPATE news SET ";
if ($si_titrecontenu==1) $sql.="titre='$titre',contenu='$contenu'";
if ($si_image1==1) $sql.=",image='$nomavatar'";
if ($si_image2==1) $sql.=",image2='$nomavatar_2'";
if ($si_image3==1) $sql.=",image3='$nomavatar_3'";
if ($si_image4==1) $sql.=",image4='$nomavatar_4'";
if ($si_image5==1) $sql.=",image5='$nomavatar_5'";
$sql.=" WHERE id='".$POST['id_news']."'";
mysql_query($sql) or die(mysql_error());
}
// Fin de la session MySQL
mysql_close();
// Fin du bloc PHP
?>
</body>
</html>
Cordialement,
el_linwin
Bsr
Le nombre assez conséquent de 132 messages à attirer ma curiosité (c'est une qualité en informatique ;-)
Je pense que tu devrais tout reprendre depuis le départ en utilisant le programmation objet si tu comptes réellement maintenir cette application car le code est pour le moins bancale. Tu arriveras certainement à le faire fonctionner mais à quel prix ?
D'où ma question connais-tu la programmation objet en PHP ?
Etant donné le bon niveau que el_linwin et toi avez apparemment en programmation PHP "traditionnel" donc procédurale vous deviez passer à la POO car ici son absence se fait cruellement sentir ...
Le nombre assez conséquent de 132 messages à attirer ma curiosité (c'est une qualité en informatique ;-)
Je pense que tu devrais tout reprendre depuis le départ en utilisant le programmation objet si tu comptes réellement maintenir cette application car le code est pour le moins bancale. Tu arriveras certainement à le faire fonctionner mais à quel prix ?
D'où ma question connais-tu la programmation objet en PHP ?
Etant donné le bon niveau que el_linwin et toi avez apparemment en programmation PHP "traditionnel" donc procédurale vous deviez passer à la POO car ici son absence se fait cruellement sentir ...
bonsoir,
non, je ne connais pas la programmation orientée objet en PHP... Déjà mon niveau en PHP tout court est déjà assez faible... el_linwin est bien plus avancé que moi en PHP... moi, je ne suis que débutant
mais bon après avoir travaillé autant de temps à cette page, on est si près du but, on ne va pas abandonner maintenant...
merci,
cordialement,
jerryp
non, je ne connais pas la programmation orientée objet en PHP... Déjà mon niveau en PHP tout court est déjà assez faible... el_linwin est bien plus avancé que moi en PHP... moi, je ne suis que débutant
mais bon après avoir travaillé autant de temps à cette page, on est si près du but, on ne va pas abandonner maintenant...
merci,
cordialement,
jerryp
bonsoir,
de mieux en mieux...
maintenant, les liens se placent correctement... je n'ai plus que une seule news avec toutes les images et le contenu, ainsi que le titre... donc, de ce coté là, tout va bien maintenant... Cependant, maintenant, je ne sais plus supprimer de news... en cliquant sur le bouton supprimer, le contenu de la news est supprimé, mais la news reste visible... et ne se supprime pas de la base de données...
Je n'ai pas essayé la modification de news...
cordialement,
jerryp
de mieux en mieux...
maintenant, les liens se placent correctement... je n'ai plus que une seule news avec toutes les images et le contenu, ainsi que le titre... donc, de ce coté là, tout va bien maintenant... Cependant, maintenant, je ne sais plus supprimer de news... en cliquant sur le bouton supprimer, le contenu de la news est supprimé, mais la news reste visible... et ne se supprime pas de la base de données...
Je n'ai pas essayé la modification de news...
cordialement,
jerryp
Je comprends tout à fait ....
Je disais juste ça car j'ai moi-même été confronté au problème : des pages où le code s'allonge où la complexité augmente avec des includes dans tous les sens de plus en plus difficiles à déboguer jusqu'à ce que je fasse l'effort d'apprendre la POO en PHP ! Je dis pas que c'est miraculeux mais c'est tellement plus simple ensuite avec Songe y pour tes prochains développements .
Bon courage et bonne chance
Je disais juste ça car j'ai moi-même été confronté au problème : des pages où le code s'allonge où la complexité augmente avec des includes dans tous les sens de plus en plus difficiles à déboguer jusqu'à ce que je fasse l'effort d'apprendre la POO en PHP ! Je dis pas que c'est miraculeux mais c'est tellement plus simple ensuite avec Songe y pour tes prochains développements .
Bon courage et bonne chance
Bonsoir PhP,
Pour ma part (car j'essaie simplement d'assister jerryp), j'essaie avant tout de faire fonctionner le code avant de l'optimiser.
Quant à l'utilisation de la programmation objet en PHP, non seulement cela ne va pas simplifier le développement d'un tel projet, mais paradoxalement, cela va même en compliquer la maintenance. Car, j'essaie avant tout de ne pas briser le style de rédaction de jerryp, tout simplement pour qu'il s'y retrouve, comprenne et s'approprie le code. Car, c'est lui qui aura à en assurer le suivi et la maintenance.
Si l'on passe par la couche objet, non seulement c'est surdimensionné pour le projet en question, mais je doute qu'il s'y retrouve... N'oublions pas que le script utilise les fonctions de base du MySQL.
Le code apparaît bancal parce-qu'il n'est pas encore optimisé. Une fois l'optimisation faite, cela coulera de source. Entres autres, le traitement des 5 images qui finira sûrement dans une boucle.
PS: Il est important de préciser que ce n'est pas parce-qu'un code ne correspond pas aux normes apprises dans les écoles d'informatique, qu'il faut y jeter l'opprobe. Le recours aux objets, c'est pas automatique. =)
Cordialement,
el_linwin
Pour ma part (car j'essaie simplement d'assister jerryp), j'essaie avant tout de faire fonctionner le code avant de l'optimiser.
Quant à l'utilisation de la programmation objet en PHP, non seulement cela ne va pas simplifier le développement d'un tel projet, mais paradoxalement, cela va même en compliquer la maintenance. Car, j'essaie avant tout de ne pas briser le style de rédaction de jerryp, tout simplement pour qu'il s'y retrouve, comprenne et s'approprie le code. Car, c'est lui qui aura à en assurer le suivi et la maintenance.
Si l'on passe par la couche objet, non seulement c'est surdimensionné pour le projet en question, mais je doute qu'il s'y retrouve... N'oublions pas que le script utilise les fonctions de base du MySQL.
Le code apparaît bancal parce-qu'il n'est pas encore optimisé. Une fois l'optimisation faite, cela coulera de source. Entres autres, le traitement des 5 images qui finira sûrement dans une boucle.
PS: Il est important de préciser que ce n'est pas parce-qu'un code ne correspond pas aux normes apprises dans les écoles d'informatique, qu'il faut y jeter l'opprobe. Le recours aux objets, c'est pas automatique. =)
Cordialement,
el_linwin
Bonsoir
Bien sûr qu'il faut aller au bout de la démarche et terminer ce code tu as raison.
Mais tu admettras qd même que ce code est pas facile à lire : quelques tableaux par ci par là simplifieraient déjà les choses.
Car, c'est lui qui aura à en assurer le suivi et la maintenance : Raison de plus pour trouver un code
facile à maintenir
Par contre pour la POO je suis d'un avis différent et pas seulement en PHP : peu importe la taille d'un projet je n'utilise plus que ça. Après m'être fait chié sur des programmes à rallonge purement procéduraux pendant des années j'ai fait mon choix,sans, mais alors sans aucun regret. Même reprendre le code de quelqu'un autre est bcp plus facile et pourtant j'ai horreur de ça lol
Je reste convaincus qu'ici l'exemple se prête bien à la POO : une classe Avatar gèrant le transfert des fichiers serait pratique même si au final le code est plus long (je n'attache que peu d'importance à ce critère). Bref avec une classe je trouve ça facile sans je trouve ça plus difficile. Donc en ce qui me concerne les objets c'est automatique ... pis ça coûte rien à la sécu ;-)
Maintenant c'est vrai que cela demande un effort très conséquent surtout en PHP, j'ai tendance à l'oublier : j'avoue que je me fais encore avoir par les subtilités de ce langage ...
Alors bon développement
Bien sûr qu'il faut aller au bout de la démarche et terminer ce code tu as raison.
Mais tu admettras qd même que ce code est pas facile à lire : quelques tableaux par ci par là simplifieraient déjà les choses.
Car, c'est lui qui aura à en assurer le suivi et la maintenance : Raison de plus pour trouver un code
facile à maintenir
Par contre pour la POO je suis d'un avis différent et pas seulement en PHP : peu importe la taille d'un projet je n'utilise plus que ça. Après m'être fait chié sur des programmes à rallonge purement procéduraux pendant des années j'ai fait mon choix,sans, mais alors sans aucun regret. Même reprendre le code de quelqu'un autre est bcp plus facile et pourtant j'ai horreur de ça lol
Je reste convaincus qu'ici l'exemple se prête bien à la POO : une classe Avatar gèrant le transfert des fichiers serait pratique même si au final le code est plus long (je n'attache que peu d'importance à ce critère). Bref avec une classe je trouve ça facile sans je trouve ça plus difficile. Donc en ce qui me concerne les objets c'est automatique ... pis ça coûte rien à la sécu ;-)
Maintenant c'est vrai que cela demande un effort très conséquent surtout en PHP, j'ai tendance à l'oublier : j'avoue que je me fais encore avoir par les subtilités de ce langage ...
Alors bon développement
Bonjour PhP,
Je comprends votre point de vue. En effet, et heureusement, ça ne coûte rien à la sécu !
Manquerait plus que ça... =D
Sincèrement, si je n'ai quasiment pas recours aux objets (sauf en Java, je n'ai pas trop le choix...), c'est que je suis tellement plus à l'aise en programmation procédurale, que je trouve le reste moins pratique. Car, en programmation procédurale, il y a le côté linéaire qui me permet de suivre aisément le code et de savoir comment le processeur va le traiter. Je suis un adepte de la programmation optimisée en taille et en vitesse, à l'ancienne quoi...
Alors que vous, c'est à peu près le même raisonnement, mais appliqué dans l'autre sens. =)
C'est vrai qu'il ne faut pas oublier que la programmation objet nécessite de maîtriser le procédural, car on les retrouve en tant que méthodes. Quand on est habitué à la POO, je ne doute pas qu'on souhaite y rester.
Donc, +1 avec vous sur le fait de maîtriser le PHP, quelque soit le type de programmation que l'on va employer.
Pour ma part, comme je m'oriente plus dans la programmation système (j'ai un projet de système d'exploitation en cours), les objets y sont plutôt à proscrire. Car, dans ce genre de cas, une longueur abusive de code finira par noyer le seul développeur qui s'y colle: moi-même ! J'ajouterai que développer un noyau en POO est une des dernières choses à faire... C'est un cas particulier aussi.
Ceci dit, tous les goûts sont dans la nature ainsi que dans les langages de programmation, et c'est tant mieux !
Cordialement,
el_linwin
Je comprends votre point de vue. En effet, et heureusement, ça ne coûte rien à la sécu !
Manquerait plus que ça... =D
Sincèrement, si je n'ai quasiment pas recours aux objets (sauf en Java, je n'ai pas trop le choix...), c'est que je suis tellement plus à l'aise en programmation procédurale, que je trouve le reste moins pratique. Car, en programmation procédurale, il y a le côté linéaire qui me permet de suivre aisément le code et de savoir comment le processeur va le traiter. Je suis un adepte de la programmation optimisée en taille et en vitesse, à l'ancienne quoi...
Alors que vous, c'est à peu près le même raisonnement, mais appliqué dans l'autre sens. =)
C'est vrai qu'il ne faut pas oublier que la programmation objet nécessite de maîtriser le procédural, car on les retrouve en tant que méthodes. Quand on est habitué à la POO, je ne doute pas qu'on souhaite y rester.
Donc, +1 avec vous sur le fait de maîtriser le PHP, quelque soit le type de programmation que l'on va employer.
Pour ma part, comme je m'oriente plus dans la programmation système (j'ai un projet de système d'exploitation en cours), les objets y sont plutôt à proscrire. Car, dans ce genre de cas, une longueur abusive de code finira par noyer le seul développeur qui s'y colle: moi-même ! J'ajouterai que développer un noyau en POO est une des dernières choses à faire... C'est un cas particulier aussi.
Ceci dit, tous les goûts sont dans la nature ainsi que dans les langages de programmation, et c'est tant mieux !
Cordialement,
el_linwin
bonsoir,
tout d'abord, merci pour vos conseils PhP... J'y pense... Ceci est mon premier projet en PHP... je vais d'abord essayer d'apprendre correctement le PHP et de comprendre à fond ce que je connais plus ou moins... et une fois cela fait, j'approfondirai mes connaissances en PHP... Comme on dit toujours, chaque chose en son temps :-p
cordialement,
jerryp
tout d'abord, merci pour vos conseils PhP... J'y pense... Ceci est mon premier projet en PHP... je vais d'abord essayer d'apprendre correctement le PHP et de comprendre à fond ce que je connais plus ou moins... et une fois cela fait, j'approfondirai mes connaissances en PHP... Comme on dit toujours, chaque chose en son temps :-p
cordialement,
jerryp