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 :

Soumission d'un formulaire et redirection


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Par défaut Soumission d'un formulaire et redirection
    Je créée ce topic en conséquence d'un topic créée ce matin, mais qui traite d'un sujet différent et qui m'a amené à me poser d'autres questions (http://www.developpez.net/forums/d86...equete-lautre/)

    J'aimerai savoir quelles sont les possibilités de redirection en PHP.
    Supposons que j'ai une page, liste.php, qui affiche une liste d'item.
    Un lien "Créer un nouvel item" me renvoit vers create.php.

    create.php contient un formulaire. Au submit, je performe (dans create.php), la validation business: donc, mon formulaire sera qqch comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action="create.php" ... >
    ...
    </form>
    Une fois le formulaire soumis et validé (tjs dans create.php), quelles solutions j'ai pour rediriger vers liste.php?

    Voilà ce à quoi je pense:
    - Ma méthode de validation fait un header ('location = liste.php')
    - Je mets un lien de retour <a href="liste.php">Retour</a>


    Y a-t-il des choses plus... "propres"? (Moi çà me paraît pas propre que çà ne puisse pas être fait automatiquement.
    Serait-il envisageable de faire la validation du formulaire dans liste.php?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action="liste.php" ... >
    ...
    </form>
    Mais si le formulaire a un problème... :-/, je devrai à nouveau retourner vers create.php et reposter les paramètres...

    Nicolas.

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Y a-t-il des choses plus... "propres"? (Moi çà me paraît pas propre que çà ne puisse pas être fait automatiquement.
    Je reprends un peu ton discours:
    Qd tu a une page avec un formulaire qui se submit sur lui même, c comme si tu avais deux pages, car dans tous les cas le submit te fait repasser par le serveur.
    Tu peux utiliser le header pour la redirection automatique tant que tu n'envoies pas de code html à l'affichage avant.

    Ton code sur une page serait du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if( isset( $_POST['Champ du form quelconque'] ) ) {
      // traitement de tes données, reqûêtes sql etc ...
      // Mais pas de code html
      // header location ou tu veux
    } else {
      // Code html avec le form pour la saisie des données
      // submit method 'POST' sur cette même page
    }

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Par défaut
    C'est exactement la solution 'pas propre' à laquelle je pensais.
    Y a-t-il plus propre?

    (En même temps, peut-être que y a pas d'autre solution!!)

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    ouais je comprends pas le côté pas propre que tu dis ???

    Cette manière redirige automatiquement ou tu veux après le submit du form !

    Et puis si tu veux du propre, il faudrait un minimum utiliser un modéle type MVC mais dans ce cas les traitements ne sont plus sur une page ?

    Bref j'ai pas compris le sens que tu désires ...

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Par défaut
    Ben justement, c'est parce qu'en fait je voudrais faire du MVC... Donc le coup du header... je sais pas.

    Ou alors mon formulaire soumet vers un controlleur, disons controller.php.

    Ce controller fait les check business sur les données du POST.

    Si le check est ok, utilise un model.php pour créer en base. Et fait un header() vers la page de liste où apparaîtra l'item nouvellement créée.
    Si le check est pas ok, comment on fait pour remette vers le formulaire d'où on venait?

    Enfin... çà doit être des trucs de base mais j'ai pas trouvé de tutoriel "simple" pour faire du MVC "simple" via PHP.

    Et ma formation de Java me bloque un peu, j'i pris des habitudes qui ne s'appliquent pas tjs à PHP.

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Je viens moi même du Java, et j'ai commencé un projet en Php depuis 5 mois, ne connaissant pas du tout le Php (d'ailleurs au début j'avais franchement du mal avec les types, les exceptions et autres trucs plus rigides).

    Pour en revenir sur MVC, de ce côté là j'ai a peu près fait la même structure qu'avec du Java. En effet tu passes par une page controler qui va décortiquer les $_POST ou les $_GET et faire des redirections ... Ce qui est faisable en Java, se fait en Php de ce côté là

    Pour la question:
    Si le check est pas ok, comment on fait pour remette vers le formulaire d'où on venait?
    tu utilises la variable $_SESSION

    EDIT: Qd je dis venir du JAVA, le projet d'avant, car avant du c#, puis du C++, puis VBa etc ... bref j'arrête pas de changer faut s'adapter et le PHP est qd même un langage facile

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de soumission d'un formulaire
    Par sagitarium dans le forum Langage
    Réponses: 1
    Dernier message: 14/05/2006, 12h21
  2. mozilla , soumission d'un formulaire dans un cadre different
    Par japz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/05/2006, 17h10
  3. [Javascript] Validation soumission d'un formulaire
    Par nico33307 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/11/2005, 15h05
  4. Réponses: 2
    Dernier message: 10/11/2005, 20h00
  5. [JSP]Problème de double soumission d'un formulaire
    Par jgfa9 dans le forum Servlets/JSP
    Réponses: 31
    Dernier message: 24/08/2005, 11h54

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