Problème de modifier

Résolu/Fermé
cedric39 - 21 mai 2013 à 11:31
 Utilisateur anonyme - 21 mai 2013 à 16:04
Bonjour, ayant un problème afin de modifier des données provenant de ma bdd et donc je m'adresse à vous.

Donc j'ai une partie qui permet d'appeler ma partie modifier.php

<form action='modifier.php' method='post'>
<div>
<input type='hidden' name='id' value='$data[id]' />
<input type='submit' name='modi' value='Modifier' />
<input type='submit' value='Valider' name='Valider'>
</div>
</form>

et ma partie modifier.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">

<html>
<head>
<title></title>
</head>
<body>


<?php

include ("Connexion.php");

$id = mysql_real_escape_string($_POST['id'] );
$adv = mysql_real_escape_string($_POST['adv']) ;
$obj = mysql_real_escape_string($_POST['obj']) ;



if(isset($_POST['id']))
{



//création de la requête SQL:
$sql = 'UPDATE instances SET adv="'.$adv.'" , obj="'.$obj.'" WHERE id = '.$id.'' ;
mysql_query($sql)or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
}
mysql_close();
header('Location: contentieux.php');


?>

</body>
</html>


Mon problème est que lorsque que je change mes variables du genre adv= jean en jeantest ca ne me le prends pas en compte quand je clique sur modifier..
Cependant si dans ma variable adv="'.$adv.'" je remplace par adv="test" cela me change bien quand je clique sur modifier..

En gros ca me prends pas en compte les changements que j'écris par moi même..

Help me please...
A voir également:

3 réponses

Utilisateur anonyme
21 mai 2013 à 15:27
Salut salut,

Ta variable $_POST['adv'] est surement vide, vérifie en faisant un echo, mais dans ton formulaire je ne vois pas le champ correspondant à cette variable!!
0
<?php


$id=$_POST['idJS'];



include ("Connexion.php");



// Préparation de la requête avec le LIMIT
$sql = "SELECT * FROM instances WHERE id = $id";
$sqlbase="SET NAMES 'utf8'";

// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$req1 = mysql_query($sqlbase) or die('Erreur SQL !<br />'.$sqlbase.'<br />'.mysql_error());


while ($data = mysql_fetch_array($req))
{


echo 'Fiche numéro : '.$data['id'].'<br />';

echo"


<div align='center'>
<form action='script1.php method='post' enctype='multipart/form-data'>
<table border='0'>


<tr align='left'>
<td>
<label for='PartAdv'>Partie Adverse</label>
<input type='text' name='adv' style='width:200px' value='".htmlentities($data['adv'],ENT_QUOTES,'UTF-8')."'/>
</td>
</tr>


</table>
</form>
</div>


<form action='modifier.php' method='post'>
<div>
<input type='hidden' name='id' value='$data[id]' />
<input type='submit' name='modi' value='Modifier' />
</div>
</form>

";


}


mysql_free_result ($req);
mysql_close ();




?>



Pourtant je l'ai bien mise comme variable.. dans mon formulaire..

Notice: Undefined index: adv in C:\Program Files\EasyPHP\www\test1\php\modifier.php on line 8

: $adv=$_POST['adv'];
0
Utilisateur anonyme
21 mai 2013 à 16:04
Yep c'est bien ça il ne reconnait pas adv dans le tableau POST.

Si tu regardes ton input name='adv' est dans le premier formulaire qui renvoie vers script1.php (d'ailleurs attention le guillemet fermant n'est pas présent)
Du coup le formulaire qui renvoie vers modifier.php lui n'a pas de input dont le nom est adv, il ne connait donc pas la variable $_POST['adv'].
0