1. #1
    Membre du Club
    Inscrit en
    octobre 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 73
    Points : 43
    Points
    43

    Par défaut Afficher le résultat d'un code PHP dans une div html

    bonjour j'ai une page en php qui contient un formulaire et un code php
    ce que je veux c'est que le code php ne soit afficher qu'aprés la validation du formulaire c'est pour cela que j'ai une fonction javascript qui va affichier le code php aprés le click sur submit
    le probleme c'est que quand je clq sur submit il m'affiche que le formulaire et pas le résultat du code php
    voila le code
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <style type="text/css">#D1 {display: none;}</style>
        <script type="text/javascript">
        function showscript() {
            var n = document.form.btnr.length;
            for(i=1;i<=n;i++) {
                if(document.getElementById('choix'+i).checked == true) {
                    document.getElementById('D'+i).style.display = "block";
                } else {
                    document.getElementById('D'+i).style.display = "none";
                }
            }
          }
        </script>
    <body>
    <form   action=""   method="post" >
    <table>
        <tr>
            <td>vérifier la disponibilité d'un nom de domaine</td>
            <td> : www.<input type=text name=domain></td>
            <td>
                <select name="suffix">
                    <option value=".com">.com</option>
                    <option value=".ma">.ma</option>
                    <option value=".net">.net</option>
                    <option value=".org">.org</option>
                    <option value=".fr">.fr</option>
                    <option value=".info">.info</option>
                </select>
            </td>
            <tr>
                <td align=right colspan=3><input type=submit name=proses value=vérifier  onclick="showscript()"  ></td>
            </tr>
        </tr>
    </table>
     
    </form>
     
    <div id="D1">
     <?php
    code php
    ?>
    </div>

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    juillet 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juillet 2009
    Messages : 120
    Points : 254
    Points
    254

    Par défaut

    Bonjour,

    Peux-tu nous montrer tout le code HTML généré s'il te plait ? Parce que là visiblement il manque des trucs. Par ailleurs, je ne comprends rien à ta méthode showscript. Tu parcours plusieurs conteneurs ? Quelle est la condition ?

    Et ça :

    var n = document.form.btnr.length;
    Peux-tu m'expliquer à quoi fait référence document.form.btnr ?

  3. #3
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    mars 2004
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 2 129
    Points : 4 291
    Points
    4 291

    Par défaut

    Etant donné que tu utilises un bouton de type submit pour valider ton formulaire, il va faire un aller-retour sur le serveur lors du clic.

    Ici, comme le champ action n'est pas renseigné, ça rechargera ta page.

    Il te faut donc bloquer l'action du submit comme ceci :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form  action=""  method="post" onsubmit="showscript(); return false;">
      <!-- ... -->
      <input type="submit" name="proses" value="vérifier" />
      <!-- ... -->
    </form>

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    37 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2002
    Messages : 37 373
    Points : 63 662
    Points
    63 662
    Billets dans le blog
    1

    Par défaut

    ou mettre un input type button à la place du submit
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  5. #5
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    9 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 9 878
    Points : 19 856
    Points
    19 856

    Par défaut

    Bonjour,
    Citation Envoyé par belakhdarbts10 Voir le message
    ...le problème c'est que quand je clq sur submit il m'affiche que le formulaire et pas le résultat du code php
    Le problème c'est qu'on NE peut PAS afficher/exécuter du "code PHP" de cette manière !

    PHP sert à "construire du code html" coté serveur.
    Le JavaScript est exécuté coté client. Il n'y a plus de "code PHP" puisque la page est déjà affichée (en html)...

    Citation Envoyé par belakhdarbts10 Voir le message
    récuperer le résultat d'un code PHP dans une div html
    La seule manière est d'utiliser Ajax :
    => Les meilleurs cours et tutoriels AJAX
    => Web 2.0, allez plus loin avec AJAX et XMLHttpRequest
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément."
    Nicolas Boileau-Despréaux (1636-1711).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  6. #6
    Membre régulier Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Cameroun

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

    Informations forums :
    Inscription : avril 2007
    Messages : 216
    Points : 120
    Points
    120

    Par défaut

    Bonjour a tous et toutes,
    Loceka , si dans form il vide action de son contenu (form action="" ) comment submit fera pour connaitre le fichier auquel il va soumettre les donnée saisie par l'utilisateur ?.
    moi j'ai le même problème , moi fichier php fais bien un retour (New record created successfully ) mais je n'arrive pas a le récupérer coté html et je souhaite rester sur la même page au lieu d'ouvrir une nouvelle page.
    Realisations : www.etech-keys.com
    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  7. #7
    Membre régulier Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Cameroun

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

    Informations forums :
    Inscription : avril 2007
    Messages : 216
    Points : 120
    Points
    120

    Par défaut

    bonjour jreaux62,
    apres avoir suivi ton conseil je suis tout a fait d accord qu'il faut utiliser l'ajax et XMLHPPTRequest .
    voici le code que j'utilise .
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <script type='text/JavaScript'>
     
    function getXhr(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr
    			}
     
    				/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				var xhr = getXhr()
    				var libelle_groupe=document.getElementById("libelle_groupe").value;
    				// On défini ce qu'on va faire quand on aura la réponse
     
    				xhr.open("POST","../ss/ajouter_groupe.php",true);
    				xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
    				xhr.send("&libelle_groupe=" + libelle_groupe);
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
     
    						alert(xhr.responseText);
    						recharge();
    					}
    				}
     
    			}
    			function recharge() {
                    location.assign(location.href);
                }
    </script>
    je pense qu'avec ça belakhdarbts10 va marquer ce sujet comme résolu car il ne l'a pas fait depuis et je suppose que lui aussi a déjà trouvé une solution.
    Realisations : www.etech-keys.com
    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

Discussions similaires

  1. Code php dans une page html ?
    Par logitech2004 dans le forum Langage
    Réponses: 3
    Dernier message: 02/09/2015, 09h38
  2. Insérer code Extjs dans une Div HTML
    Par eamon250d dans le forum Ext JS / Sencha
    Réponses: 5
    Dernier message: 22/05/2014, 20h41
  3. afficher le résultat d'un code php dans une div
    Par addrock dans le forum JavaScript
    Réponses: 1
    Dernier message: 06/04/2012, 20h45
  4. Insérer du code php dans une page html
    Par hash95 dans le forum phpBB
    Réponses: 3
    Dernier message: 26/02/2009, 15h11
  5. [HTML] Inclure un code php dans une page html
    Par sanddddy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/07/2007, 17h44

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