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 :

Quelle méthode utiliser pour un formulaire


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut Quelle méthode utiliser pour un formulaire
    J’ai une page web www.recap.fr qui récapitule toutes les infos d’un client :

    Son adresse
    Sa commande
    Son historique etc…

    Pour chaque information, je permets à l’internaute de modifier ces informations.

    Par exemple, j’ai un lien pour adresse : quand l’internaute clique dessus, il arrive sur un formulaire qui lui permet de changer son adresse. Ma question arrive…

    Quel est le meilleur moyen pour ce formulaire ce changement d’adresse ? :

    Faut-il le mettre dans la même page web : www.recap.fr en effaçant tous le reste des données
    Précédent pour ne faire apparaître uniquement le formulaire. Donc je code :

    Method= »post » action= »www.recap.fr » avec un paramètre en url pour ne faire apparaître que le formulaire.

    Avec cette méthode, j’ai peur d’alourdir la page web en code php


    Ou bien est-ce qu’il vaut mieux faire une redirection vers une page dédiée uniquement pour cela www.modif-adresse.fr dans ce cas j’aurais :

    Method= »post » action= »www.modif-adresse.fr »

    Avec cette méthode, l’inconvénient est que je dois gérer une redirection automatique vers la page www.recap.fr.


    Quelle méthode utilisez-vous ?

    Merci d’avance de me faire part de votre expérience.

  2. #2
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    Si je comprends bien à la base c'est une page de saisie mais si la personne est déjà dans la base tu rempli les champs avec ses données déjà présentes dans la base.

    Ca veut dire que tu l'as déjà identifié comme étant déjà dans la base et donc il suffit juste que ton formulaire renvoi sur ton ajout (que ce soit la même page ou une autre) et là tu mets une conditionnelle : Si il existait déjà dans la base? -> Si oui tu fait un update, si non tu fais un Insert.

    Tout simple

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    désolé je n'ai pas du tout compris la réponse.
    C'est peut-être mois qui ai mal posé ma question...
    je veux juste savoir si je dois faire une redirection vers une autre page ou pas.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Points : 151
    Points
    151
    Par défaut
    pour moi la meilleure solution est de mettre un paramètre dans ton url qui redirige ta page dans ton index.php

    genre index.php?action=chgadresse

    et dans ton index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    switch($_GET['action'])
    {
    case chgadresse : 
    //inclusion de la page contenant le formulaire et le traitant
    include 'formchgadresse.php';
     
    default : 
    include 'accueil.php';
     
    }//switch
    ensuite dans ta page formchgadresse.php

    Code : 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
     
    if (isset($_POST['formok']))
    {
    //traitement du formulaire
    }
    else 
    {
    print '<form action="" method="POST" >
     
    // là tu mets tous tes champs
     
    <input type="submit" name="formok" value="Valider">
    </form>';
     
     
    }
    en gros

  5. #5
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    règle numéro un PHP,
    ne rien mettre dans l'URL sauf si on est contraint est forcé

    Tu peux toujours te débrouiller pour le passer en paramètre (un paramètre $modification par exemple)

    En gros si ton formulaire actuel est déjà fait tu peux faire une nouvelle page. Sinon si ça ne te dérange pas de le modifier, ça fera comme un Reload et tu mets un
    -> If $modification="adresse" then je fais ma boucle de requètes SQL et ça avant d'afficher le HTML de mise en page

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2013, 15h04
  2. [Flex4] Quelle méthode utiliser pour communiquer en HTTP ?
    Par berceker united dans le forum Flex
    Réponses: 22
    Dernier message: 18/01/2011, 23h46
  3. quelle méthode utiliser pour la detection de courbe paramétrique?
    Par Elodie31 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 27/06/2008, 09h43
  4. Quelle méthode utiliser pour traiter les images
    Par babozfr dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 02/03/2007, 15h40
  5. Réponses: 4
    Dernier message: 02/05/2006, 12h08

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