Bonjour à tous,
J'ai un souci avec un code de modification de news.

Le premier script affiche la liste des news avec pour chacune un lien "supprimer" et un lien "modifier",qui font tous deux appel au même script mais avec une instruction différente.notons que seule l'instruction "modifier" foire.:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
<?
mysql_connect ("******.fr", "nomdusite", "motdepasse");
mysql_select_db ("base1");  
$num = mysql_num_rows(mysql_query("SELECT * FROM actu")); 
 
if ($num ==0)
{echo "Il n'y à pas de news!";
}
else {
$reponse = mysql_query ("SELECT * FROM actu ")or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
echo$donnees['Titre'];
echo "....";
echo$donnees['date'];
?> <a href='operation.php?id=<?
echo$donnees['id'];
?>&amp;instruction=modifier'><?
echo "MODIFIER";
echo "</a>";
?>  
<a href='operation.php?id=<?
echo$donnees['id'];
?>&amp;instruction=supprimer'><?
echo "SUPPRIMER";
echo "</a>";
?>
 
 <br/> <br/>
 
<?
 
}
mysql_close();
}
?>

voiçi maintenant le code "opération.php":


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
<? if ($_GET["instruction"]== "modifier")
 {
 mysql_connect ("******fr", "nomdusite", "motdepasse");
mysql_select_db ("base1");  
$reponse = mysql_query ("SELECT * FROM actu WHERE id=$_GET[id]");
$donnees = mysql_fetch_array($reponse);
mysql_close();
?>
 
 
<body><br />
 
Créer une nouvelle annonce : 
<br />
<br />
 
<form action="update.php" enctype="multipart/form-data" method="POST">
Titre  : 
<input name="titre" type="text" id="titre" value="<?echo$donnees['Titre'];?>" size="45" maxlength="40" 
        Date  : 
       <input name="date" type="text" id="date" value="<?echo$donnees['date'];?>" size="11" maxlength="40" />
 
 
 
        Texte  :
 
 
      <textarea name="newst" id="newst" rows="10" wrap="virtual" cols="40"> <?echo $donnees['Contenu'];?> </textarea>
 
        <input name="fichier1" type="file" value="<?echo$donnees['fichier'];?>"/>
 
<input name="id" type="hidden" value="<?echo $_GET['id'];?>" />
 
      <input name="submit" type="submit" value="Valider l'annonce" />
 
</form>
 
 
</body>
<?}
elseif ($_GET["instruction"]=="supprimer")
 {
 mysql_connect ("******fr", "nomdusite", "motdepasse");
mysql_select_db ("base1");  
 mysql_query ("DELETE FROM actu WHERE id=$_GET[id]");
mysql_close();
 
?>
 
<!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" lang="fr" xml:lang="fr">
  <head>
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=liste_news.php">  
</head>
<body>
<p> News supprimée! </p>
</body>
</html>
<?
} 
?>

maintenant le script "update.php":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
<?php
 
$date=$_POST['date'];
$titre=$_POST['titre'];
$contenu=$_POST['newst'];
mysql_connect (".....", ".........", "......");
mysql_select_db ("lasyrah_1");  
mysql_query("UPDATE actu SET Titre='$titre',Contenu='$contenu',date='$date',WHERE id='$_POST['id']'");
 
mysql_close();
if ($_FILES["fichier1"] ["size"] > 0)
{
mysql_connect ("......", "....", "...."); // la table noms sert à donner un nom définitif  et unique sous forme de chiffre au fichier 
mysql_select_db ("lasyrah_1"); 
mysql_query("INSERT INTO noms VALUES('')");
$num1 = mysql_num_rows(mysql_query ("SELECT * FROM noms"));
mysql_close();
$frmat1=explode ( '/' ,$_FILES["fichier1"]["type"]);
move_uploaded_file($_FILES["fichier1"] ["tmp_name"], "/home/www/lasyrah/www/test/newsimg/". $num1  .".". $frmat1[1]);
$a = "http://www.la-syrah.fr/test/newsimg/" ;
$ab="/home/www/lasyrah/www/test/newsimg/";
$b = ".";
$c=explode ( '/' ,$_FILES["fichier1"]["type"]);
$fichier1b=$ab.$num1.$b.$c[1];
$fichier1=$a.$num1.$b.$c[1];//cette variable contiendra l'adresse du fichier,réutilisée hors de la boucle, à la fin.
chmod( $fichier1b, 0644);
}
if (isset($fichier1))
{
mysql_connect ("...", "...", "....");
mysql_select_db ("..."); 
mysql_query ("UPDATE actu SET fichier1='$fichier1' WHERE id='$_POST['id']' ");
 
mysql_close();
 
}
?>
voilà!
j'espère avoir posté les bons éléments.
aussi je vous remercie d'avance!
Bon week end à vous.
merci aussi à ceux qui ne peuvent pas répondre,qui échapperont quand même à l' envellope d'entrax.
:p