ma méthode est-elle bonne ou pas?

Petit nouveau ! | 6 Messages

06 oct. 2008, 17:26

Bonjour,

Je voulais appeler une fonction php avec la commande action d'un formulaire, mais d'après ce que je vois cela n'est pas possible. Donc voilà,

Supposons que j'ai 3 formulaires de saisie, il me faut donc 3 fichiers php formulaire+ 3 fichiers php pour traiter les données, méthode normale. Mais 6 fichiers. Ma méthode serait de créer 3 fichiers php pour les formulaires, mais un seul pour le traitement des données, pour cela j'appellerais le fichier de traitement en passant un paramètre (1,2,etc), puis dans le fichier de traitement, utiliser la fonction switch pour traiter mes données :

switch 1 traitement des données formulaire 1
2 traitement des données formulaire 2
3 traitement des données formulaire 3
Au final, que 4 fichiers.

Ce que je voudrais savoir, c'est si cela peut surcharger le serveur apache si plusieurs personnes saisissent leurs données. Car le fichier de traitement sera plus gros. J'espère m'être bien expliqué.

merci

Eléphant du PHP | 451 Messages

06 oct. 2008, 18:45

Bonjour,

Si j'ai bien compris tu veux faire:
formulaire.php
<?php

$form = $_GET['form'];

switch($form)
{
      case 1:
            // Formulaire 1
      break;
	  
      case 2:
            // Formulaire 2
      break;
	  
      case 3:
            // Formulaire 3
      break;
}

?>
Cela est très bien mais tu peux réduire à 2 fichiers. Un fichier avec les formulaires et un fichier avec les traitements.

Comme ceci:
traitement.php
<?php

$form = $_GET['form'];

switch($form)
{
      case 1:
            // Traitement formulaire 1
      break;
	  
      case 2:
            // Traitement formulaire 2
      break;
	  
      case 3:
            // Traitement formulaire 3
      break;
}

?>
Et pour le formulaire 1 tu met:

Code : Tout sélectionner

<form action="traitement.php?form=1" method="post">
Etc... pour les autres formulaires tu change le 1 en 2 puis en 3.

Cela réduit encore le nombre de page et je pense pas que tu vas surcharger les serveur apache en fesant ainsi.

Voilà ++

Petit nouveau ! | 6 Messages

06 oct. 2008, 18:55

bonjour,

Oui, c'est bien cela que j'ai envie de faire, j'avais pensé à le faire aussi pour les formulaires. Mais, avant de m'y mettre , j'attends d'autres réponses, merci pour la tienne.

cordialement.

Mammouth du PHP | 804 Messages

06 oct. 2008, 18:57

pour la surcharge sauf si c'est un site genre daylimachin ou youtruc je ne crois pas qu'il y est de risque, par contre ce que je suis sur c'est que tu peu faire ca en une page :wink:

ViPHP
ViPHP | 4674 Messages

07 oct. 2008, 20:45

Hey :),

C'est exact. Je ne vois pas où est le soucis. Il suffit de bien nommer tes boutons de soumissions, et le tour est joué.
Par exemple, je t'invite à regarder le comportement de ce code :
<?php

print_r($_POST);

?>
…
<form action="#" method="post">
  <input type="submit" name="formA" />
</form>

<form action="#" method="post">
  <input type="submit" name="formB" />
</form>

<form action="#" method="post">
  <input type="submit" name="formC" />
</form>
Est-ce que tu vois où je veux en venir ;-) ?

Tu peux au final tout faire en un seul fichier. Si tu veux — pour des raisons de clarté ou de maintenance — le faire sur plusieurs pages, tu es libre de le faire, et je t'y encourage.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).