Problème de modifier
Résolu
cedric39
-
Utilisateur anonyme -
Utilisateur anonyme -
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...
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:
- Problème de modifier
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier story facebook - Guide
- Modifier extension fichier - Guide
- Vous avez besoin d'une autorisation de la part de système pour modifier ce dossier - Guide
3 réponses
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!!
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!!
<?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'];
$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'];
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'].
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'].