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

JavaScript Discussion :

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


Sujet :

JavaScript

  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
    132
    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 : 132
    Points : 283
    Points
    283
    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 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    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
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 : 39 634
    Points : 66 650
    Points
    66 650
    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

    Venez sur le Chat de Développez !

  5. #5
    Invité
    Invité(e)
    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

  6. #6
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    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.
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  7. #7
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    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.
    www.etech-keys.com
    https://sms.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, 10h38
  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, 21h41
  3. afficher le résultat d'un code php dans une div
    Par addrock dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2012, 21h45
  4. [phpBB] Insérer du code php dans une page html
    Par hash95 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 26/02/2009, 16h11
  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, 18h44

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