c'est a dire le formulaire de la page marche.php
il s'affiche que lorsque le prénom n'existe pas
si le prénom existe le formulaire
Version imprimable
c'est a dire le formulaire de la page marche.php
il s'affiche que lorsque le prénom n'existe pas
si le prénom existe le formulaire
ok!
pour que l'utilisateur puisse modifier son prénom
on lui affiche le prénom ancien et on lui donne la possibilité de le modifier.
(sa c'est un petit exemple : car mon projet demande que j'affiche l'ancien formulaire de l'enseignant pour qu'il puisse le modifier)
merci
Ok alors je n'ai pas regardé ce que l'on t'a proposé mais j'ai développé la même chose et tu peux faire ceci :
On part du principe que l'utilisateur a choisi de modifier son form :
Est-ce clair ??Code:
1
2
3
4La page affiche le form avec les valeurs des champs préremplis Il i y a un bouton enregistrer les changements. Lorsque ce bouton est cliké, les nouvelles infos sont modifiés en BD, Tu n'as pas besoin de changer de page pour envoyer les infos, tu peux faire boucler le form sur la même page.
C'est ce que j'ai proposé dans la 2eme partie de marche.php :
le formulaire ("prenom") et le traitement sont sur la meme page :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ............. <form method="post" action="marche.php"> filiere : <input type="text" name="filiere" value="<?php echo $id_fr; ?>" ><br /><br /> prenom : <input type="text" name="prenom" value="<?php echo $prenom; ?>" ><br /> <input type="submit" name="ok" value="ok"> </form> <?php // ----------------------------------------------- $pre = ''; $filiere = ''; // ----------- // si le formulaire "filiere / prenom" a ete poste (formulaire ci-dessus) if (isset($_POST['filiere']) && isset($_POST['prenom'])) { // ----------- // recuperation des valeurs de "filiere" et "prenom" $filiere = mysql_real_escape_string($_POST['filiere']); $pre = mysql_real_escape_string($_POST['prenom']); // ----------- $query = "UPDATE etudiant SET prenom_et='".$pre."' WHERE prenom_et='".$prenom."'"; mysql_query($query,$connexion) or die("modificationimpossible: $query <br />".mysql_error()); } ?> .............
ok jreaux mais ce qui me semble louche c'est que tu n'utilises pas ceci dans le paramètre action : $_SERVER["PHP_SELF"] (ou une autre variable similaire) ?? Je suis certain d'avoir utilisé ceci pour boucler sur mon form
oui effectivement il faut se protéger avec htmlentities, mais l'esprit y est, pourquoi ne préconise pas ce genre de chose??
Bah oui bien sur mais je pensais que c'est nécessaire puisque c'est ce que j'avais utilisé pour ma solution (pour le même genre de pb).
mais apparament notre amie ne donne plus de signe de vie :mouarf:, elle s'est fait manger par son clavier :mouarf:
bon jour;
"mais apparament notre amie ne donne plus de signe de vie , elle s'est fait manger par son clavier "
je suis de reour:lol:
pour fab :
-la page affiche le formulaire avec les valeurs des champs préremplis : c'est réglé
-tu peux faire boucler le formulaire sur la même page : je sais pas comment faire
pour la solution de jreaux : sa n'a pas marché
au début il y avais un problème d'accolade '{'
dans cette partie :
c'est la dernier { qui posé problème (j'ai enlevé cette { )Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15else { // si le prenom n existe pas dans la Bd : on affiche un formulaire echo 'ce prenom n\'existe pas :<br />'; } ?> <br /> <form method="post" action="marche.php"> filiere : <input type="text" name="filiere" value="<?php echo $id_fr; ?>" ><br /><br /> prenom : <input type="text" name="prenom" value="<?php echo $prenom; ?>" ><br /> <input type="submit" name="ok" value="ok"> </form> <?php } // -----------------------------------------------
-j'affiche la page new_2.php je fait entrer le nom et le matricule puis ok
j'aurais la page marche.php je fait entrer aussi la filière et le prénom puis ok
j'airais la même page marche.php
et dans les champs
filière : <br /> <b>Notice</b>: Undefined variable: id_fr in <b>C:\Program Files\EasyPHP 2.0b1\home\marche.php</b> on line <b>49</b><br />
prénom :<br /> <b>Notice</b>: Undefined variable: prenom in <b>C:\Program Files\EasyPHP 2.0b1\home\marche.php</b> on line <b>50</b><br />
Notice: Undefined variable: prenom in C:\Program Files\EasyPHP 2.0b1\home\marche.php on line 66
voila je vous ayez montrer les msg d'erreur
En ce qui concerna ma proposition, j'ai évoqué le $_SERVER[SELF] (je ne me rapelle plus de la syntaxe, et quelqu'un a également mis un lien traitant de ce sujet donc en le lisant tu sauras comment faire :D
ok fab;
merci
d'après le lien :
http://blog.developpez.com/julienpau...p-self-et-xss/
j'ai retenu que $_SERVER['PHP_SELF'] sert a protéger une page
en utilisant cette balise :
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
mais je ne sais même pas,ou je placerais cette balise :oops:
Mais quelle est donc cette balise?? Ah oui c'est la balise form :oops:,
peut être devrait tu la mettre a laplace de ton autre balise form, il y a le meme paramètre 'action', au lieu de balancer les infos sur une autre page , c'est comem si il se les renvoyait à lui même... Est-ce clair?
sa n'a pas marché!!!!
en changent cette balise : <form method="post" action="marche.php">
avec celle ci : <form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>">
meme quand j'ai enlevé method="post"
fab76000,
je t'avais dit que ca mettrait de la confusion !
On n'est pas sorti de l'auberge !!
:mouarf: je voulais bien faire, sincèrement je pense que c'est une solution..:mouarf: