IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

formulaire de modification [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2010
    Messages : 133
    Par défaut formulaire de modification
    Bonjour
    Voilà plusieurs jours que je galère sur un script de modification.
    je voudrais que les utilisateurs puissent modifier leurs inscriptions à un challenge.
    Une requete leur renvoie la liste de leurs inscriptions. Ce que je voudrais bien réussir à faire c'est que le formulaire de modification
    prenne les données de la ligne sélectionnée.
    A ce jour,je n'ai le formulaire rempli qu'avec la première ligne de la liste.
    Merci pour votre aide.
    je vous joint les codes .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     
    <?php 
    ini_set("display_errors",-1);error_reporting(E_ALL);
     
     include ('header.php');
     
     
    include ('../admin/includes/fonctions.php');
        if(isset($_SESSION['pseudo']) && $_SESSION['niveau'] == '2')
    {
     
     
    include ('../mysqlcnn.php');
    include ('menucompet.php');
    ?>
     
    <div id="corps">
     
     
    <h1>liste des inscrits: CHALLENGE ADULTES</h1>
    <div id="tableau">
    <table>
        <tr>
     
        	<th>Id</th>
        	<th>jourc</th>
        	<th>heurec</th>
        	<th>nom</th>
    		<th>prenom</th>
    		<th>club</th>
    		<th>nlicence</th> 
    		<th>cat</th>
    		<th>dis</th>
    		<th>Gerer</th>
    		<th>Supprimer</th>
        </tr>
    <?php
     
    //////////////////////////////////////////////////////////////////// fonction page start////////////////////////////////////////////////////////////////////////
    if (empty($_GET["start"])) $start = 0;
    else $start = $_GET["start"];
    // on défini ici le nombre de membre qu'on affiche par pages
    $nbpp = 15;
    $ok = true;
    if (!empty($choixconfirm))
    {
    if ($choixconfirm == "i") $ve = 0; else $ve = 1;
    //On recupere les identifiants, les pseudo et les emails des utilisateurs
    $req = mysql_query("select * from fuschaladult  from fuschaladult ASC limit $start, $nbpp;");
    }
    else 
    $req = mysql_query("select * from fuschaladult order by nom ASC limit $start, $nbpp;");
     
     
    while($dnn = mysql_fetch_array($req))
    {
    ?>
     
    	<tr>
     
        	<td><?php echo htmlentities($dnn['id']); ?></td>
        	<td><?php echo htmlentities($dnn['jourc']); ?></a></td>
        	<td><?php echo htmlentities($dnn['heurec']); ?></td>
        	<td><?php echo htmlentities($dnn['nom']); ?></td>
    	<td><?php echo htmlentities($dnn['prenom']); ?></td>
    	<td><?php echo htmlentities($dnn['club']); ?></a></td>
        	<td><?php echo htmlentities($dnn['nlicence']); ?></td>
        	<td><?php echo htmlentities($dnn['cat']); ?></td>
    	<td><?php echo htmlentities($dnn['dis']); ?></td>
     
    		<td><a href="adm_chaladult.php?o=<?php echo $dnn['jourc']; ?>&n=<?php echo $dnn['nlicence']; ?>&m=<?php echo $dnn['dis'] ;?>"><?php echo "Modifier" ; ?></a></td>
    		<td><div align="center"><a href="sup_chaladult.php?o=<?php echo $dnn['jourc']; ?>&n=<?php echo $dnn['nlicence'] ;?>&m=<?php echo $dnn['dis'] ;?>">Supprimer</a></div></td>
        </tr>
    <?php
    }
    ?>
    </table>
     
    <?php
    //////////////////////////////////////////////////////////////////// fonction page start////////////////////////////////////////////////////////////////////////
    if (empty($_GET["start"])) $start = 0;
    else $start = $_GET["start"];
    // on défini ici le nombre de membre qu'on affiche par pages
    $nbpp = 15;
    $ok = true;
    if (!empty($choixconfirm))
    {
    if ($choixconfirm == "i") $ve = 0; else $ve = 1;
    //On recupere les identifiants, les pseudo et les emails des utilisateurs
    $req = mysql_query("select * from fuschaladult  ASC limit $start, $nbpp;");
    }
    else 
    $req = mysql_query("select * from fuschaladult order by nom ASC limit $start, $nbpp;");
     
    //////////////////////////////////////////////////////////////////// fonction page start////////////////////////////////////////////////////////////////////////
    ?>
     
    <div align="center">
     
     <?php
    }
            else
    {
    ?>
    <div id="corps">
     
    <h1>Vous n'avez pas le droit d'accéder à cette page</h1><br />
     
    <?php
    } ;
    ?> 
    </div>
     </div>
     </div>
    </div>
    </h2>
    </div> 
     </div>
    </body>
    </html>
    Ci-dessous le code que je n'arrive pas à faire marcher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
     
    <?php
    ini_set("display_errors",-1);error_reporting(E_ALL); 
    @session_start;
     include ('header.php');
      include ('menucompet.php'); 
      include ("../mysqlcnn.php"); 
      $pseudo = ($_SESSION['pseudo']); 
    ?>
    <div id="corps">
     
    <hr>
     
    <?php
     
    	   if  (  !empty($_POST['jourc']) 
    	&& !empty($_POST['heurec'])
    	&& !empty($_POST['nom'])
    	&& !empty($_POST['prenom'])
    	&& !empty($_POST['club'])
    	&& !empty($_POST['nlicence'])  
    	&& !empty($_POST['cat'])
    	&& !empty($_POST['dis'])
    	 )
     
     
    	  	  	{ 
     
     
    				//$id = mysql_real_escape_string($_POST['id']);
    				$jourc = mysql_real_escape_string($_POST['jourc']);
    				$heurec = mysql_real_escape_string($_POST['heurec']);
    				$nom = mysql_real_escape_string($_POST['nom']);
    				$prenom = mysql_real_escape_string($_POST['prenom']);
    				$club = mysql_real_escape_string($_POST['club']);
    				$nlicence = mysql_real_escape_string($_POST['nlicence']);
    				$cat = mysql_real_escape_string($_POST['cat']);
    				$dis = mysql_real_escape_string($_POST['dis']);
     
    				     if (($_GET['m']=="c10") || ($_GET['m']=="p10") && ($_GET['o']=="09octobre")) 
    				    	{ 
    						$tble = "chaladult1";
    						$nbp = 20;
    						} 
    					   else if (($_GET['m']=="c10") || ($_GET['m']=="p10") && ($_GET['o']=="20novembre"))
    				   		{ 
    						$tble = "chaladult2";
    						$nbp = 30;
    						} 
    				  	 else if (($_GET['m']=="c10") || ($_GET['m']=="p10") && ($_GET['o']=="11decembre"))
    				    	{ 
    						$tble = "chaladult3";
    						$nbp = 18;					  						
    						} 
    					  else if (($_GET['m']=="c10") || ($_GET['m']=="p10") && ($_GET['o']=="22janvier"))
    				   		{ 
    						$tble = "chaladult4";
    						$nbp = 16;
    						} 	 
    						 else if (($_GET['m']=="c10") || ($_GET['m']=="p10") && ($_GET['o']=="04mars"))
    				   		{ 
    						$tble = "chaladult5";
    						$nbp = 30;
    						} 
     
    			//On modifie les informations de l'utilisateur avec les nouvelles valeurs
    	                    if(mysql_query('update fuschaladult set jourc="'.$jourc.'", heurec="'.$heurec.'", nom="'.$nom.'", prenom="'.$prenom.'", club="'.$club.'", nlicence="'.$nlicence.'", cat="'.$cat.'", dis="'.$dis.'"  where nlicence="'.$nlicence.'" && dis="'.$dis.'" && jourc="'.$jourc.'" '))
     
    					  		{
    							//Si ca a fonctionne, on naffiche pas le formulaire
    							//$form = false;
    							 mysql_query('update '.$tble.' set jourc="'.$jourc.'", heurec="'.$heurec.'", nom="'.$nom.'", prenom="'.$prenom.'", club="'.$club.'", nlicence="'.$nlicence.'", cat="'.$cat.'", dis="'.$dis.'"  where nlicence="'.$nlicence.'" && dis="'.$dis.'" && jourc="'.$jourc.'" ');
     
    ?>
     
    		  <script type="text/javascript">
     
          window.setTimeout
    	  ('document.location.href="admin_chaladult.php"',2000);
     
        </script> 
    		<h2>
     
     
    Les infos du membre ont été modifiées avec succès !
    <br />
    <br />
    Redirection...
     
    </h2>
     
    		<?php	  
    			  exit();
     
    					  }
    						}
    						else
    						{
    							//Sinon on dit quil y a eu une erreur
    							$form = true;
    							$message = 'Une erreur est survenue lors des modifications.';
    						}
     
    	 	if(isset($_POST['id'],$_POST['jourc'],$_POST['heurec'],$_POST['nom'],$_POST['prenom'],$_POST['club'],$_POST['nlicence'],$_POST['cat'],$_POST['dis']))
    		{
     
    				//$id = htmlentities($_POST['id']);
    				$nlicence = mysql_real_escape_string($_POST['nlicence']); 
    				$dis = mysql_real_escape_string($_POST['dis']);
    				$jourc = mysql_real_escape_string($_POST['jourc']);
    		}
     
    	  else
    		{
    			//Sinon, on affiche les donnes a partir de la base de donnee  
    			$dnn = mysql_fetch_array(mysql_query('select * from fuschaladult where pseudo="'.$pseudo.'"'));
    			//$id = htmlentities($dnn['id']);
    			$jourc = htmlentities($dnn['jourc']);
    			$heurec = htmlentities($dnn['heurec']);
    			$nom = htmlentities($dnn['nom']);
    			$prenom = htmlentities($dnn['prenom']);
    			$club = htmlentities($dnn['club']);
    			$nlicence = htmlentities($dnn['nlicence']);
    			$cat = htmlentities($dnn['cat']);
    			$dis = htmlentities($dnn['dis']);
     
    		 }	 
     
    		//On affiche le formulaire
    ?>
     
    <form action="adm_chaladult.php?o=<?php echo $dnn['jourc']; ?>&n=<?php echo $dnn['nlicence']; ?>&m=<?php echo $dnn['dis'] ;?>" method="post">
    Vous pouvez modifier les informations de <?php echo "$nom"," ","$prenom";?><br /><br />
    Jour de tir:<input type="text" name="jourc" value="<?php echo $jourc; ?>" /><br /><br /> 
    Heure de tir:<input type="text" name="heurec" value="<?php echo $heurec; ?>" /><br /><br /> 
    Nom d'utilisateur:<input type="text" name="nom" value="<?php echo $nom; ?>" /><br /><br />
    Prenom:<input type="text" name="prenom" value="<?php echo $prenom; ?>" /><br /><br />
    Club:<input type="text" name="club" value="<?php echo $club; ?>" /><br /><br />
    Nlicence:<input type="text" name="nlicence" value="<?php echo $nlicence; ?>" /><br /><br />
    Categorie :<input type="text" name="cat" value="<?php echo $cat; ?>" /><br /><br />
    Discipline:<input type="text" name="dis" value="<?php echo $dis; ?>" /><br /><br />
     
    	<br /><br />
    <input type="submit" value="valider les modifications" /><br />
    </form>
     
    </div>
     
     </div>
     </div>
    </body>
    </html>
    Je suis sous free .

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Merci pour les 300 lignes de codes, ca aurait été sympa d'orienter un peu la lecture.

    Ta ligne 116 du deuxième code lit la première ligne du résultat de la requête, c'est donc normal que tu n'aies qu'un résultat.
    Il faut faire une boucle classique de lecture des résultats de la requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Dans le premier code, je vois ceci, ligne 49 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query("select * from fuschaladult  from fuschaladult ASC limit $start, $nbpp;");
    2 FROM qui se suivent dans la requête !!
    Ça m'étonnerait que ça fonctionne !

    Ligne 90, j'y vois aussi ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query("select * from fuschaladult  ASC limit $start, $nbpp;");
    Si ASC est bien le mot clé demandant d'ordonner de manière ascendante les données, il manque un ORDER BY. Tel que c'est écrit, ASC est ici un alias de la table fuschaladult. Pas sûr qu'il serve à quelque chose puisque, apparemment, c'est la seule table interrogée par la requête.

    Dans le second code, ligne 116, je vois ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dnn = mysql_fetch_array(mysql_query('select * from fuschaladult where pseudo="'.$pseudo.'"'));
    Attention aux injections SQL !

    Ensuite...

    1) Il vaut mieux éviter la guerre des étoiles !

    2) Les instructions mysql_ sont obsolètes ; il vaut mieux utiliser mysqli_ ou PDO.

    3) Mélanger le code HTML et le programme PHP, c'est un peu "old school" ; ce serait bien de se mettre un minimum au MVC en séparant au moins la partie vue (code HTML de construction de la page) de la partie contrôleur (traitement des actions de l'utilisateur et préparation des données avant affichage).
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2010
    Messages : 133
    Par défaut
    Bonjour
    merci pour vos réponses.
    Je suis un novice en php de plus je n'ai pas pdo avec free.
    Pour le boucle de lecture je vais voir si j'y arrive.
    Je vous tiens au courant.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2010
    Messages : 133
    Par défaut
    re Bonjour
    voila la boucle de lecture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    			$sql = 'select * from fuschaladult where pseudo="'.$pseudo.'"';
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
    while($dnn = mysql_fetch_assoc($req)) 
        { 
         echo ' '.$dnn['nom'].', '.$dnn['prenom'].', ('.$dnn['jourc'].'), ('.$dnn['heurec'].'), ('.$dnn['club'].'), ('.$dnn['nlicence'].') ('.$dnn['cat'].'), ('.$dnn['dis'].')'; 
     
        } 
     
    mysql_close();
    Est-ce correct ?
    J'ai un probleme de connexion ftp free depuis ce matin je n'ai pas pu tester.
    Encore merci pour votre patience avec les nuls.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Février 2010
    Messages : 133
    Par défaut
    Bonjour
    j'ai enfin réussi à faire marcher les modifs.
    Merci
    Je passe le message à résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. formulaire de modification
    Par VIRGINIE87 dans le forum IHM
    Réponses: 7
    Dernier message: 24/01/2007, 10h04
  2. rafraichissement formulaire suite modif sous-form
    Par pontoise dans le forum IHM
    Réponses: 5
    Dernier message: 24/11/2006, 23h46
  3. Réponses: 14
    Dernier message: 19/10/2006, 14h23
  4. Formulaire et modifications
    Par climz dans le forum IHM
    Réponses: 7
    Dernier message: 24/05/2006, 08h19
  5. problème sur un formulaire de modification
    Par puppusse79 dans le forum Access
    Réponses: 13
    Dernier message: 14/04/2006, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo