voici mon code source (en ayant enlevé le superflu):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$id = $_GET['id'];
echo $id;
 
include("connect.php");
 
if (isset($_POST['valide'])) 
{
 
  echo $req1="SELECT location.* FROM location WHERE id=$id";
 
  echo "<br>test<br>";
  $sql = mysql_query($req1) or die( mysql_error() );
jusqu'ici, la variable $id est bonne, puis apres, lorsque le formulaire est soumis, $id est annulé.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
  $req2="UPDATE `location` SET `titre` ='".$_POST["titre"]."', `ligne1`='". $_POST["ligne1"]."', `ligne2`='".$_POST["ligne2"]."', `ligne3`='".$_POST["ligne3"]."', `ligne4`= '" . $_POST[ "ligne4" ] . "', `ligne5` = '" . $_POST[ "ligne5" ] . "', `url_photo` = '" . $_FILES[ "userfile" ][ "name" ] . "' WHERE `id` = $id";
 echo $req2; 
  $sql = mysql_query($req) or die( mysql_error() ); 
  echo $sql;
 
  $sql = mysql_query( "SELECT * FROM `location`" ) or die( mysql_error() ); 
 
  $voir = mysql_fetch_assoc( $sql ) . "<br />\n";  
}
?>
 
<form method="post" action="modif_loc2.php" enctype="multipart/form-data">
et c'est ici que $id n'est pas transmis correctement:
voici ce qui s'affiche dans la page cible:
SELECT location.* FROM location WHERE id=
au lieu de id=5 (par exemple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<? $id=$_GET['id']; ?>
Remplacer par:
<br>
Titre: <input type=text name="titre" size="55" value="<? echo $voir['titre'] ?>">
<br>
 
<input type="hidden" name="MAX_FILE_SIZE" value="4000000">
<input type="file" name="userfile">
<input type="submit" value="Mettre à jour" name="valide">