Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: marygil le le 21-07-2009 a 13:12:36

Titre: Modification donnée
Posté par: marygil le le 21-07-2009 a 13:12:36

Bonjour,

J'ai créer un espace membre, et je ne sais pas comment on fait pour qu'un membre puisse changer une de ses informations de son compte.

Voici la page "user_compte"
Merci beaucoup de votre aide, je connait très peu le SQL et j'ai fait beaucoup de recherche sur le net sans aucun succes.
Je vois comment on fait une requéte SQL "UBDATE" mais c'est tout.
Merci de pouvoir m'aider.


Code:


<?php
if (isset($_SESSION['pseudo']) && $_SESSION['pseudo'] != NULL)
   {
      $pseudo = $_SESSION['pseudo'];
      $recup_compte = mysql_query("SELECT * FROM cruet_membre WHERE mail='$pseudo'");
      $compte = mysql_fetch_array($recup_compte);
   }
?>
<h1>Mon Compte</h1>

<p><a href='index.php?body=user_compte'>Modifier mes informations</a></p>

<center>
<div class="compte">
<table border="1">
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>Né (e) le</th>
<th>Adresse</th>
<th>Code Postal</th>
<th>Ville</th>
<th>Tél. Fixe</th>
<th>Tél. Portable</th>
<th>Adresse mail</th>
   <th>Mot de passe</th>
</tr>
<tr>
<td><?php echo $compte['nom'] ?></td>
<td><?php echo $compte['prenom'] ?></td>
<td><?php echo $compte['naissance'] ?></td>
<td><?php echo $compte['adresse'] ?></td>
<td><?php echo $compte['code_postal'] ?></td>
<td><?php echo $compte['ville'] ?></td>
<td><?php echo $compte['tel_fixe'] ?></td>
<td><?php echo $compte['tel_portable'] ?></td>
<td style='text-transform:lowercase ;'><?php echo $compte['mail'] ?></td>
   <td style='text-transform:lowercase ;'><?php echo $compte['mot_de_passe'] ?></td>
</tr>
</table>
</div>
</center>


Titre: Re:Modification donnée
Posté par: sebinfo le le 31-07-2009 a 15:58:55

Bonjour, il suffit de réaliser un formulaire dans lequel les champs input sont remplis avec les valeurs existantes en BD. L'utilisateur peut modifier ces champs puis il valide en cliquant sur un bouton VALIDER qui envoie les valeurs vers la BD grace au UPDATE ce qui permet de sauvegarder les modifications en BD

<form method="post" action="fichier.php">
<label>Nom</label><input type="text" name="nom" value="$nom" size="50" />
....

</form>

le champ name est le nom du champ dans la BD et la valeur est value
On récupère les value pour chaque champ par un SELECT

A+

Titre: Re:Modification donnée
Posté par: faissal_aeh le le 31-07-2009 a 16:36:26

Tu vas d'abord créer une page qui contient un formulaire qui affiche les données du membre. ces données sont extraite via une req : Select

en bas de ce formulaire tu vas ajouter un bouton 'enregistrer' qui appel un fichier php qui contient la commande appropriée pour lancer une req : Update pour modifier l'enregistrement du membre sélectionné dans la table

Titre: Re:Modification donnée
Posté par: marygil le le 01-08-2009 a 21:23:26

Bonjour et un grand merci pour vos réponses....

Je me permet de vous envoyer mes 3 fichiers de modification, il y a quelque chose qui m'échappe, mais malheureusement je n'arrive pas à comprendre quoi.

Si vous pouviez m'aider ça serai très sympa.

J'ai un lien qui m'envoie sur la page "modif_membre1" là ça affiche les membres pas de problème

En cliquant sur le lien "modifier" de la page "modif_membre1" ça ne m'affiche pas le formulaire de la page "modif_membre2" avec les données du membre.


Code:

<?php
$bgcolor = "#e3e3e3";
echo '<div style="background:' . $bgcolor . '">';
include('header_admin.php');
echo '</div><br><div>';
?>
<?php

//requête SQL:
$sql = "SELECT * FROM cruet_membre ORDER BY nom" ;

//exécution de la requête:
$requete = mysql_query( $sql) ;

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{

echo("<div align=\"center\">
   <ul>
      <li>
         <span class=modif_membre>
            ".$result->nom."
            ".$result->prenom."
            ".$result->tel_fixe."
            ".$result->tel_portable."
            ".$result->mail."
            ".$result->password."
            <a href=\"index.php?body=modif_membre2?id=".$result->id."\">modifier</a>
         </span>
      </li>
   </ul>
</div>");
}

?>



Code:

<?php

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_POST["id"] ;

//requête SQL:
$sql = "SELECT * FROM cruet_membre WHERE id = ".$id ;

//exécution de la requête:
$requete = mysql_query( $sql) ;

//affichage des données:
if( $result = mysql_fetch_object( $requete ) )
{

?>

<form name="a_membre_form" action="index.php?body=admin&body_a=admin/modif_membre3" method="POST">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<fieldset id="ajouter">
   <label>Nom :</label>
      <input type="text" name="nom" size="35" value="<?php echo($result->nom) ;?>"><br/><br/>
   <label>Pr&eacute;nom :</label>
      <input type="text" name="prenom" size="35" value="<?php echo($result->prenom) ;?>"><br/><br/>
   <label>Date de naissance :</label>
      <input type="date" name="naissance" size="35" value="<?php echo($result->naissance) ;?>"><br/><br/>
   <label>Adresse :</label>
      <input type="text" name="adresse" size="35" value="<?php echo($result->adresse) ;?>"><br/><br/>
   <label>Code postal :</label>
      <input type="text" name="code_postal" size="35" value="<?php echo($result->code_postal) ;?>"><br/><br/>
   <label>Ville :</label>
      <input type="text" name="ville" size="35" value="<?php echo($result->ville) ;?>"><br/><br/>
   <label>T&eacute;l. Fixe :</label>
      <input type="text" name="tel_fixe" size="35" value="<?php echo($result->tel_fixe) ;?>"><br/><br/>
   <label>T&eacute;l. Portable :</label>
      <input type="text" name="tel_portable" size="35" value="<?php echo($result->tel_portable) ;?>"><br/><br/>
   <label>Mail :</label>
      <input type="text" name="mail" size="35" value="<?php echo($result->mail) ;?>"><br/><br/>
   <label>Mot de passe :</label>
      <input type="text" name="password" size="35" value="<?php echo($result->password) ;?>"><br/><br/>
   <label>Membre :</label>
      <input type="enum" name="membre" size="35" value="<?php echo($result->membre) ;?>"><br/><br/>
   <label>Pupitre :</label>
      <input type="enum" name="pupitre" size="35" value="<?php echo($result->pupitre) ;?>"><br/><br/>
   <label>Bureau :</label>
      <input type="enum" name="bureau" size="35" value="<?php echo($result->bureau) ;?>"><br/><br/>
   <label>Admission :</label>
      <input type="date" name="admission" size="35" value="<?php echo($result->admission) ;?>"><br/><br/>
   <label>D&eacute;mission :</label>
      <input type="date" name="demission" size="35" value="<?php echo($result->demission) ;?>"><br/><br/>
<input type="submit" name="valider" size="35" value="Modifier"><br /><br />
</fieldset>
</form>

<?php

}//fin if

?>



Code:

<?php

//récupération des valeurs des champs:
$nom= $_POST["nom"] ;
$prenom= $_POST["prenom"] ;
$naissance= $_POST["naissance"] ;
$adresse= $_POST["adresse"] ;
$code_postal= $_POST["code_postal"] ;
$ville= $_POST["ville"] ;
$tel_fixe= $_POST["tel_fixe"] ;
$tel_portable= $_POST["tel_portable"] ;
$mail= $_POST["mail"] ;
$password= $_POST["password"] ;
$membre= $_POST["membre"] ;
$pupitre= $_POST["pupitre"] ;
$bureau= $_POST["bureau"] ;
$admission= $_POST["admission"] ;
$demission= $_POST["demission"] ;

//récupération de l'identifiant de la personne:
$id= $_POST["id"] ;

//création de la requête SQL:
$sql = "UPDATE cruet_membre SET
      nom= '$nom',
    prenom= '$prenom',
      naissance= '$naissance',
      adresse= '$adresse',
      code_postal ='$code_postal',
      ville ='$ville',
      tel_fixe ='$tel_fixe',
      tel_portable ='$tel_portable',
      mail ='$mail',
      password ='$password',
      membre ='$membre',
      pupitre ='$pupitre',
      bureau ='$bureau',
      admission ='$admission',
      demission ='$demission'
WHERE id ='$id' " ;

//exécution de la requête SQL:
$requete = mysql_query($sql) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
   echo("La modification du Membre a &eacute;t&eacute; correctement effectu&eacute;e") ;
}
else
{
   echo("La modification du Membre a &eacute;chou&eacute;e") ;
}

?>


Merci de votre aide
Code:

Code:

Code:

Titre: Re:Modification donnée
Posté par: sebinfo le le 01-08-2009 a 21:32:20

Salut la première erreur est ici
<a href=\"index.php?body=modif_membre2&amp;id=".$result->id."\">modifier</a>

au lieu de

<a href=\"index.php?body=modif_membre2?id=".$result->id."\">modifier</a>


puis sur la page modif_membre2 : $id = $_GET['id']

Voilà pour ce que j'ai pu voir rapidement

A+

Titre: Re:Modification donnée
Posté par: marygil le le 01-08-2009 a 22:23:49

Bonjour et grand merci pour votre réponse.

Ca me met un message d'erreur

Warning: include(pages/modif_membre2.php) [function.include]: failed to open stream: No such file or directory in D:\wamp\www\cliquedecruet\index.php on line 6

Warning: include() [function.include]: Failed opening 'pages/modif_membre2.php' for inclusion (include_path='.;C:\php5\pear') in D:\wamp\www\cliquedecruet\index.php on line 6

Si toutes fois vous pouvez encore m'aider
Merci

Titre: Re:Modification donnée
Posté par: faissal_aeh le le 04-08-2009 a 11:11:48

Ben, je pense qu'il faut voir du côté de l'arborescence des répertoires de ton site ???


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.