IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire et redirections


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 14
    Points
    14
    Par défaut Formulaire et redirections
    Bonjour,
    Je suis developpeur JAVA et je me suis mis au PHP depuis quelque temps.
    J'utilise PHP5 pour se faire.

    Mon problème est le suivant.
    Je cherche à developper une application avec une architecture n/tiers, c'est à dire en couches (presentation, coordination, services et persistence).
    Le souci est qu'il n'existe pas de servlet (bas oui sinon on serait en Java ) en PHP5 et qu'ainsi je ne vois pas comment faire les redirections de mes envois de formulaires.
    En effet, en Java j'avais l'habitude d'envoyer tous mes fomulaire sur une Servlet de Controle qui s'occupait des traitements et suivant les résultats des redirections.
    Je n'arrive pas à trouver un équivalent en PHP5 ou meme une autre façon de faire.
    Je vous demande alors votre aide pour voir si vous avez connaissance d'une façon de faire qui me permettrait de gérer ma couche de controle et ainsi de rediriger les traitements de mes formulaires sur différentes pages suivant le résultat.

    Merci d'avance pour vos réponse.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Si je comprends bien, tu veux développer un site en utilisant une structure MVC. Je te conseille pour cela d'utiliser un framework. Un certain nombre de frameworks propose la structure complète, de façon plus ou moins stricte.
    Voir : PHP : Frameworks

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 14
    Points
    14
    Par défaut
    JE vais faire un tour de ce coté.
    Mais en meme temps je voudrais comprendre comment se débrouille-t-on en PHP pour faire cela et le faire au moins une fois seul sans framework.
    Je code ici surtout pour me former et comprendre et pas forcement pour etre productif tout de suite.

    Pour etre clair, je me demande comment fait on en PHP5 pour rediriger les resultats d'un envoie de formulaire.

    Exemple : J'ai un formulaire sur un script A qui demande le login et le mot de passe d'un utilisateur.
    Si l'utilisateur est authentifier alors je veux le rediriger vers une page B.
    Par contre s'il ne l'est pas je veux le renvoyer sur la page A avec un message d'erreur.

    Concrètement comment fait-on?
    Sachant que cet exmeple pourrait etre poussé à l'infini c'est à dire pouvoir rediriger mon utilisateur vers 3, 4 5 ou 50 pages différentes suivant les résultats des traitements de l'envoi de son formulaire.

    Avec une Servlet je vois parfaitement comment faire par contre en PHP5 je n'en ai aucune idée.

    En espérant avoir éclairé ma demande.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    tu peux utiliser header(location:"mapage.php") mais personnelement je préfére en javascript

    <script type=text/javascript> window.location.href="mapage.php" <script>

    A vérifier je fonctionne tellement au cope/colle ^^

    si tu veux l'appeler directement en php

    <?php
    echo'<script type=text/javascript> window.location.href="mapage.php" <script>';
    ?>

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par edenreal Voir le message
    tu peux utiliser header(location:"mapage.php") mais personnelement je préfére en javascript

    <script type=text/javascript> window.location.href="mapage.php" <script>

    A vérifier je fonctionne tellement au cope/colle ^^

    si tu veux l'appeler directement en php

    <?php
    echo'<script type=text/javascript> window.location.href="mapage.php" <script>';
    ?>

    Ok merci pour le conseil.
    Pour le javascript j'y avait penser mais si je tombe sur un petit malin qui coupe son javascript je suis mal non?
    Je vais essayer avec header pour voir.

    Si quelqu'un a une autre idée, ou carrement une autre vision d'architecture possible (car on est en PHP et pas en Java du coup ya surement des adaptations à faire).
    Savez vous s'il y a un équivalent aux objet HttpServletResquest et HttpServletResponse en PHP5?
    Bref un truc qui me proposerait des méthodes "propres" (faite pour ca) pour rediriger l'utilisateur sur des pages à partir de mon controlleur avec un scope request.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    pas faux mais ça c'est comme pour les utilisateurs ie ^^ c'est une question de gout tu as ceux qui veulent quelque chose de zolie et qui marche et ceux qui veulent pas lol
    Sinon pour les headeur fait bien gaffe au Session

    A oui tu peux faire mumuse avec les include() aussi mais c'est tout de suite moins propre

  7. #7
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Les include moins propre que la fonction header ? Je ne vois pas pourquoi tu dis ça ?

    Beaucoup de sites utilisent ce fonctionnement basique :

    Code controller.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
     
    $action = $_GET['action'];
     
    switch ($action) {
    case 'foo':
        require 'foo.php';
        break;
    case 'bar':
        require 'bar.php';
        break;
    }
     
    print $variableAlimenteeDansLeScriptAppele;
    exit();

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Les include moins propre que la fonction header ? Je ne vois pas pourquoi tu dis ça ?

    Moins propre que du JS mais j'utilise énormément les include()

  9. #9
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par edenreal Voir le message
    Moins propre que du JS mais j'utilise énormément les include()
    Désolé, je ne suis toujours pas d'accord.
    Le controller à base d'include n'est pas dépendant de l'activation javascript, pour ne citer qu'un avantage.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    tu as raison d'ailleurs j'oublie un peu trop souvent de penser a la desactivation

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 14
    Points
    14
    Par défaut
    Le souci avec include c'est que toutes mes pages après un formulaire sont incluses dans mon controller, ce qui niveau modularité n'est vraiment pas top, à la différente d'un controlleur qui dispatche des url de retour et sous traite les traitement à des classes Commande.
    Ceci est un pattern J2EE (Pattern COmmande), je voulais m'en inspiré pour mon appli PHP5 sauf qu'il me manque soit la connaissance du langage, soit il n'y a pas les outils techniques pour le faire.

    ****
    Avec le header pourquoi je dois faire attention pour les session?

    ****

    Ne connaissez vous pas des pattern de controle qui permette une modularité certaine et qui sont 100% PHP?

  12. #12
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Le pattern Command s'implémente en PHP5, et les exemples ne manquent pas

    http://www.devshed.com/c/a/PHP/Intro...ts-with-PHP-5/
    http://www.fluffycat.com/PHP-Design-Patterns/Command/

    Mais un tel niveau de modularité est-il nécessaire ,
    A part pour créer un CMS style Joomla, je ne vois pas l'utilité d'aller jusque là pour un site web.

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup pour le lien.

    Non le pattern command n'est peut etre pas nécessaire, mais j'aime bien ce pattern et comme la je m'entraine plus qu'autre chose, bas j'en profite.

    Citation Envoyé par jml94 Voir le message
    Le pattern Command s'implémente en PHP5, et les exemples ne manquent pas

    http://www.devshed.com/c/a/PHP/Intro...ts-with-PHP-5/
    http://www.fluffycat.com/PHP-Design-Patterns/Command/

    Mais un tel niveau de modularité est-il nécessaire ,
    A part pour créer un CMS style Joomla, je ne vois pas l'utilité d'aller jusque là pour un site web.
    Pourquoi je cherche à propos de ce pattern.
    Et bien je suis en objet sous PHP5 et je voulais continuer cette logique jusqu'au bout.
    Si j'utilise l'inclusion de script je ne suis plus en objet non?
    Avec un controller qui utilise des commandes je reste totalement en objet, et mon controller redirige l'utilisateur sur des pages différentes suivanbt les traitement effectués.
    Je trouve cela bien plus efficace vu que c'est exactement cela qu'on demande à un controller.
    N'es-tu pas d'accord?
    Peux tu me dire comment toi (ou que connais tu) tu ferais pour gérer la couche controle de ton appli web au niveau technique et architecture?

  14. #14
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Effectivement, la commande est efficace dans une architecture MVC.
    C'est seulement que j'ai rarement utilisé MVC pour les sites web.
    C'est à mon avis à réserver aux grosses applis et/ou qui font intervenir beaucoup de collaborateurs.
    Mais pour un site web "simple", c'est une usine à gaz.

    Il faut aussi garder à l'esprit que php est à typage faible mais que ce n'est pas une faiblesse. Du coup, certains patterns (comme le Decorator) ne sont plus aussi utiles.

    Bref, j'ai fait le choix de ne pas faire du tout objet dans la vie de tous les jours et de le réserver pour les grandes occasions.

  15. #15
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 14
    Points
    14
    Par défaut
    Le souci c'est que j'ai été quasi uniquement formé en objet (J2EE) et que repassé en script est dur pour moi car je n'ai pas l'habitude.
    Du coup j'essai de me raccrocher à ce que je connais pour comprendre ce que je fais.

Discussions similaires

  1. Envoi de formulaire et redirection
    Par tinoudu01 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 24/09/2007, 00h24
  2. Réponses: 1
    Dernier message: 20/09/2007, 16h54
  3. submit formulaire et redirection ne marchent proprement?
    Par makohsarah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/07/2007, 13h41
  4. [DOM] Formulaire et redirection sur annulation
    Par mathieugamin dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 25/04/2007, 11h48
  5. formulaire avec redirection
    Par furth dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2006, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo