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 :

affichage d'une fenetre personalisée [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut affichage d'une fenetre personalisée
    Salam ; j'ai un tableau d'affichage de donnée , au dessus j'ai un bouton ajouter.
    je cherche comment faire pour affiché une fenêtre contenant un formulaire de saisie personnalisé sans utilisé du javascript.
    merci pour vos orientations

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Je suis pas sûr d'avoir bien compris mais moi je ferais :
    - Un formulaire dont l'action renvoi sur la même page
    - En haut de cette page je fais le traitement du formulaire (enregistrement des données $_POST en base de données etc...)
    - Puis le select sur la base de donnée et la fabrication du "nouveau" tableau avec les résultats du select.
    - Puis l'affichage de ce tableau en html
    Sinon quand tu dis que le formulaire doit être dans une autre fenêtre tu veux dire en fait sur une autre page, dans un autre onglet par exemple ?

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Re ; merci voila je m'explique:
    1. ma page principale affiche une liste d'enregistrement sous forme de tableau.
    2. au dessus y'a un bouton "ajouter" , afin que l'utilisateur ajoute d'autre enregistrement.
    3. une fois que l'utilisateur clique sur le bouton 'ajouter" , il doit voir apparaitre une fenêtre contenant un formulaire de saisie. ( en utilisant du php)

    exemple: (en javascript...)
    la fenêtre qui s'affiche lors du téléchargement de wampserver proposant un formulaire.
    http://www.wampserver.com/

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    ok je vois, tu veux mettre un formulaire dans un pop-up. Dans ce cas le mieux c'est de créer une page à part qui contiendra ton formulaire et de l'ouvrir avec dans un pop-up avec un lien de cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="formulaire.html" onclick="window.open(this.href, '_blank'); return false;">Ajouter</a>
    ah oui par contre il y a un peu de js
    Sinon tu fais ouvrir la page de ton formulaire dans un autre onglet tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="formulaire.html" TARGET="_blank">Ajouter</a>

  5. #5
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Il ne veut pas utiliser de javascript.

    Et si j'peux me permettre redoran : pourquoi bannir le javascript ?
    Car dans ton cas, c'est la solution la plus simple et la plus efficace !

  6. #6
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Re ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="formulaire.html" onclick="window.open(this.href, '_blank'); return false;">Ajouter</a>
    là vous utilisé une api ou c'est du javascript !!!!!

  7. #7
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    t si j'peux me permettre redoran : pourquoi bannir le javascript ?
    j'ai rien contre le javascript mais :
    01 utilisateur sur 10 disactive le javascript.
    j'ai vue la méthode de torturé les applications en monoposte (audit des applications en monoposte).
    je veux détourné ces contraintes.

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Oui c'est du js désolé (j'ai corrigé 1 minute après !). Tu peux peut-être l'ouvrir dans un autre onglet.

  9. #9
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    merci philo mais:
    Sinon tu fais ouvrir la page de ton formulaire dans un autre onglet tout simplement :

    Code :
    Sélectionner tout - Visualiser dans une fenêtre à part

    <a href="formulaire.html" BLANK>Ajouter</a>
    je crois que sur le plan IHM ce n'est pas faisable

  10. #10
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Dans ce cas personnellement je vois pas trop de solution.

  11. #11
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Merci philo pur ton aide :
    voila je vais continué la recherche sur google qui sait.
    sinon dans le pire des cas :
    je vérifier si le javascript est activé dans la machine client ( sinon l'activé) et là je sait pas si ces faisable et si j'ai le droit !!!!! pour autorisé le traitement. une idée

  12. #12
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Pour info : dans la fenêtre de wanpserver que tu indique il y a du javascript.
    Bonne chance.

  13. #13
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    je vérifier si le javascript est activé dans la machine client ( sinon l'activé) et là je sait pas si ces faisable
    Ben amuses-toi pour savoir en PHP si JavaScript est activé chez le client !

    Et ensuite, non, tu ne peux en aucune façon l'activer ! Et encore heureux même !

    Sinon, en quoi un target="_blank" ne te conviens pas ?
    Dernière chose, une fois ouvert, ton formulaire, tu va en faire quoi ? Parce que ta fenêtre sera ouverte (pas moyen de la fermer sans JavaScript) et bien sûr, tu ne pourras pas échanger d'information avec la page qui l'a ouverte...

    Bref, sois tu fais un formulaire "standard" sans JavaScript, sois tu utilises JavaScript, mais vouloir émuler JavaScript en PHP, tu vas te faire du mal !

  14. #14
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    j'ai rien contre le javascript mais :
    01 utilisateur sur 10 disactive le javascript.
    Où-est ce que tu as lu cette information ?
    En faisant une rapide recherche sur le Net et la proportion que j'ai toujours conservé en tête était de l'ordre de 1% - 2% qui désactiveraient JS.
    C'est théoriquement (très) largement moins.

    Puis comme cela a été dit, vérifier si JS est activé demandera de le faire en JS.
    C'est un peu le serpent qui se mord la queue.

    Dans des cas comme ça, il n'y a à mon pas d'autres choix que de faire un compromis.
    En gros :
    - Un comportement si JS est désactivé
    - Un autre comportement si JS est activé (l'idéal : L'interface la plus fonctionnelle théoriquement)
    C'est possible de le faire sans avoir à vérifier JS.

    Ici, l'idéal serait d'exploiter un FrameWork comme jQuery (ou autre), et faire un code comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Partie JS (dans le <head>
    $(document).ready(function () {
        $("#id_lien").click(function() {
            // Code exécuté au clic
        });
        return false;
    });
     
    // Partie HTML (dans le <body>
    <a id="id_lien" href="une_page.php">Un lien</a>
    - Ici, si JS est activé le lien ne sera pas suivi dû au return false, donc seul le code JS avant ce return false sera exécuté (on donc peut tout faire).
    - Si JS est désactivé, alors le lien sera suivi, donc la page une_page.php sera affichée (le compromis).

    Comme cela devrait concerner que 1% ou 2% des utilisateurs, ceci ne devrait pas être si pénalisant que cela.
    Maintenant faut voir.

    En tout cas c'est comme cela que je fais en général.


    Au passage, les fenêtre de type popup elles sont en générales bloquées, c'est à dire que la proportion d'utilisateur qui bloquent les popups est très forte (ceci est aussi géré dans le navigateur, le codeur/développeur ne peu pas agir la dessus, tout comme l'activation/désactivation de JS).

  15. #15
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam ;
    Bovino:
    Ben amuses-toi pour savoir en PHP si JavaScript est activé chez le client !
    les absent ont toujours tors , j'ai bien compris la leçon : le php est interprété au niveau du serveur ( doc php pour un grand débutant).
    Sinon, en quoi un target="_blank" ne te conviens pas ?
    elle ouvre un autre onglet , donc sur le plan IHM elle casse la navigation.
    l'objectif et de faire apparaitre une fenêtre enfant pour saisir les données.
    Dernière chose, une fois ouvert, ton formulaire, tu va en faire quoi ? Parce que ta fenêtre sera ouverte (pas moyen de la fermer sans JavaScript) et bien sûr, tu ne pourras pas échanger d'information avec la page qui l'a ouverte...
    bien sur pour saisir les données et une fois les données posté je rafraichi la page parent.
    bref, sois tu fais un formulaire "standard" sans JavaScript,
    ma page formulaire est préte seulement je cherché a l'afficher dans une fenêtre enfant.
    RunCodePhp:
    l'ordre de 1% - 2% qui désactiveraient JS.
    oui ta raison c'est la bonne repense. désolé pour l'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Partie JS (dans le <head>
    $(document).ready(function () {
        $("#id_lien").click(function() {
            // Code exécuté au clic
        });
        return false;
    });
     
    // Partie HTML (dans le <body>
    <a id="id_lien" href="une_page.php">Un lien</a>
    là j'ai rien pigé : en js je suis très très empty
    pour un premier contact avec un tutoriel js je suis arrivé a ça disant que je l'ai copié :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <!-- returnValue and preventDefault() methods -->
    <script>
    function openPopup(e) {
    	if(!e) var e = window.event;
    	var url = this.href;
    	window.open("../interfaces/enreg.inc.php", "enreg", "toolbar=no, location=no, directories=no, status=yes,scrollbars=no, resizable=no, copyhistory=no, width=600, height=600,left=400, top=150");
     
    	//e.cancelBubble is supported by IE - this will kill the bubbling process.
    	e.cancelBubble = true;
    	e.returnValue = false;
     
    	//e.stopPropagation works only in Firefox.
    	if (e.stopPropagation) {
    		e.stopPropagation();
    		e.preventDefault();
    	}
    }
     
    window.onload = function() {
    	document.getElementById("popup").onclick=openPopup;
    }
    </script>
     
     
    partie html
     
    <th colspan="2"><input type="submit" value="afficher" <a href="../interfaces/enreg.inc.php" id="popup"></a></th>
    le code marche nickel.
    seulement j'ai pas pu l’intégré dans ta méthode qui m’intéresse bien.

  16. #16
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    là j'ai rien pigé : en js je suis très très empty
    C'est du jQuery, ce n'est pas du pure JS, mais l'avantage d'utiliser un Framework JS c'est de pouvoir faire quelque chose avec moins de code, sans compter que ces Framework feront les choses en tenant compte des différents navigateurs (compatibilité).
    Cependant, il est vrai que pour "tirer partie" d'un jQuery (ou autre FW JS), il vaut mieux avoir une bonne base en JS.

    Pour exemple, ton code en pure JS : window.onload = function() { ... }
    L'équivalent en jQuery c'est : $(document).ready(function () { ... }
    C'est à dire que le code JS (dans les accolades) seront exécutés uniquement une fois la page HTML chargée par le navigateur.


    Ce que tu fais c'est une technique un peu ancienne ça se voit pratiquement plus.
    Le gros inconvénient, c'est ce que j'évoquais, c'est que les fenêtre popup sont très majoritairement bloqués par les utilisateurs. C'est considéré comme des fenêtres publicitaires.

    Puis récupérer des données coté serveur dans cette fenêtre popup revient à ce qui ce fait de nos jour : de l'Ajax



    De nos jours, on fait cela assez différemment, ça repose sur 2 principes.
    - De créer ce qu'on appel une fausse popup.
    Le principe est simple : Au départ on ajoute dans la page un élément (genre une DIV) qui par défaut est caché/masqué (en CSS -> display: none).
    Puis lors d'un clic sur un autre élément (une image, un bouton) on va rendre visible la DIV masquée par défaut, cela en JS (CSS -> display: bloc)
    Cette DIV peut contenir tout ce qu'on veut, comme un formulaire ou une partie, etc, peu importe ...

    - Ensuite, toujours lors du clic qui ouvre/affiche la DIV, on exploite (déclenche) un code Ajax qui va s'occuper à interroger notre serveur pour récupérer des données (dans une Bdd par exemple).
    Une fois les données récupérées elles seront affichées (mises à jours) dans la DIV (le formulaire ou autre).
    Les choses se déroulent tout le temps dans la même page principale (il n'y a pas fenêtre supplémentaire).

    C'est juste pour décrire sommairement comment on peu faire certaines choses différemment.
    C'est à toi de voir.


    seulement j'ai pas pu l’intégré dans ta méthode qui m’intéresse bien.
    Tu ne peux pas l'intégrer, pour cela il faut d'abord intégrer le FrameWork jQuery.

  17. #17
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    elle ouvre un autre onglet , donc sur le plan IHM elle casse la navigation.
    l'objectif et de faire apparaitre une fenêtre enfant pour saisir les données.
    Je ne comprend peut-être pas bien ton besoin (IHM) mais pourquoi tu ne fais pas tout simplement le lien 'ajouter' vers une page qui contient ton formulaire dont l'action renvoi sur la page où tu traite les données du formulaire et tu où affiche le tableau. Je ne vois pas en quoi ça nuirait à l'IHM : tableau.php 'ajouter' -> formulaire.php 'envoyer' -> tableau.php, ça ne casse pas la navigation.

  18. #18
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Re; philo...
    I H M : interface Homme Machine ,
    habitude utilisateur ( page parent ==> page enfant).
    donc je veux respecter ça.
    enfin de compte je suis revenu au js.
    ou tout simplement utilisé des div.
    maintenant sont apparue d'autres dones ( framework ; jquery...)
    encore plus de lecture ++++
    et oui

  19. #19
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    I H M : interface Homme Machine ,
    Oui merci je sais. En fait je te disais que, à mon sens, ce que je te proposais ne posait pas de problème d'IHM puisque qu'a l'envoi du formulaire tu reviens "automatiquement" sur la "page parent" => ça ne casse pas la navigation.
    Mais j'ai bien compris que toi tu voudrais en fait garder ta "page parent" tel quelle et ne pas devoir la recharger, dans ce cas là évidement => js.
    Bon courage

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

Discussions similaires

  1. recuperer un attribut apres affichage d'une fenetre
    Par DragonLebna dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 16/05/2007, 20h22
  2. Affichage dans une Fenetre edit
    Par Fred2209 dans le forum C++Builder
    Réponses: 6
    Dernier message: 20/11/2006, 11h39
  3. (débutant) aFfichage d'une fenetre en attente
    Par Asnidren dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 17/10/2006, 12h32
  4. comment ouvrir une fenetre personalisée ?
    Par chaser_T dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/09/2006, 15h00
  5. Réponses: 11
    Dernier message: 17/05/2006, 09h39

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