Modification des données via formulaire

AT2704 Messages postés 27 Statut Membre -  
younesase Messages postés 109 Statut Membre -
Bonjour,
j'essai de faire une formulaire qui affiche les données d'un utilisateur puis devant chaque on trouve un bouton modifier pour modidier ce champ(je commence par modifier l'id)
l'affichage est effectué mais j'ai une probléme dans la modification .merci de m'aider à corriger mon code ce dessous :( je suis bloqué
page modifierUtilisateur.php:

<?php
session_start();
?>
<html>
<form action ="#" name="con" method ="post"> </br> </br> </br> <H3 ALIGN="center" >Identifiant de l'utilisateur:</br>
<input type="text" name="Id" /><br />
<input type="submit" name="Afficher" value="Afficher"/> <br />
</form>
</html>

<?php


// Connexion au serveur de base de données
$con= mysql_connect("localhost", "root", "");
if(!$con){
die('Erreur de connexion'.mysql_error());
}

// Selection de la base de données
$select_result = mysql_select_db("configuration");


if (isset($_POST['Id']))
{
$Id=$_POST['Id'];
$sql = mysql_query("SELECT * FROM utilisateur where Id=$Id" );
while($data = mysql_fetch_array($sql))
{?>
<TABLE BORDER="1">
<CAPTION> Les donnees de cet utilisateur </CAPTION>
<TR>
<TH> Identifiant de l'utilisateur</TH>
<td><?php echo $data['Id'];?></td>
<td><input type="button" value="Modifier" onClick="javascript:document.location.href='modifID.php'" /></td>
</TR>
<tr>

<TH> Mot de passe de l'utilisateur</TH>
<td><?php echo $data['mot_de_passe'];?></td>

<td><input type="button" value="Modifier" onClick="javascript:document.location.href='modifMDP.php'" /></td>
</tr>
<?php
} }
mysql_close();

?>
**************************************************************
page modifID.php:

<html>
<form action ="#" name="con" method ="post"> </br> </br> </br> <H3 ALIGN="center" >
Nouveau Identifiant de l'utilisateur:</br> <input type="text" name="NId" /> </br>
<input type="submit" name="Modifier" value="Modifier"/>
</form>
</html>

<?php

include("modifierUtilisateur.php");
// Connexion au serveur de base de données
$con= mysql_connect("localhost", "root", "");
if(!$con){
die('Erreur de connexion'.mysql_error());
}

// Selection de la base de données
$select_result = mysql_select_db("configuration");
include("modifierUtilisateur.php");
$Id=$_GET["Id"];
if (isset($_POST['NId']))
{
$NId=$_POST['NId'];
$Id=$_GET["Id"]
// vérification des champs
$msg_erreur = "<br/>Erreur!Les champs suivants doivent etre obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;

if (empty($_POST['NId']))
$message .= "Le nouveau Identifiant de l'utilisateur<br/>";

// si un champ est vNIde, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

echo $message;
}
// sinon c'est ok
else {

foreach($_POST as $index => $valeur) {
$index = mysql_real_escape_string(trim($valeur));
}
$query="UPDATE utilisateur
SET Id= '$NId'where Id =$Id ";

$result=mysql_query($query);
if (!$result){
die('Erreur de connexion'.mysql_error());
}
echo ("La modification à été correctement effectuée");
header('Location: modifierUtilisateur.php');
}}


?>
A voir également:

1 réponse

younesase Messages postés 109 Statut Membre 4
 
j'ai pas eu le temps de lire ton code surtout qu'on peut pas très bien savoir ce que c'est (donc je te conseille la prochaine fois d'utiliser la balise code de CCM pour afficher le code)

mais je pense que la création de se système n'est pas difficile ,
premièrement devant chaque élément tu ajoute un lien "Modifier" qui dirige l'utilisateur vers un page (par exemple) : modifier.php et qui utilise un variable GET qui sera l'action a faire et la valeur donné par l'utilisateur, donc ton lien sera comme ça
<a href="modifier.php?action=nom&value=julie">Modifier le nom</a>
<a href="modifier.php?action=prenom&value=test">Modifier le prénom</a>
<a href="modifier.php?action=email&value=email@gmail.com">Modifier l'email</a>

et dans la page modfier.php tu peut faire
<?php
if(isset($_GET['action']) && isset($_GET['value'])){
 if($_GET['action'] == "nom"){
  $nom = mysql_escape_string($_GET['value']);
  mysql_query("UPDATE utilisateur SET nom= '$nom' where Id =$id");
 }else if($_GET['action'] == "prenom"){
  $prenom = mysql_escape_string($_GET['value']);
  mysql_query("UPDATE utilisateur SET prenom= '$prenom' where Id =$id");
 }else if($_GET['action'] == "email"){
  $nom = mysql_escape_string($_GET['value']);
  mysql_query("UPDATE utilisateur SET email= '$email' where Id =$id");
 }
 echo "modifié !";
}
?>

voilà , j'espère t'avoir aidé !
0