Bonjour
Je débute en php, donc la plus grande indulgence est demandée;-)
Je souhaite réaliser une /petite/ appli de gestion (php et MySQL) que je
pense être très simple. Je n'ai aucune formation de base en
programmation et je souhaite acquérir les moins mauvaise méthodes en php:-)
Pour le moment, mon aplli se résume à ça:
-Un form html (form1) avec une case txt ou l'utilisateur s'identifie par
son code.
-Dans une table Mysql j'extrais les infos de cet utilisateur que
j'affiche (nom prénom adresse....)
-Puis je lui propose un nouveau form (form2) avec plusieurs champs qu'il
doit compléter.
-Puis je récupère les données de ce form pour alimenter une table Mysql.
Voilà. Rien que de très simple me semble-t-il.
Au début j'avais fait comme ça, tout ds la même page html:
-form1 --> html
-du code php
-form2-->html
--du code php.
Et ça marchait très bien.
Mais ca ne me paraissait pas /propre/. Alors j'ai fait ça (1 seule page
html et les scripts dans un sous dossier):
-form1 action script1.php form2 action script2--> html
Evidemment ça fonctionne pareil....sauf que maintenant dès que script1
s'éxécute, la page html s'afface et je perds la /lecture/ des infos
identité de l'utilisateur et en plus à la fin de l'éxécution de script1,
le form2 ne s'affiche pas.
Voilà j'espère avoir été clair;-) C'est évidemment un counnerie de
débutant mais si qqun pouvait me dépanner..
Merci à tous
Oui encore. Je veux que les form s'affichent sur la même page. N'y-t-il pas d'autre solution que de mélanger le code html et le php?
Le problème n'est pas de mélanger le HTML et le PHP, mais de mélanger les accès au données, le contrôle de l'exécution et la presentation - ou plus exactement, de ne *pas* les mélanger !-).
à afficher.La présentation doit de toutes façons gérer une part de logique - ne serait-ce qu'insérer les valeurs à afficher aux bons endroits - donc il y a toujours un peu de code (PHP ou autre langage de template) dans la partie HTML. La clé est de séparer la partie présentation - qui ne fait qu'afficher des données - de la partie accès aux données - qui ne génère aucun code HTML - et de "relier" les deux par un script qui analyse la requête, la session etc, appelle les traitements appropriés sur les données, sélectionne la présentation appropriée et lui passe les données. C'est ce qu'on appelle le MVC (Modèle Vue Controleur).
Car comme je vous le précisais dans le post initial, si je sépare l'html du php et que j'appelle les scripts par /action=.../ la page html s'efface
C'est normal, tu soumets une nouvelle requête.
et je ne sais pas comment la réafficher à la fin du script.
C'est la responsabilité du code qui gère la requête (le controleur) de renvoyer une nouvelle vue après exécution.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Vincent GAUVIN wrote:
bruno modulix wrote:
(snip)
Oui encore. Je veux que les form s'affichent sur la même page. N'y-t-il
pas d'autre solution que de mélanger le code html et le php?
Le problème n'est pas de mélanger le HTML et le PHP, mais de mélanger
les accès au données, le contrôle de l'exécution et la presentation - ou
plus exactement, de ne *pas* les mélanger !-).
à afficher.La présentation doit de toutes façons gérer une part de
logique - ne serait-ce qu'insérer les valeurs à afficher aux bons
endroits - donc il y a toujours un peu de code (PHP ou autre langage de
template) dans la partie HTML. La clé est de séparer la partie
présentation - qui ne fait qu'afficher des données - de la partie accès
aux données - qui ne génère aucun code HTML - et de "relier" les deux
par un script qui analyse la requête, la session etc, appelle les
traitements appropriés sur les données, sélectionne la présentation
appropriée et lui passe les données. C'est ce qu'on appelle le MVC
(Modèle Vue Controleur).
Car comme
je vous le précisais dans le post initial, si je sépare l'html du php et
que j'appelle les scripts par /action=.../ la page html s'efface
C'est normal, tu soumets une nouvelle requête.
et je
ne sais pas comment la réafficher à la fin du script.
C'est la responsabilité du code qui gère la requête (le controleur) de
renvoyer une nouvelle vue après exécution.
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Oui encore. Je veux que les form s'affichent sur la même page. N'y-t-il pas d'autre solution que de mélanger le code html et le php?
Le problème n'est pas de mélanger le HTML et le PHP, mais de mélanger les accès au données, le contrôle de l'exécution et la presentation - ou plus exactement, de ne *pas* les mélanger !-).
à afficher.La présentation doit de toutes façons gérer une part de logique - ne serait-ce qu'insérer les valeurs à afficher aux bons endroits - donc il y a toujours un peu de code (PHP ou autre langage de template) dans la partie HTML. La clé est de séparer la partie présentation - qui ne fait qu'afficher des données - de la partie accès aux données - qui ne génère aucun code HTML - et de "relier" les deux par un script qui analyse la requête, la session etc, appelle les traitements appropriés sur les données, sélectionne la présentation appropriée et lui passe les données. C'est ce qu'on appelle le MVC (Modèle Vue Controleur).
Car comme je vous le précisais dans le post initial, si je sépare l'html du php et que j'appelle les scripts par /action=.../ la page html s'efface
C'est normal, tu soumets une nouvelle requête.
et je ne sais pas comment la réafficher à la fin du script.
C'est la responsabilité du code qui gère la requête (le controleur) de renvoyer une nouvelle vue après exécution.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"