Lien de déstruction de sessions sans formulaire, sans page dédiée

Lien de déstruction de sessions sans formulaire, sans page dédiée - PHP - Programmation

Marsh Posté le 01-05-2005 à 00:24:03    

Voila, toujours dans la progression de mon portail, actuellement j'essaye d'optimiser le script pour qu'il soit plus leger, plus propre, et tienne en moins de pages (sans pour autant que ca soit le bordel).
La je veux implanter un lien "fermer la session" ou "déconnecter".
Donc il suffit pour cela d'appeler la commande session_destroy().
Mais je n'ai pas envie de faire un bouton, et je n'ai pas envie de faire une page spécialement pour cette commande. Donc comment puis je appeler la commande d'une autre facon ?

Reply

Marsh Posté le 01-05-2005 à 00:24:03   

Reply

Marsh Posté le 01-05-2005 à 00:45:56    

en criant ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 01-05-2005 à 00:58:54    

:kaola:

Reply

Marsh Posté le 01-05-2005 à 02:59:22    


 
Bah avant de te moquer de la réponse, réfléchit à ta question : tu es chez le client, tu veux détruire une session sur le serveur, tu dois donc y retourner. Sans bouton, il te reste le lien vers une page spéciale (ce que tu veux éviter) ou le lien avec un paramètre vers la même page, avec test de l'existence du paramètre, ce qui n'est peut être pas ma définition d'optimiser :D

Reply

Marsh Posté le 01-05-2005 à 04:04:42    

:/ j'avoue.
Je sais pas y a pas moyen de lancer une fonction sur clic? ^-^
ou alors de planque un hidden input dans un lien ? :D

Reply

Marsh Posté le 01-05-2005 à 04:10:56    

d'ailleurs, je me posais une question:
Est ce une bonne ou une mauvaise idée de gerer sur la meme page plusieurs formulaires ?
genre j'ai:
un form pour poster un article
un form pour modifier un article
un form pour supprimer un article
a la base chacun avait sa page perso de validation (verif_newarticle.php / verif_modifarticle.php / verif_supprarticle.php), mais ca ma soulé que mon site fasse autant de page, du coups j'ai réuni tout sur la meme page de vérif en attribuant a chaque formulaire une valeur de la même variable a chaque form:
 

Code :
  1. $modif = $_POST['modif']; // modification pour modif=1, suppression pour modif=2
  2. // -----------------------------------
  3. // le bouton de modification a été cliqué  
  4. // La valeur du champs hidden est alors 1
  5. // On modifie alors la ligne correspondant a l'id de l'article
  6. // ------------------------------------
  7. while( $modif == "1" )
  8. [...]
  9. // -----------------------------------
  10. // le bouton de suppression a été cliqué  
  11. // La valeur du champs hidden est alors 2
  12. // On supprime alors la ligne correspondant a l'id de l'article
  13. // ------------------------------------
  14. while( $modif == "2" )
  15. {
  16. [...]
  17. // -----------------------------------
  18. // le bouton de d'ajout de news a été cliqué  
  19. // La valeur du champs hidden est alors 3
  20. // On ajoute les information rentrée dans une nouvelle ligne de la base
  21. // ------------------------------------
  22. while( $modif == "3" )
  23. {


 
C'est pas une surcharge pour le serveur ?

Reply

Marsh Posté le 01-05-2005 à 10:00:50    

Je sais pas pour les autres, mais moi je le ferais comme ça :
 
 

Code :
  1. if (isset($_POST['modif'])) // Vérification de l'existence du $_POST['modif']
  2. {
  3.     $modif = $_POST['modif'];
  4.     if ($modif == "1" ) // Si $modif = 1
  5.     {
  6.         // ...
  7.         // Tu fais ce que tu veux quand $modif = 1
  8.         // ...
  9.     }
  10.     elseif ($modif == "2" ) // Si $modif = 2
  11.     {
  12.         // ...
  13.         // Tu fais ce que tu veux quand $modif = 2
  14.         // ...
  15.     }
  16.     elseif ($modif == "3" ) // Si $modif = 3
  17.     {
  18.         // ...
  19.         // Tu fais ce que tu veux quand $modif = 3
  20.         // ...
  21.     }
  22. }


 
Je pense qu'il n'y a aucun problème à gérer plusieurs formulaire sur une seule page, c'est ce que je fais le plus souvent, et j'ai pas envie de me faire chier avec 40000 pages pour ça non plus :D.


Message édité par Killer_386 le 01-05-2005 à 10:05:56
Reply

Marsh Posté le 01-05-2005 à 12:24:30    

Killer_386 a écrit :

Je sais pas pour les autres, mais moi je le ferais comme ça :
 
 

Code :
  1. if (isset($_POST['modif'])) // Vérification de l'existence du $_POST['modif']
  2. {
  3.     $modif = $_POST['modif'];
  4.     if ($modif == "1" ) // Si $modif = 1
  5.     {
  6.         // ...
  7.         // Tu fais ce que tu veux quand $modif = 1
  8.         // ...
  9.     }
  10.     elseif ($modif == "2" ) // Si $modif = 2
  11.     {
  12.         // ...
  13.         // Tu fais ce que tu veux quand $modif = 2
  14.         // ...
  15.     }
  16.     elseif ($modif == "3" ) // Si $modif = 3
  17.     {
  18.         // ...
  19.         // Tu fais ce que tu veux quand $modif = 3
  20.         // ...
  21.     }
  22. }


 
Je pense qu'il n'y a aucun problème à gérer plusieurs formulaire sur une seule page, c'est ce que je fais le plus souvent, et j'ai pas envie de me faire chier avec 40000 pages pour ça non plus :D.


 
Tout dépend de la complexité des opérations à réaliser, mais très souvent c'est vrai qu'une page unique de traitement est mieux.


---------------
Expert en expertises
Reply

Marsh Posté le 01-05-2005 à 15:37:30    

j'ai changé le script de cette facon effectivement, pour pouvoir renvoyer vers la page d'accueil en cas d'accès vers la page sans passer par les formulaires, ou avec une valeurs indésirable de la variable modif.
 
Mon portail commence à avoir de la gueule, j'ai integré le BBCode, maintenant j'vais commencer à travailler sur les archives (seuls les 5 ou 10 derniers articles sur la page principale, le reste accessible via un petit calendrier, comme on voit sur les blogs).... QQun pourrait me mettre sur la piste ?  
Pacque la ca m'a l'air d'etre un script plus compliqué :/  
J'vais ptet voir pour télécharger un script du genre tout fait pour l'analyser, mais je préfèrerais avoir votre avis avisé !

Reply

Marsh Posté le 01-05-2005 à 15:40:34    

gnarky a écrit :

:/ j'avoue.
Je sais pas y a pas moyen de lancer une fonction sur clic? ^-^
ou alors de planque un hidden input dans un lien ? :D


 
PHP = serveur, clic = client. Quant au hidden, il s'agit d'élément de formulaire, ce qui n'est pas le cas d'un lien (sauf intervention de jscript bien sûr)
 

gnarky a écrit :

d'ailleurs, je me posais une question:
Est ce une bonne ou une mauvaise idée de gerer sur la meme page plusieurs formulaires ?
genre j'ai:
un form pour poster un article
un form pour modifier un article
un form pour supprimer un article


 
Ca dépend de la manière dont c'est codé. En soit c'est pas une mauvaise chose, mais vaut mieux un switch qu'un while barbare :D

Reply

Marsh Posté le 01-05-2005 à 15:40:34   

Reply

Marsh Posté le 01-05-2005 à 15:52:10    

if elseif elseif else ca passe mieux qu'un while ?
Bon j'aimerais bien qu'un bon programmeur analyse mon architecture et mes scripts, pacque tout marche bien, mais je sais pas si c'est optimisé/pas optimisé/optimisable

Reply

Marsh Posté le 01-05-2005 à 16:12:40    

gnarky a écrit :

if elseif elseif else ca passe mieux qu'un while ?


 
Le while sert à faire une boucle, pas à tester ponctuellement une condition. Et si $modif ne peut satisfaire plusieurs cas dans la même page, un switch/if..elseif passera mieux, oui.
 
Ceci dit, sur de petits traitement, ça revient à se chercher des poux dans la tête, le gain n'aura rien de significatif, ce sera juste plus propre :)

Reply

Marsh Posté le 01-05-2005 à 20:32:31    

gnarky a écrit :

if elseif elseif else ca passe mieux qu'un while ?
Bon j'aimerais bien qu'un bon programmeur analyse mon architecture et mes scripts, pacque tout marche bien, mais je sais pas si c'est optimisé/pas optimisé/optimisable


De toute manière, PHP et optimisation ne rime pas, donc on s'en tape :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed