Recuperé le GET dans l'url. dans page html

Résolu
bonjour je suis nouveau dans php.
comment puis-je recuperé le GET dans l'url en specifiant l'URL.
comment on fait ca j'ai chérché mais rien.

25 réponses

Résumé de la discussion

La question centrale porte sur comment récupérer un paramètre GET dans l'URL avec PHP et comment l'envoyer côté serveur via AJAX lorsqu'un identifiant d'article est requis. Des échanges soulignent qu'il faut aligner le nom de la donnée envoyée en AJAX (data: {id: id_article}) avec la clé côté PHP ($_POST['id'] ou $_GET['id']), faute de quoi rien n'arrive. En parallèle, des conseils mentionnent de ne pas s'appuyer sur l'URL pour passer tout, de vérifier le chemin et les fichiers (article_info.php) et de tester l'envoi avec des valeurs fixes. D'autres proposent de clarifier les pages et l'architecture (index et article), et de récupérer le reste des données depuis la base si nécessaire plutôt que de tout transmettre dans l'URL.

Bobot (l’IA à votre service)
  1. ecoute je suis vraiment dsl de tavoir derangé autant :)
    mais j'y suis arrivé j'ai modifier ton code un peu.
    et j'ai enlevé test.affichage.js.
    ouffffffffff
    0
    1. dans le fichier article_info.php la condition:
      if(!$id){
        echo json_encode(array('ERREUR'=>'ID non envoyé !', 'POST'=>$_POST)); // Erreur corrigée ici
         exit;
      }
      


      est executé puis ca fait exit et tous le code suivant n'est pas executé.

      https://forums.commentcamarche.net/forum/affich-36664778-recupere-le-get-dans-l-url-dans-page-html?page=1#55
      0
      1. Modérateur
        Si tu utilises le code que je t'ai donné ... Ca marche.... donc si ça ne marche pas c'est soit tu n'as pas mis d'id dans ton url... Soit tu as voulu remettre ton code de test...qui, comme je te l'ai indiqué... Est faux.
        0
      2. @jordane45voici mon code test actuelle: ces bien lui ?
        $.ajax({
           url: "article_info.[https://www.commentcamarche.net/php/phpintro.php3 php]",
           type: 'POST',
           dataType:'json',
           success: function(article_info) {
            
            var date=document.getElementById("date_article");
         var src=document.getElementById("img_article");
         var edition=document.getElementById("edition_article");
         
         
         date.innerHTML=article_info[0][0];
         edition.innerHTML ="Edition N°"+article_info[0][2]+" Le Babezien";
        
         
         src.src=article_info[0][3];
        
          
               
        
            },error: function(err){
              console.log('Erreur Ajax affichage',err);
             
          }
        
        });
        


        et esceque tu peux envoyer une capture d'ecran de t'es réponse dans la console. car moi j'ai 2 post qui proviennent de article_info.php.

        et ces dommage que php soit aussi chiant pour recevoir une variable.
        0
    2. Modérateur
      Bon...

      Tu avais des erreurs dans ton code html.
      Des balises mal placées, d'autres non fermées...

      Bref,
      Ton fichier article.html une fois corrigé devient:
      <!Doctype html>
      <html lang='en' >
      <head>
          <meta charset="UTF-8" /> 
          <title>
              Le babezien
          </title>
          
          <link rel="stylesheet" href="design.css" >
          <link rel="shortcut icon" href="babezien2.png">    
      </head>
      <body id="body">
        <header style="background-image: url('usthb.jpg');"> 
          <center>
             <img id="icone" src="le babezien.jpg">
          </center>
        </header>
        <nav id="nav" >
          <a href="index.html" class="navchoice" id="nav1"><b>ACCUEIL</b> </a>
          <a href="ARTICLE.html" class="navchoice" id="nav2"><b>NOS ARTICLE</b></a>
          <a href="" class="navchoice" id="nav3"><b>CONTACT</b></a>
          <a href="" class="navchoice" id="nav4"><b>INFO</b></a>
        </nav>
        <article > 
          <center>
            <div class="presontArt">
              <p class="gauche" ><b id="edition_article"></b></p>   
              <div style="display: flex;height: 1%;margin-top: 2.1%;" class="droite" ><p id="date_article" style="margin: 0px;"> </p> <img id="timeArt"  src="time.jpg"> 
              </div> 
            </div>
            <figure  style="margin: 0px;">
             <img id="img_article" class="ilsr" style="margin-top: 0%;"  src="" >
            </figure>
      
          </center>
          <div style="float: right; width: 90px;display: flex;justify-content: center;">
              <img src="fléche-gauche.png"  class="article_nav" id="page_prec">
              <img src="fléche-droite.png" class="article_nav" id="page_suiv">
          </div>
               
            <a href="" style="margin-left:5px;margin-right: 80%;background-color: rgba(90,90,90);color: white;text-decoration: none;display: inline-block;">telecharger le pdf </a> 
            <p style="margin-left: 5px;background:rgba(1,1,1,0.2);border-radius: 20px;display: inline-block;">AJOUTER UN COMMENTAIRE:</p>
        
            <div class="encadrageCommentaire">      
              <form  action="INSERT_COMMENTAIRE.php" method="post">
                <div class="commentaire"><div class="label_commentaire"><label for="fname">nom:</label></div>
                <input  type="texte" name="nom" id="nom" placeholder="Entrez votre nom" required></div>
                <div class="commentaire"><div class="label_commentaire" placeholder="entré vote nom" required><label for="age">age:</label></div>
                <input id="age" type="number" name="age" pattern="[5-100]" placeholder="Entrez votre age" required></div>
                <div class="commentaire"><div class="label_commentaire"><label for="commentaire">commentaire:</label></div>
                <input id="commentaire" style="" type="text" name="le_commentaire" maxlength="200"  placeholder="Entrez un commentaire" required></div>
                <input style="background:rgba(1,1,1,0.2);width: 12%;margin-left: 85%; border-radius:0 0 5px 0;word-wrap: break-word;" type="submit" name="valider">
              </form>
            </div>
            
            <p href="" style="margin-left: 6px;background:rgba(1,1,1,0.2);border-radius: 20px;display: inline-block;">ESPACE COMMENTAIRE: </p> 
            
            <div id="VOS COMMENTAIRE" class="encadrageCommentaire">
            </div>  
            
        </article>
      
        <aside>   
        </aside>
      
         <footer >
          <div class="LigneHonrizontalFooter" ></div>
          <div style="display: flex;padding-top: 10px;justify-content: center; border-height:40px; ">
              <p><b>SUIVEZ Le Babezien</b></p>
            <a onclick="clickdesign(this)" href="https://www.facebook.com/Le-babezien-104889507687360/?__tn__=%2Cd%2CP-R&eid=ARC0wVBmgp6HR37Lc_GMHCaHVkq8l3GSztM-1JFCEA9yPn8KDTcS6ikhW4si7-1a1Cdr-B1slTl1QQpV"><img src="footer-icon-facebook.png"><p> facebook</p></a> 
            <a onclick="clickdesign(this)"><img src="footer-icon-youtube.png"><p> youtube</p></a>     
            <a onclick="clickdesign(this)"><img src="footer-icon-instagram.png"><p> instagram</p></a>   
            </div>
        </footer>
      
        <script type="text/javascript" src="jquery-3.5.1.js"></script>
        <script src="script_info_article.js"></script>
        <script src="le babezien.js"></script>
      </body>
      </html>
      


      J'ai ensuite retravaillé un peu le fichier js : script_info_article.js
      
      function getGET(param){
      var vars = {};
       window.location.href.replace( location.hash, '' ).replace( 
        /[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
        function( m, key, value ) { // callback
         vars[key] = value !== undefined ? value : '';
        }
       );
      
       if ( param ) {
        return vars[param] ? vars[param] : null; 
       }
       return vars;
      }
      
            
      function getArtcile(){
        var id_article= getGET('id_article');
        console.log(id_article);
        
       $.ajax({
          url: "article_info.php",
          type: 'POST',
          dataType: 'json',
          data :{id:id_article},
          success: function(response){
            console.log("Reponse AJAX", response);
      
            if(typeof(response)!="undefined" && response!=null){
              
              var ERREUR = typeof(response.ERREUR)!="undefined" ? response.ERREUR : null;
              if(ERREUR){
                //Si il y a une erreur..
                alert(ERREUR); 
              }else{
                //on boucle sur les résultats retournés par le script php
                $.each(response,function(i,el){
                  console.log(i,el);
                  //ici on mettra le code pour faire l'affichage...
                  //...
                  
                });
              }
            }
            
            
          },error:function(err){
            console.log("Erreur Ajax",err);
          }
        });
      }
      
      //on attend que la page soit chargée avant de lancer le code
      $(document).ready(function(){
        getArtcile();
      });
      
      


      Il faut bien penser à renommer tes fichiers tel que je te l'ai indiqué
      donc, tu devrais avoir :


      J'ai testé... tout fonctionne...

      Voila.

      1
      1. mais regarde il y'a deux reponse du fichier article_info.php et il prend toujour le 1 er. donc quand jessaye de lire le tableau des donné dans js ca me donne ca dans la console: {ERREUR: "ID non envoyé !", POST: Array(0)}
        0
      2. Modérateur
        @yacinebosssTon fichiers test est faux...
        Normal qu'il ne marche pas...
        0
    3. ces vrai j'ai mangé. hhh
      ca renvois ca. !id
      0
      1. Modérateur
        Visiblement, côté php maintenant ça semble bon.
        Par contre, il est étonnant que $_POST soit vide.

        Peux tu nous montrer le code complet de tes fichiers
        <script src="SCRIPT_INFO_ARTICLE.js"></script>
        <script src="TEST_AFFICHAGE.js"></script>
        


        Il faudrait également que tu vérifies l'encodage de tes fichiers ( chapitre 1 du lien suivant : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8 ) (y compris ton fichier php ARTICLE_INFO.php)

        Il serait pas mal également de renommer tes fichiers en minuscule.
        ARTICLE_INFO.php --->> article_info.php
        Idem pour tes Javascript.

        Et dans ton code JS, au niveau de l'ajax, tel que je te l'avais indiqué dans ton autre question... utilises le dataType Json
        dataType:'json',
        


        $.ajax({
           url: "article_info.php",
           type: 'POST',
           dataType: 'json',
           data :{id:id_article},
           success: function(response){
                console.log("Reponse AJAX", response);
        
           },error:function(err){
              console.log("Erreur Ajax",err);
           }
        });
        
        0
      2. @jordane45j'ai fait l'encodage en UTF-8

        SCRIPT_INFO_ARTICLE.js:
        function getGET(param){
        var vars = {};
        	window.location.href.replace( location.hash, '' ).replace( 
        		/[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
        		function( m, key, value ) { // callback
        			vars[key] = value !== undefined ? value : '';
        		}
        	);
        
        	if ( param ) {
        		return vars[param] ? vars[param] : null;	
        	}
        	return vars;
        }
        
          
          var id_article= getGET('id_article');
        
          
          console.log(id_article);
          
          
          
        	$.ajax({
           url: "article_info.php",
           type: 'POST',
           dataType: 'json',
           data :{id:id_article},
           success: function(response){
                console.log("Reponse AJAX", response);
        
           },error:function(err){
              console.log("Erreur Ajax",err);
           }
        });
        
        
        


        TEST_AFFICHAGE.js:
        $.ajax({
           url: "article_info.php",
           type: 'POST',
           dataType:'json',
           success: function(article_info) {
            
            var date=document.getElementById("date_article");
         var src=document.getElementById("img_article");
         var edition=document.getElementById("edition_article");
         
         
         date.innerHTML=article_info[0][0];
         edition.innerHTML ="Edition N°"+article_info[0][2]+" Le Babezien";
        
         
         src.src=article_info[0][3];
               
        
            },error: function(err){
              console.log('Erreur Ajax affichage',err);
             
          }
        
        });
        
        0
    4. Modérateur
      J'ai édité mon message précédent pour corriger le souci.
      Je commence à fatiguer un peu désolé

      0
      1. Ya Pas de souci. Quand tu pourras.
        Moi je continue essayer de trouver une solution
        0
      2. Modérateur
        @yacinebosssça y est, il fait nuit.
        Je suppose donc que tu as pu commencer à manger.
        j'espère donc que ta concentration va s'améliorer... :-)

        Je t'ai indiqué que j'ai édité le message ( éditer = modifier )
        J'y ai donc corrigé le code......... J'espère donc que tu as repris le code corrigé pour remplacer celui que je t'avais donné à l'origine....
        Et si tel est le cas... non tu ne peux plus avoir l'erreur que tu nous montres.

        Pour t'éviter de retourner encore sur le message édité, je te remets donc ici le code modifié :
        <?php
        
        //affichage des erreurs PHP
        error_reporting(E_ALL);
        ini_set('display_errors', TRUE);
        ini_set('display_startup_errors', TRUE);
        
        $servername = "localhost";
        $username = "redouane";
        $password = "";
        $dbname = "LeBabezien";
        $id = !empty($_POST['id']) ? $_POST['id'] : NULL;
        
        if(!$id){
          echo json_encode(array('ERREUR'=>'ID non envoyé !', 'POST'=>$_POST)); // Erreur corrigée ici
          exit;
        }
        
        $conn = new mysqli($servername, $username, $password, $dbname);
        if ($conn->connect_error) {
          die("Connection failed: " . $conn->connect_error);
        }
        
        
        $sql = "SELECT date_article, langue, edition, src FROM article WHERE id_article='$id'";
        $result = $conn->query($sql);
        if(!$result){
          echo json_encode(array('ERREUR'=>$conn->error, 'POST'=>$_POST)); // Erreur corrigée icii
          exit;
        }
        
        if ($result->num_rows > 0) {
          // output data of each row
          $article_info=array();
          while ($row = $result->fetch_assoc()) {
            $article_info[] = $row;
          }
          echo json_encode($article_info);
          exit;
        } else {
          echo json_encode(array('ERREUR'=>$_POST)); // Erreur corrigée ici
          exit;
        }
        ?>
        
        0
    5. mais reste le probléme que je ne peux pas utliser id dans mon code php ARTICLE_INFO.
      0
      1. Modérateur
        Peux tu modifier le code comme ceci
        <?php
        
        //affichage des erreurs PHP
        error_reporting(E_ALL);
        ini_set('display_errors', TRUE);
        ini_set('display_startup_errors', TRUE);
        
        $servername = "localhost";
        $username = "redouane";
        $password = "";
        $dbname = "LeBabezien";
        $id = !empty($_POST['id']) ? $_POST['id'] : NULL;
        
        if(!$id){
          echo json_encode(array('ERREUR'=>'ID non envoyé !', 'POST'=>$_POST));
          exit;
        }
        
        $conn = new mysqli($servername, $username, $password, $dbname);
        if ($conn->connect_error) {
          die("Connection failed: " . $conn->connect_error);
        }
        
        
        $sql = "SELECT date_article, langue, edition, src FROM article WHERE id_article='$id'";
        $result = $conn->query($sql);
        if(!$result){
          echo json_encode(array('ERREUR'=>$conn->error, 'POST'=>$_POST));
          exit;
        }
        
        if ($result->num_rows > 0) {
          // output data of each row
          $article_info=array();
          while ($row = $result->fetch_assoc()) {
            $article_info[] = $row;
          }
          echo json_encode($article_info);
          exit;
        } else {
          echo json_encode(array('ERREUR'=>$_POST));
          exit;
        }
        ?>
        

        et nous refaire des captures écran de l'onglet PARAMETRES et de l'onglet REPONSE de l'ajax ?

        PS: Essaie de mettre tes images dans un seul message .... c'est plus simple à suivre que lorsque tu créés un message par image/code...
        0
    6. car j'ai mes habitude sur chrome alors firefox j'eteait un peu perdu dsl. en plus que ca fait 22h que j'ai pas manger.
      0
      1. ahh ok j'ai compris lerreur car j'ai pas lhabitude de travailler avec firefox.
        0
        1. 0
          1. Modérateur
            Comment je pourrais te le dire .... à force je ne sais plus comment faire....
            Ton URL ( tu sais ce qu'est une URL au moins ?? ) ... ne contient pas d' ID !!!
            Il est donc NORMAL que tu ne récupères pas de valeur dans ton code Javascript !!!!!!!

            Dis voir.... Tu ne ferais pas un SUBMIT du formulaire avant d'essayer de voir le contenu en ajax ??? ça expliquerait pourquoi l'id disparait ....
            Par ce que .. tant que tu n'auras pas, dans l'url, l'adresse article.html?id_article=qqchose ... ça ne marchera JAMAIS !
            0
          2. @yacinebosssdsl mais moi je le vois qu'il est present dans l'url.
            0
          3. @yacinebosssle id que je recherche est un nombre qui est entre 1 jusqua 999. je les crée comme ca ma base de donné
            0
          • oui la meme fonction est qui retoune le bon id.
          • bien sure a chaque fois je fait ctrl+f5


          index.html:
          <!DOCTYPE html>
          
          
          <html id="body" lang='en' >
          <head>
              <meta charset="UTF-8" /> 
              <title>
                  Le babezien
              </title>
              
              <link rel="stylesheet" href="design.css" >
          
              <link rel="shortcut icon" href="babezien2.png">    
          
              <style type="text/css">
              ul{
                list-style-type: none;
                padding: 0px;
          
               }
              ul a{
          
              text-decoration-line: none;
              display:block;
           padding-left: 16px;
           border:none;
           line-height: 2em;
           background: rgba(140,140,140);
           margin-bottom: 1px;
               
              }
              ul a:hover{
               background-color: rgba(90,90,90);
           
          
              }
              
              li{
               
               display:block;
               }
              
               nav h2{
          
                line-height: 1em;
                text-align: center;
                
          
               }
               #article{
          
            width: 50%;
            padding-left:5px;
          
          
               }
          
          
          
          
              </style>
          
           
          
          <body >
            
          <header style="background-image: url('usthb.jpg');"> 
                
          <center>
                 <img id="icone" src="le babezien.jpg">
              </center>
          </header>
          
          <nav id="nav" >
           
            <a href="index.html" class="navchoice" id="nav1"><b>ACCUEIL</b> </a>
            <a href="ARTICLE.html" class="navchoice" id="nav2"><b>NOS ARTICLE</b></a>
            <a href="" class="navchoice" id="nav3"><b>CONTACT</b></a>
            <a href="" class="navchoice" id="nav4"><b>INFO</b></a>
          
          </nav>
          
          
          <article>
          
           <nav id="article">
           
           <h2 id="titre_article">NOS EDTION:</h2>
           
          
           <ul >
           <li ><a href="ARTICLE.html?id_article=1"> EDITION 1 </a></li>
           
          
            <li ><a href=""> EDITION 2 </a></li>
           <li ><a href=""> EDITION 3 </a></li>
           <li ><a href=""> EDITION 4 </a></li>
           
          
          
           
          </ul>
          </nav>
          </article>
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          <aside>
               
               
           </aside>
          
           <footer >
            <div class="LigneHonrizontalFooter" ></div>
            <div style="display: flex;padding-top: 10px;justify-content: center; border-height:40px; ">
                <p><b>SUIVEZ Le Babezien</b></p>
              <a onclick="clickdesign(this)" href="https://www.facebook.com/Le-babezien-104889507687360/?__tn__=%2Cd%2CP-R&eid=ARC0wVBmgp6HR37Lc_GMHCaHVkq8l3GSztM-1JFCEA9yPn8KDTcS6ikhW4si7-1a1Cdr-B1slTl1QQpV"><img src="footer-icon-facebook.png"><p> facebook</p></a> 
              <a onclick="clickdesign(this)"><img src="footer-icon-youtube.png"><p> youtube</p></a>     
              <a onclick="clickdesign(this)"><img src="footer-icon-instagram.png"><p> instagram</p></a>   
              </div>
          </footer>
          
          
          
          </body>
          <script type="text/javascript">
          var urlAjx = "<?php echo site_url('test.php'); ?>";
          </script>
          <script type="text/javascript" src="jquery-3.5.1.js"></script>
           <script src=""></script>
          
          
          
          </html>
          


          article.html
          <!DOCTYPE html>
          
          
          <html id="body" lang='en' >
          <head>
              <meta charset="UTF-8" /> 
              <title>
                  Le babezien
              </title>
              
              <link rel="stylesheet" href="design.css" >
          
              <link rel="shortcut icon" href="babezien2.png">    
          
              
          
           
          
          <body >
            <?php ("INSERT_COMMENTAIRE.php");?>
          <header style="background-image: url('usthb.jpg');"> 
                
          <center>
                 <img id="icone" src="le babezien.jpg">
              </center>
          </header>
          
          <nav id="nav" >
           
            <a href="index.html" class="navchoice" id="nav1"><b>ACCUEIL</b> </a>
            <a href="ARTICLE.html" class="navchoice" id="nav2"><b>NOS ARTICLE</b></a>
            <a href="" class="navchoice" id="nav3"><b>CONTACT</b></a>
            <a href="" class="navchoice" id="nav4"><b>INFO</b></a>
          
          </nav>
          <article > 
          <center>
          
            
              <div class="presontArt">
              <p class="gauche" ><b id="edition_article"></b></p>
              
              <div style="display: flex;height: 1%;margin-top: 2.1%;" class="droite" ><p id="date_article" style="margin: 0px;"> </p> <img id="timeArt"  src="time.jpg"> </div> </div>
          
                
          
                
              
          
              <figure  style="margin: 0px;">
                
              <img id="img_article" class="ilsr" style="margin-top: 0%;"  src="" >
          </div>
              
              </figure>
          
              </center>
              <div style="float: right; width: 90px;display: flex;justify-content: center;">
                  <img src="fléche-gauche.png"  class="article_nav" id="page_prec">
                  
                  <img src="fléche-droite.png" class="article_nav" id="page_suiv">
                  
              </div>
                 
              <a href="" style="margin-left:5px;margin-right: 80%;background-color: rgba(90,90,90);color: white;text-decoration: none;display: inline-block;">telecharger le pdf </a> 
              
              
              <p style="margin-left: 5px;background:rgba(1,1,1,0.2);border-radius: 20px;display: inline-block;">AJOUTER UN COMMENTAIRE:</p>
              
              <div class="encadrageCommentaire">      
          
                <form  action="INSERT_COMMENTAIRE.php" method="post">
          
                 <div class="commentaire"><div class="label_commentaire"><label for="fname">nom:</label></div>
                 <input  type="texte" name="nom" id="nom" placeholder="Entrez votre nom" required></div>
                 
                 <div class="commentaire"><div class="label_commentaire" placeholder="entré vote nom" required><label for="age">age:</label></div>
                 <input id="age" type="number" name="age" pattern="[5-100]" placeholder="Entrez votre age" required></div>
                 
                 <div class="commentaire"><div class="label_commentaire"><label for="commentaire">commentaire:</label></div>
                 <input id="commentaire" style="" type="text" name="le_commentaire" maxlength="200"  placeholder="Entrez un commentaire" " required></div>
                
                <input style="background:rgba(1,1,1,0.2);width: 12%;margin-left: 85%; border-radius:0 0 5px 0;word-wrap: break-word;" type="submit" name="valider">
          
                  
                </form>
              </div>
              
              <p href="" style="margin-left: 6px;background:rgba(1,1,1,0.2);border-radius: 20px;display: inline-block;">ESPACE COMMENTAIRE: </p> 
              
              <div id="VOS COMMENTAIRE" class="encadrageCommentaire">
              </div>  
                
          
              
          
              
          </article>
          
          <aside>
               
               
           </aside>
          
           <footer >
            <div class="LigneHonrizontalFooter" ></div>
            <div style="display: flex;padding-top: 10px;justify-content: center; border-height:40px; ">
                <p><b>SUIVEZ Le Babezien</b></p>
              <a onclick="clickdesign(this)" href="https://www.facebook.com/Le-babezien-104889507687360/?__tn__=%2Cd%2CP-R&eid=ARC0wVBmgp6HR37Lc_GMHCaHVkq8l3GSztM-1JFCEA9yPn8KDTcS6ikhW4si7-1a1Cdr-B1slTl1QQpV"><img src="footer-icon-facebook.png"><p> facebook</p></a> 
              <a onclick="clickdesign(this)"><img src="footer-icon-youtube.png"><p> youtube</p></a>     
              <a onclick="clickdesign(this)"><img src="footer-icon-instagram.png"><p> instagram</p></a>   
              </div>
          </footer>
          
          
          
          </body>
          <script type="text/javascript">
          var urlAjx = "<?php echo site_url('test.php'); ?>";
          </script>
          <script type="text/javascript" src="jquery-3.5.1.js"></script>
          
          <script src="SCRIPT_INFO_ARTICLE.js"></script>
          <script src="TEST_AFFICHAGE.js"></script>
          
           <script src="le babezien.js"></script>
           
          
          
          </html>
          


          le fichier js ou se trouve le ajax en question:
          function getGET(param){
          var vars = {};
           window.location.href.replace( location.hash, '' ).replace( 
            /[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
            function( m, key, value ) { // callback
             vars[key] = value !== undefined ? value : '';
            }
           );
          
           if ( param ) {
            return vars[param] ? vars[param] : null; 
           }
           return vars;
          }
          
            
            var id_article= getGET('id_article');
          
            
            console.log(id_article);
            
           
            
           $.ajax({
          
             url: "ARTICLE_INFO.php",
             type: 'POST',
             dataType:'text',
             data :{id:id_article},
             success: function(id){
              
              console.log("id envoyé"+ id);
          
             },error:function(err){
          
          console.log("id non envoyé");
             }
          
          
             });
          
          
          
          0
          1. 0
        2. Modérateur
          Tu as bien utilisé la fonction JS que je t'ai donné ?
          As tu vidé le cache de ton navigateur ? (quand on touhe au JS il faut systématiquement vider son cache si on veut être sûr que les modifications soient prises en compte)
          Peux tu nous remettre une capture écran de l'onglet PARAMETRE ?
          Peux tu nous mettre une capture écran de ton navigateur lorsque tu es sur la page article.html ?
          As tu bien un id_article dans l'url cette fois ?

          J'aimerai bien également que ( dans UN SEUL ET MEME MESSAGE ) tu nous repostes les codes de :
          index.html
          article.html
          Le fichier JS où se trouve ta fonction ajax si elle n'est pas directement dans article.html.

          Attention...
          + Je veux que tu indiques le nom de chaque Fichier suivi du code correspondant
          + Je veux le code COMPLET (pas juste des morceaux..)
          0
          1. XD dsl en plus que je fait le jeune ca facilite pas les chose hhh.

            la envoiyé par ajax est id.
            la variable que j'attent est id.
            ils sont identique.

            le code index est tres simple:
            <li ><a href="ARTICLE.html?id_article=1"> EDITION 1 </a></li>
            

            et je suis sure a 100% qu'il et bien envoyé dansl'url est quil est bien enregistré dans la variable javascript.
            0
            1. Modérateur

              la envoiyé par ajax est id.
              la variable que j'attent est id.

              Tu as donc corrigé le code php ?
              car tout à l'heure.. c'était id1 que tu attendais...

              Et donc, si c'est corrigé... qu'obtiens tu ?
              Que t'affiches la console ? (l'onglet PARAMETRES de l'AJAX ainsi que l'onglet REPONSE )
              0
            2. @jordane45la meme chose : id"" .
              et reponse: erreur.
              0
            3. @yacinebosssmais quand je fait data{id:1}
              parametre id='1'
              et reponse: ca m'envois les ligne de la base donné
              0
          2. mais le truc ces pas un probléme de syntaxe ces juste que si je ne fait pas
             id_article=1
            il menvoie null car il ne le reconnais pas ché pas pourquoi.

            et pour l'url de quelle url tu parle exactement.
            0
            1. Modérateur
              Tu comprends vite... mais faut t'expliquer longtemps !

              On va essayer autrement...

              Donc pour commencer :
              Dis moi quel est le nom de la variable que tu ENVOIES en ajax (dans ton JS )
              Puis dis moi le nom de la variable que tu ATTENDS du côté PHP.
              Et enfin.. regarde si ces deux noms de variables sont bien identiques !

              Ensuite, j'aimerai que tu nous montres le code de ta page INDEX et nous expliquant COMMENT tu arrives sur la page ARTICLE.
              Y as tu bien mis l' ID de l'article que tu veux consulter ??? ( et donc, dans l'url de ta page ARTICLE, as tu bien une variable ID ?? )
              0
          3. non pas vraiment la page article sappelle index pour le moment. et la page de visionnage est article. (pour le moment car j'ai pas encore fait les detail.)

            et au sujet de la requette qui est vide j'ai dit que ca dois etre une erreur de syntaxe ces comment qu'on fait
            data:{id:nom_variable}
            ?
            est meme quand je la remplis avec 1 en fesons csharp>data:{id:1}</code>
            dans parametre je vois que id=1
            mais aprés rien n'est envoyé au niveau de ARTICLE_INFO.php. car je ne sais ps pour quelle raison le id n'est pas receptionné.
            0
            1. et j'ai aussi remarqué que ce code dans SCRIPT_INFO_ARTICLE.js
              .
              ..
              $.ajax({
                 url: "ARTICLE_INFO.php",
                 type: 'POST',
                 dataType:'text',
                 data :{id:1},
                 success: function(id){
                 	console.log("id envoyé"+ id);//je parle de cette ligne cette ligne /**/
              
                 },error:function(err){
              
              console.log("id non envoyé");
                 }
              
              
                 });
              
              

              elle maffiche dans console.log :
              id envoyé[["21\/12\/2019","ar","1","ARTICLE\\Le-babezien-edition-1-ar\\page-001.jpg"]]


              elle a eu accée a la base de donné.
              0
            2. Modérateur
              Dans l'ajax (côté JS )
              tu as :
              data :{id:id_article},
              

              donc, ta variable se nomme "id"
              Et côté PHP, tu as écris
              $id = !empty($_POST['id1']) ? $_POST['id1'] : NULL;
              

              Donc.. il s'attend à trouver une variable qui se nomme "id1"
              Tu dois donc changer le php par
              <code php>
              $id = !empty($_POST['id']) ? $_POST['id'] : NULL;
              


              Et pour en revenir à l'ID qui n'est pas présent dans l'url .. il faudra donc repartir de ta page index... et voir comment tu arrives sur ta page "article"
              0
          4. Modérateur

            oui je sais quelle est vide ca que je comrpend pas.


            Comment arrives tu sur cette page ?
            Car le souci vient de là.
            Aucun Pb avec le code........

            C'est comme envoyer une lettre sans mettre d'adresse....
            La lettre n'arrivera jamais.... et ca ne sera ni de la faute du facteur... ni celle de la boite aux lettres... mais bien un souci de celui qui a posté cette lettre !!!!

            A un moment faut remettre les choses à plat et essayer de comprendre le cheminement.
            Si tu n'as pas de variable dans ton URL .... ben... c'est que tu ne l'a pas mise !

            Je ne comprends pas non plus, comment ça se fait que ton code ajax se trouve dans ton fichier ARTICLE .... alors qu'il sert à afficher le détail d'un article.. et donc, d'après tes précédentes explications, se trouver dans ton autre fichier...
            Pour rappel, tu nous as dit :
            j'ai une page article et une page ou visonner les article + commentaire.


            0
            1. oui je les corrigé. le GOST cetait une erreur quand jessayer de corriger car j'ai testé le GET.
              0
              1. 0
                1. Modérateur
                  On voit bien, dans tes captures écran, que ton id1 est vide.

                  Donc soit ton url n'est pas bonne ( pourrais tu nous la coller qu'on puisse voir de quelle forme elle est )
                  soit c'est ta fonction pour récupérer les variables de l'url

                  par exemple, cette fonction devrait marcher
                  function getGET(param){
                  var vars = {};
                  	window.location.href.replace( location.hash, '' ).replace( 
                  		/[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
                  		function( m, key, value ) { // callback
                  			vars[key] = value !== undefined ? value : '';
                  		}
                  	);
                  
                  	if ( param ) {
                  		return vars[param] ? vars[param] : null;	
                  	}
                  	return vars;
                  }
                  


                  et dans ton code,
                  var id_article= getGET('id_article');
                  
                  0
                2. Modérateur
                  @jordane45Je viens de voir l'url ....... dans tes captures écran.... et .. ben... y'a pas d' ID ...
                  Normal que ça ne marche pas donc...
                  0
                3. @jordane45oui je sais quelle est vide ca que je comrpend pas.

                  j'ai fait les modification:
                  <code csharp>

                  function getGET(param){
                  var vars = {};
                  window.location.href.replace( location.hash, '' ).replace(
                  /[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
                  function( m, key, value ) { // callback
                  vars[key] = value !== undefined ? value : '';
                  }
                  );

                  if ( param ) {
                  return vars[param] ? vars[param] : null;
                  }
                  return vars;
                  }

                  var id_article= getGET('id_article');

                  console.log(id_article);

                  $.ajax({
                  url: "ARTICLE_INFO.php",
                  type: 'POST',
                  dataType:'text',
                  data :{id:id_article},
                  success: function(id1){
                  console.log("id envoyé"+ id1);

                  },error:function(err){

                  console.log("id non envoyé");
                  }

                  });</code >

                  ca me fait la meme chose je ne sais pas pourquoi il n'est pas en voyé dans l'url
                  0
                4. @yacinebosssces surement une erreur de syntaxe ici :
                   data :{id:id_article},
                  0
                5. @yacinebossset regarde quand la j'ai fait
                  data :{id:2},
                  0
              2. les erreur:

                dans mon ma console : TEST_AFFICHAGE.js:20
                Erreur Ajax affichage {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}

                id envoyéerreur SCRIPT_INFO_ARTICLE.js:23
                ca me renvois le
                 success


                dans ARTICLE_INFO.php
                ca me renvoi erreur
                car il na recu le id_article
                0
                1. Modérateur
                  Tu as changé le $_GOST ?

                  Et puis, j'aimerai voir l'onglet PARAMETRES de ton AJAX (une capture écran)
                  (je te conseille d'utiliser FIREFOX pour debuguer ton ajax.. la console est plus simple à utiliser que celle de chrome )

                  0
              3. dsl parceque on navais devier du sujet d’origine.

                voici mon php ARTICLE_INFO:

                <?php
                
                 //insert data
                
                $servername = "localhost";
                $username = "redouane";
                $password = "";
                $dbname = "LeBabezien";
                $id = !empty($_GOST['id1']) ? $_POST['id1'] : NULL;
                
                $conn = new mysqli($servername, $username, $password, $dbname);
                // Check connection
                if ($conn->connect_error) {
                  die("Connection failed: " . $conn->connect_error);
                }
                
                // Create connection
                $sql = "SELECT date_article, langue, edition, src FROM article WHERE id_article='$id'";
                $result = $conn->query($sql);
                
                if ($result->num_rows > 0) {
                  // output data of each row
                  $article_info=array();
                    while ($row = $result->fetch_assoc()) {
                     # code...
                    $article_info[] = array($row["date_article"],$row["langue"],$row["edition"],$row["src"]);
                   
                   
                
                    //echo ($row["date_article"]);
                      
                  }
                  
                 echo json_encode($article_info);
                 
                } else {
                 echo("erreur");
                  
                }
                ?>
                


                mon code js diviser en 3 fichier:
                SCRIPT_INFO_ARTICLE: (la ou est le probléme)
                function getParamByName(name, url) {
                    if (!url) url = window.location.href;
                    name = name.replace(/[\[\]]/g, "\\$&");
                    var regex = new RegExp("[?&]" + name + "(=([^]*)|&|#|$)"),
                        results = regex.exec(url);
                    if (!results) return null;
                    if (!results[2]) return '';
                    return decodeURIComponent(results[2].replace(/\+/g, " "));
                    console("fait");
                }
                
                  var id_article= getParamByName('id_article');
                  
                console.log(id_article);
                
                 $.ajax({
                   url: "ARTICLE_INFO.php",
                   type: 'POST',
                   dataType:'text',
                   data :{id1:id_article},
                   success: function(id1){
                    console.log("id envoyé"+ id1);
                
                   },error:function(err){
                
                console.log("id non envoyé");
                   }
                
                
                   });
                
                


                TEST_AFFICHAGE.js:(qui marche correctement)
                function getParamByName(name, url) {
                    if (!url) url = window.location.href;
                    name = name.replace(/[\[\]]/g, "\\$&");
                    var regex = new RegExp("[?&]" + name + "(=([^]*)|&|#|$)"),
                        results = regex.exec(url);
                    if (!results) return null;
                    if (!results[2]) return '';
                    return decodeURIComponent(results[2].replace(/\+/g, " "));
                    console("fait");
                }
                
                  var id_article= getParamByName('id_article');
                  
                console.log(id_article);
                
                 $.ajax({
                   url: "ARTICLE_INFO.php",
                   type: 'POST',
                   dataType:'text',
                   data :{id1:id_article},
                   success: function(id1){
                    console.log("id envoyé"+ id1);
                
                   },error:function(err){
                
                console.log("id non envoyé");
                   }
                
                   });
                
                
                


                Le babezien: (qui na rien a voir avec ca)
                0
                1. Modérateur
                  Je ne suis même pas aller plus loin que la ligne 9 dans ton premier script
                  $_GOST ... ça n'existe pas
                  C'est $_POST

                  Et pour voir les éventuelles erreurs dans ton ajax.. il faut les afficher
                  Donc, corriger le "error" de ton js comme ceci
                  },error: function(err){
                     console.log('Erreur AJAX',err); // affiche les éventuelles erreurs retournées par ton code php
                     console.log("id non envoyé");
                  }
                  


                  et pour le datatype ... ne touche à rien.
                  C'est JSON qu'il faut utiliser !!
                  //dataType:'text',  // NON ! éviter !
                  dataType : "json",
                  
                  0
              • 1
              • 2