Problème sur formulaire en php

Résolu/Fermé
Ga3z Messages postés 67 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 9 septembre 2008 - 3 sept. 2008 à 18:06
Ga3z Messages postés 67 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 9 septembre 2008 - 5 sept. 2008 à 09:38
Bonjour,
Sur Free, j'ai une page avec un formulaire qui me permet soit de rajouter une inscription dans la base, soit de la modifier
Or, si pour rajouter ça marche, quand je veux modifier, l'id de l'inscription s'affiche bien dans l'adresse, mais par contre les champs sont vides, et je ne trouve pas pourquoi
mon code:
<?php
mysql_connect("host", "user", "pass");
mysql_select_db("mabase");
if (isset($_GET['modifier_membre'])) // Si on demande de modifier un membre
{
    // On protège la variable "modifier_membre" pour éviter une faille SQL
    $_GET['modifier_membre'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_membre']));
    // On récupère les infos de la news correspondante
    $retour = mysql_query('SELECT * FROM membres WHERE id=\'' . $_GET['modifier_membre'] . '\'') ;
    $donnees = mysql_fetch_array($retour);
    
    // On place le titre et le contenu dans des variables simples
    $nom = stripslashes($_POST['nom']);
    $prenom = stripslashes($_POST['prenom']);
    $entree = stripslashes($_POST['entree']);
    $mail = stripslashes($_POST['mail']);
    $telephone = stripslashes($_POST['telephone']);
    $portable = stripslashes($_POST['portable']);
    $id_membre = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else 
// on rédige une nouvelle inscription
{
    // Les variables $nom et $prénom etc sont vides, puisque c'est une nouvelle inscription
    $nom = '';
    $prenom = '';
    $entree = '';
    $mail = '';
    $telephone = '';
    $portable = '';
    
    $id_membre = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
 <center><h1>Membre du club </h1>
</center>
<div align="left"></div>
  
<center><table width="86%" border="1" bgcolor="#CCCCCC">
  <tr>
    <td height="339"><form action="list_membre.php" method="post" name="forminscr" id="forminscr" >
    <div align="left">
      <p>&nbsp;&nbsp;<br />
            <br />
&nbsp;&nbsp;Nom <input type="text" name="nom" size="40" maxlength="50" value="<?php echo $nom; ?>" />
&nbsp;&nbsp;Prénom <input type="text" name="prenom" size="40" maxlength="50" value="<?php echo $prenom; ?>" />
      <p>
     
   &nbsp;&nbsp;Année d'entrée <input type="text" name="entree" size="10" maxlength="50" value="<?php echo $entree; ?>" />
   </p>
&nbsp;&nbsp;Téléphone  <input type="text" name="tel" size="20" maxlength="50"value="<?php echo $telephone; ?>" />
&nbsp;Portable <input type="text" name="portable" size="20" maxlength="50"value="<?php echo $portable; ?>" />
</p>
      <p>E-mail <input type="text" name="email" size="50" maxlength="50"value="<?php echo $mail; ?>" /></p>
          <input type="hidden" name="id_membre" value="<?php echo $id_membre; ?>" /><br />
<br />

      <input type="button" value="Retour" onclick="window.location='liste_membre.php'" />

      <input type="submit" name="bouton" value="Envoyer" />

      <input type="reset" name="R&eacute;tablir" value="Effacer" />
           </p>
    </div>
    </form></td>
  </tr>
</table></center>
A voir également:

2 réponses

Ga3z Messages postés 67 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 9 septembre 2008 6
5 sept. 2008 à 09:38
Merci beaucoup
ça marche avec ça effectivement
1
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
4 sept. 2008 à 09:40
Salut,

essaye de remplacer ceci :

 // On place le titre et le contenu dans des variables simples
    $nom = stripslashes($_POST['nom']);
    $prenom = stripslashes($_POST['prenom']);
    $entree = stripslashes($_POST['entree']);
    $mail = stripslashes($_POST['mail']);
    $telephone = stripslashes($_POST['telephone']);
    $portable = stripslashes($_POST['portable']);
    $id_membre = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification


par ceci :

 // On place le titre et le contenu dans des variables simples
    $nom = $donnees['nom'];
    $prenom = $donnees['prenom'];
    $entree = $donnees['entree'];
    $mail = $donnees['mail'];
    $telephone = $donnees['telephone'];
    $portable = $donnees['portable'];
    $id_membre = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification


Je ne connais pas ta base de données et comment sont construit tes tables mais logiquement, ça risque plus de marcher !

En effet, quand on rentre dans la boucle de modifications, tu attribue à des varaibles des élément qu'on reçoit en POST alors que t'es sencé les chercher dans ta BDD (puisque c'est une modification, elle doivent déjà toute exister dans la BDD)

A+

Gaerebut
0