modification des champs d'un formulaire
Hors ligneDekec Le 26/04/2008 à 19:02 Profil de Dekec Configuration de Dekec

je souhaiterais recevoir de vous une aide. j'ai un formulaire, j'arrive a inserrer les données dans le formulaire, mais concernant les modification, helas ca bloque. si vous pouvez m'aider, faites le. merci.
voici mon code: composé de modification1.php, modification2.php, modification3.php

modification1.php
<html>
  <head>
    <title>modification de données en PHP :: partie 1</title>
  </head>
  <style>
    body {
    font-family: Arial, Sans-Serif;
    font-size: 12px; }

    .fiche {
    background-color: #E0E0E0;
    margin: 10px 30px 5px 30px;
    padding: 5px; }

    .floatadroite {
    float: right;
    text-align: left; }
    </style>
<body>
<h1>Liste</h1>
  <?php
    //connection au serveur:
    $cnx = mysql_connect( "localhost", "root", "" ) ;

    //sélection de la base de données:
    $db = mysql_select_db( "test" ) ;

    //requête SQL:
    $sql = "SELECT *
          FROM agent" ;

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

    //affichage des données:
    while( $result = mysql_fetch_array( $requete ) )
     {
    echo '<div class="fiche">';
    echo '<div class="floatadroite">';
    echo '<a href="modification2.php?modification=' . $result['Matricule'] . '" title="Modifier">Modifier</a><br />';
    echo '<a href="supprimer1.php?supprimer=' . $result['Matricule'] . '" title="Supprimer">Supprimer</a>';
    echo '</div>';
    echo 'Matricule : ' . $result['Matricule'] . '<br />';
    echo 'Login : ' . $result['Login'] . '<br />';
    echo 'Mot_de_passe : ' . $result['Mot_de_passe'] . '<br />';
    echo 'Poste : ' . $result['Poste'] . '<br />';
    echo 'Nom : ' . $result['Nom'] . '<br />';
    echo 'Prénoms : ' . $result['Prénoms'] . '<br />';
    echo '</div>';
    }  
  ?>
</body>
</html>

modification2.php
<html>
  <head>
    <title>modification de données en PHP :: partie2</title>
  </head>
<body>
  <?php
  //connection au serveur:
  $cnx = mysql_connect( "localhost", "root", "" ) ;

  //sélection de la base de données:
  $db = mysql_select_db( "test" ) ;

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

  //requête SQL:
  $sql = "SELECT *
            FROM agent
        WHERE Matricule_agent = ".$Matricule ;
      
  //exécution de la requête:
  $requete = mysql_query( $sql, $cnx ) ;

  //affichage des données:
  if( $result = mysql_fetch_array( $requete ) )
  {
  ?>
<form name="insertion" action="modification3.php" method="POST">
  <input type="hidden" name="Matricule" value="<?php echo($Matricule) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td>Login</td>
      <td><input type="text" name="Login" value="<?php echo($result->Login) ;?>"></td>
    </tr>
    <tr align="center">
      <td>Mot_de_passe </td>
      <td><input type="text" name="Mot_de_passe" value="<?php echo($result->Mot_de_passe) ;?>"></td>
    </tr>
    <tr align="center">
      <td>poste</td>
      <td><input type="text" name="Poste" value="<?php echo($result->poste) ;?>"></td>
    </tr>
    <tr align="center">
      <td>Nom</td>
      <td><input type="text" name="Nom" value="<?php echo($result->Nom) ;?>"></td>
    </tr>
    <tr align="center">
      <td>Pr&eacute;noms</td>
      <td><input type="text" name="Prénoms" value="<?php echo($result->Prénoms) ;?>"></td>
    </tr>
    <tr align="center">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
  <?php
  }//fin if
  ?>
</body>
</html>

modification3.php
<?php
  //connection au serveur
  $cnx = mysql_connect( "localhost", "root", "" ) ;

  //sélection de la base de données:
  $db  = mysql_select_db( "test" ) ;

  //récupération des valeurs des champs:
  //Matricule:
  $Matricule     = $_POST["Matricule"] ;
  //Login:
  $login = $_POST["Login"] ;
  //Mot_de_passe:
  $Mot_de_passe = $_POST["Mot_de_passe"] ;
  //Poste:
  $Poste        = $_POST["Poste"] ;
  //Nom:
  $Nom        = $_POST["Nom"] ;
  //Prénoms:
  $Prénoms        = $_POST["Prénoms"] ;

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

  //création de la requête SQL:
  $sql = "UPDATE agent
            SET Login         = '$Login',
              Mot_de_passe     = '$Mot_de_passe',
          Poste    = '$Poste',
          Nom           = '$Nom',
          Prénoms = '$Prénoms'
           WHERE Matricule_agent = '$Matricule' " ;

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


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

lorsque j'execute le code voici l'erreur que je recois.

Notice: Undefined index: Matricule_agent in C:\Program Files\EasyPHP 2.0b1\www\Nouveau dossier (5)\modification2.php on line 15

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\Nouveau dossier (5)\modification2.php on line 26
merci pour votre aide.
--
bonjour
Hors ligneAnthony Le 30/04/2008 à 23:21 Profil de Anthony Configuration de Anthony

Fou du volant
Salut :)

Tu pourrais éditer ton message en cliquant sur l'icône représentant un bloc-notes pour y colorer ton code avec les balises [code] appropriées ? Ca sera bien plus pratique pour t'aider car là on n'y voit pas grand chose.

merci d'avance ;)
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels