Page 1 sur 2
Modification effectuer mais sans effet
Posté : 29 nov. 2013, 10:04
par faora45
C encore moi

,mon problème est que mon code affiche "La modification à été effectué avec succès" mais ne prend pas effet ,la modif se fait que lorsque l'utilisateur effectue une recherche dans la bdd ,affiche un formulaire modifiable
voici la premier partie code
result.php
<?php
require_once('conf.php');
$req = mysql_query("SELECT radical, client FROM $nomtable WHERE radical LIKE '%".$_POST['recherche']."%' " );
$resultat= mysql_num_rows($req);
if (strlen($_POST["recherche"]) > 0)
{
echo ' ';
echo'pour [ <span style="color:red;">'.$_POST['recherche'].' </span> ]<br />';
while( $result = mysql_fetch_array($req))
{
?> <form action = "modifier.php"=<?php echo $result;?> "method ="post">
<p>Radical<br/>
<input name="radical" size="22" value="<?php echo '' . $result["radical"].'';?> "type="text"/></p>
<textarea name= "client" rows="10" cols ="50" ><?php echo'' .$result['client'].'';?></textarea></br>
<input name = "Modifier" value = "Modifier" type ="submit"/>
</form>
<?php
}
echo '<p> </p>';
}
else{
echo '<p>Désolé mais aucun résultat ne correspond à votre demande.</p>';
}
mysql_close();
?>
et
modifier.php
<?php
require_once('conf.php');
if(empty($_POST["Modifier"]))
{
$banque = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["client"])));
$sql = mysql_query(" UPDATE info_client SET
client='$client'
WHERE radical = '$result'");
if (!$sql)
{
die('Requête invalide : ' . mysql_error());
}
else
{
echo '<p>La modification à été effectué avec succès. <a href="index.html">Retour vers "Memo commerciale"</a></p>';
}
mysql_close();
}
?>
et URL comme ceci "modifier.php?radical=103182+&client=amen45&Modifier=Modifier" lors du modif .
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 10:43
par damien_55
Slt,
dans modifier.php:
$sql = mysql_query("UPDATE info_client SET client='".$client."' WHERE radical = '".$result."'");
Je ne comprend pas bien, dans result.php:
<form action = "modifier.php"=<?php echo $result;?> "method ="post">
=<?php echo $result;?
????
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 12:20
par faora45
Qu'est ce qu'i faut faire a t'en avis ?
j'ai essayer l'enregistrement dans une variable grâce à l'url
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 12:55
par dogmongo
Bonjour,
y aurait il pas un soucis ?
"modifier.php"=<?php echo $result;?> >>> "modifier.php=<?php echo $result;?>"
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 13:03
par dogmongo
de plus un bon
switch vieux serait peu être plus simple pour toi non ?
comme ça tu évite de toucher au variable dans L’URL action de ton formulaire
switch($action)
{
case "modifier":
break;
case "inserer":
break;
default:
}
mysql_close(); je crois comprendre que c'est fini depuis PHP5
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 13:31
par damien_55
<form action = "modifier.php"=<?php echo $result;?> "method ="post">
Comme je te l'indiquais dans mon post précedent, je pense qu'il y a plus qu'un soucis avec ton formulaire. La base d'un formulaire c'est de transmettre des variables avec la method get ou post. en aucun cas, à ma connaissance, tu ne transmets tes variables par ce morceaux de code ajouter à action.
Je pense que tu devrais revoir la doc sur les formulaires.
http://php.net/manual/fr/tutorial.forms.php
Quand a ton insertion remplace ton update dans modifier.php, l'erreur vient peut etre également d'une erreur de concatenation de tes variables dans ta requete:
$sql = mysql_query("UPDATE info_client SET client='".$client."' WHERE radical = '".$result."'");
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 13:35
par faora45
Peut tu être plus explicite parce que mois je débute encore ?
comment on utilise ton vieux "switch"
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 13:47
par dogmongo
switch ne changera pas et corrigera pas ton problème de formulaire, mais optimisera ton code, au lieu de faire appel à une page par action, tu place tout dans une seule, et c'est la que la fonction switch interviendra en donnant les instructions modifier , ajouter , supprimer et, tout ce que tu peu avoir besoins dans ton code.
Re: Modification effectuer mais sans effet
Posté : 29 nov. 2013, 14:19
par faora45
Ok les Gars je vais essayer cet week-end et je vous informerez !
Mais je fait appel a vos connaissance parce que la je vais m’arrêtè la pour aujourd'hui .
PS: Merci et bonne week-end
Re: Modification effectuer mais sans effet
Posté : 02 déc. 2013, 07:47
par faora45
Bonjour ! j'ai vraiment du mal à trouvé l'erreur ,je ne c plus quoi faire .
dans modifier.php lorsque on fait
if(isset($_POST['Modifier']))
il ne se passe rien et si on test le isset par else avec echo il dit que le champ est bien rempli .
Re: Modification effectuer mais sans effet
Posté : 02 déc. 2013, 09:28
par xTG
Tu voulais plutôt dire que le champs n'existait pas.
Que te retourne :
var_dump($_POST);
Avant ton isset ?
Re: Modification effectuer mais sans effet
Posté : 02 déc. 2013, 10:33
par faora45
que signifie "array(0) { } " c la reponse pour
var_dump($_POST);
Re: Modification effectuer mais sans effet
Posté : 02 déc. 2013, 11:03
par sirakawa
<?php
/*Il faut abandonner mysl pour mysqli ou pdo*/
error_reporting(E_ALL); //en phase de développement
require_once('conf.php');
if(empty($_POST["Modifier"]))
{
$banque = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["client"])));
var_dump($banque); //pour connaître le résultat de cette accumulartion de fonctions
/*je pense préférable de faire les choses en deux temps
au passage où snt définis $client et $result?*/
$sql = " UPDATE info_client SET
client='$client'
WHERE radical = '$result'";
print "$ŝql";//pour connaître le texte de la requête
$resultat = mysql_query($sql);
/*la rquête n'est pas le moins du monde invalide; elle est inefficace:
http://us3.php.net/manual/fr/function.mysql-query.php*/
if (!$sql)
{
die('Requête invalide : ' . mysql_error());
}
else
{
echo '<p>La modification à été effectué avec succès. <a href="index.html">Retour vers "Memo commerciale"</a></p>';
}
mysql_close();
}
?>
Re: Modification effectuer mais sans effet
Posté : 02 déc. 2013, 11:03
par sirakawa
<?php
/*Il faut abandonner mysl pour mysqli ou pdo*/
error_reporting(E_ALL); //en phase de développement
require_once('conf.php');
if(empty($_POST["Modifier"]))
{
$banque = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["client"])));
var_dump($banque); //pour connaître le résultat de cette accumulartion de fonctions
/*je pense préférable de faire les choses en deux temps
au passage où snt définis $client et $result?*/
$sql = " UPDATE info_client SET
client='$client'
WHERE radical = '$result'";
print "$ŝql";//pour connaître le texte de la requête
$resultat = mysql_query($sql);
/*la rquête n'est pas le moins du monde invalide; elle est inefficace:
http://us3.php.net/manual/fr/function.mysql-query.php*/
if (!$sql)
{
die('Requête invalide : ' . mysql_error());
}
else
{
echo '<p>La modification à été effectué avec succès. <a href="index.html">Retour vers "Memo commerciale"</a></p>';
}
mysql_close();
}
?>
Re: Modification effectuer mais sans effet
Posté : 02 déc. 2013, 11:15
par sirakawa
Quelques observations sur le formulaire:
<?php
require_once('conf.php');
$req = mysql_query("SELECT radical, client FROM $nomtable WHERE radical LIKE '%".$_POST['recherche']."%' " );
$resultat= mysql_num_rows($req);
if (strlen($_POST["recherche"]) > 0)
{
echo ' ';
echo'pour [ <span style="color:red;">'.$_POST['recherche'].' </span> ]<br />';
while( $result = mysql_fetch_array($req))
{
?>
/*un formulaire ne peut avoir method = 'post' et passer des valeurs comme tu fais qui utilisent la méthode get*/
<!-- A-t-on besoin de passer le tableau result alors qu'il ne contient que la dernière ligne lue?-->
//<form action = "modifier.php"=<?php echo $result;?> "method ="post">
<form action = "modifier.php" method ="post">
<p>Radical<br/>
<!--répartir correctement les espaces-->
<input name="radical" size="22" value="<?php echo '' . $result["radical"].'';?> " type="text" /></p>-->
<textarea name= "client" rows="10" cols ="50" ><?php echo'' .$result['client'].'';?></textarea><br />
<input name = "Modifier" value = "Modifier" type ="submit" />
</form>
<?php
}
echo '<p> </p>';
}
else{
echo '<p>Désolé mais aucun résultat ne correspond à votre demande.</p>';
}
mysql_close();
?>