le code php "modifier" ne fonctionne pas

Petit nouveau ! | 2 Messages

19 juil. 2013, 15:41

Bonjour,

Je change un peu le sujet car une partie de mon problème est déjà résolu.
Au fait, à présent, avec mon code php suivant, je ne parviens pas à modifier les informations dans ma base de données via un formulaire.

Voici à présent mon code (retouché) pour la modification :

<?php
//--------------------------------connexion avec la base de donnees

require_once("connectionMYSQL.inc.php");

//------------------------initialisation de l'Id

$id =$_REQUEST['IdClient'];

//---------------------requete de recherche

$requete= "SELECT * FROM client WHERE IdClient='$id'";
$resultat = mysql_query($requete);
$client = mysql_fetch_array($resultat);

//----------------------------- requete pour la modification
if(isset($_POST['modif'])){
$requete2 = ("UPDATE client SET nom = '".$_POST['nom']."',prenom = '".$_POST['prenom']."',etatcivil = '".$_POST['etatcivil']."',nationalite= '".$_POST['nationalite']."',adresse = '".$_POST['adresse']."',telephone = '".$_POST['telephone']."'
,occupation = '".$_POST['occupation']."',sexe = '".$_POST['sexe']."' WHERE IdClient = $id'") or die (mysql_error());

if($requete2){
echo "la modification a reussi avec succes!";

}
}
mysql_close();

?>

Je pense qu'il y a encore quelque chose que omis dans ce code afin que je puisse faire correctement la modification. Mais je crois bien que je ne suis pas loin de la solution.
Veuillez m'aider SVP !!!

Merci d'avance pour votre aide et bon après midi.

Eléphant du PHP | 190 Messages

19 juil. 2013, 16:05

salut,
<?php
//--------------------------------connexion avec la base de donnees

require_once("connectionMYSQL.inc.php");

//------------------------initialisation de l'Id

$id =$_REQUEST['IdClient'];

//---------------------requete de recherche

$requete= "SELECT * FROM client WHERE IdClient='$id'";
$resultat = mysql_query($requete);
$client = mysql_fetch_array($resultat);

//----------------------------- requete pour la modification
if(isset($_POST['modif'])){
     $requete2 = ("UPDATE client SET nom = '".$_POST['nom']."',prenom = '".$_POST['prenom']."',etatcivil = '".$_POST['etatcivil']."',nationalite= '".$_POST['nationalite']."',adresse = '".$_POST['adresse']."',telephone = '".$_POST['telephone']."',occupation = '".$_POST['occupation']."',sexe = '".$_POST['sexe']."' WHERE IdClient = $id'") or die (mysql_error());

     if($requete2){
          echo "la modification a reussi avec succes!";
     }
}
mysql_close();

?> 
C'est quoi cette ligne ?
$requete2 = ("UPDATE client SET nom = '".$_POST['nom']."',prenom = '".$_POST['prenom']."',etatcivil = '".$_POST['etatcivil']."',nationalite= '".$_POST['nationalite']."',adresse = '".$_POST['adresse']."',telephone = '".$_POST['telephone']."'
,occupation = '".$_POST['occupation']."',sexe = '".$_POST['sexe']."' WHERE IdClient = $id'") or die (mysql_error());
Pas de mysql_query ?

Mammouth du PHP | 2278 Messages

21 juil. 2013, 08:39

Il faudrait penser à passer à mysqli (mysql est deprecated, obsolete si tu préfèeres);
sans quoi:
if (isset($_POST['nom']))
{
//pour bien faire il faudrait vérifier la validité du nom
 $p_nom = $_POST['nom'];
}
//similaire pour les autres
$p_prenom = $_POST['prenom'];
$p_etatcivil = $_POST['etatcivil'];
$p_nationalite = $_POST['nationalite'];
$p_adresse = $_POST['adresse'];
$p_telephone = $_POST['telephone'];
$p_occupation = $_POST['occupation'];
$p_sexe = $_POST['sexe'];
//Au passage, il y a une erreur sur l'état civil
$requete2 = ("UPDATE client SET nom = '".$_POST['nom']."',prenom = '".$_POST['prenom']."',etatcivil = '".$_POST['nom']."',
nationalite= '".$_POST['nationalite']."',adresse = '".$_POST['adresse']."',telephone = '".$_POST['telephone']."'
,occupation = '".$_POST['occupation']."',sexe = '".$_POST['sexe']."' WHERE IdClient = $id'") or die (mysql_error());
$requete2 = "UPDATE client SET nom = '$p_nom', prenom = '$p_prenom', etatcivil = '$_p_etat_civil',
nationalite= '$_p_nationalite', adresse = '$_p_adresse', telephone = '$_p_telephone' ,occupation = '$p_occupation',
sexe = '$_p_sexe' WHERE IdClient = $id";
//a tout hasard en cas d'erreur
print "<br> >>>$requete<<<<";
$resultat = mysql_query ($requete_2);
if ($resultat  == false)
{
}
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD