|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Pierrot Développeur Web Inscription : novembre 2010 Messages : 79 ![]() |
Bonjour à tous et à toutes,
Me voilà devant vous pour une remise en question de ma façon de programmer. Je développe des sites, intranets, logiciels en PHP5 / MySQL. Dans les consoles d'administration sont gérés un tas de paramètres tels que, par exemple, les utilisateurs. Une page permet de lister les utilisateurs, et une deuxième page permet de modifier un utilisateur ou d'en créer un. Utilisez-vous un système de SESSION ou GET pour conserver l'id_utilisateur lors de la modification/création ? Je vois des avantages et des inconvénients dans les 2. Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 802 ![]() |
Aucun des deux, j'utilise du POST.
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Pierrot Développeur Web Inscription : novembre 2010 Messages : 79 ![]() |
Et des champs hidden pour rester sur le même id ?
Ca oblige à faire une redirection lors de la création d'un nouvel utilisateur, pour passer en mode modification. Le problème, c'est pour afficher un message "Utilisateur créé". |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
Si oui alors je passe par GET, ensuite au script traitant la demande de s'assurer de sa validité/pertinence.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 802 ![]() |
Je fais passer mes messages par $_SESSION donc aucun souci.
Construction d'un tableau de message qui contient tous les messages qui n'ont pas encore étés affichés et suppression du message lorsqu'on l'affiche. |
|
|
00
|
|
|
#6 | |
|
Membre régulier
![]() Pierrot Développeur Web Inscription : novembre 2010 Messages : 79 ![]() |
Citation:
Et tu utilises un PHP_SELF + QUERY_STRING dans la déclaration de ton formulaire ? Genre : Code :
echo '<form name="form" method="post" action="'.htmlentities($_SERVER['PHP_SELF'].(!empty($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : '')).'" enctype="multipart/form-data">'; Code :
header('Location:'.htmlentities($_SERVER['PHP_SELF']).'?'.mysql_insert_id()); |
|
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Dans ce cas précis, POST ne m’apparaît avoir aucun avantage sur GET.
Ils sont tous les deux possible à modifier, et on ne cherche généralement pas à avoir du SEO dans une page d'administration. ( Enfin, j'espère pour toi que les engins de recherche ne se rendent pas là GET à l'avantage de pouvoir être modifier. On peut envoyer une URL à un client par courriel (ou l'inverse) par exemple. En cas de débogage à distance, c'est facile de déterminer quel est l'ID. Pour session je ne vois pas vraiment d'avantage, sauf si ton formulaire de modification possède plusieurs pages, dans ce cas, il est plus facile de passer l'id d'une page à l'autre. |
|
|
00
|
|
|
#8 | |||
|
Membre régulier
![]() Pierrot Développeur Web Inscription : novembre 2010 Messages : 79 ![]() |
Citation:
===> Il est nécessaire de recharger la page après validation pour que le nouvel id apparaisse dans l'Url et donc passer en mode modification : Code :
header('Location:'.$_SERVER['PHP_SELF'].'?id='.mysql_insert_id()); Il faut donc envoyer une indication de message dans l'Url, par ex : Code :
Je trouve ça assez lourd. C'est la raison pour laquelle j'utilise les SESSIONs |
|||
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#10 | |||||
|
Membre régulier
![]() Pierrot Développeur Web Inscription : novembre 2010 Messages : 79 ![]() |
Citation:
Ci-dessous un exemple de fichier vite codé, pour illustrer : Code :
Tel est le problème de la méthode GET. Alors qu'en SESSION, pas de problème : Code :
|
|||||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 802 ![]() |
Et pourquoi $message ne serait pas une variable de session ? Cela ne te poserai plus de problème quelque soit la configuration que tu veux derrière.
__________________
|
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
par contre empty vérifie aussi si la variable existe ou pas donc c'est en doublon avec isset
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#13 | ||
|
Membre régulier
![]() Pierrot Développeur Web Inscription : novembre 2010 Messages : 79 ![]() |
Citation:
Citation:
Mais dans ce cas, je préfère passer par le système de SESSION pour conserver l'id. Ça évite l'utilisation de GET. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com