2014-12-21 51 views
0

我在PHP代碼中使用$.ajax()...這個煩人的問題。我無法檢索由ajax函數發送的數據。

<?php 


if ($_POST){ 
    include 'Bdd_connexion.php'; 

    $filiere = $_POST['filiere']; 
    /*$annee = $_POST['annee']; 
    $groupe = $_POST['groupe'];*/ 

    $sql = ""; 
    $query = $Conn->prepare("SELECT * FROM `Etudiant` WHERE `filiere` = '".$filiere."'"); 
    $result = $query->execute(); 
     if ($result) 
      echo "success"; 

    $results = $query->fetchAll(PDO::FETCH_ASSOC); 
     foreach($results as $rows) 
      echo $rows['Nom']; 

}else{ 

    echo "No post"; 
}?> 

<head> 
    <title> La liste des presences </title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
    <link rel="stylesheet" href="Liste_des_presences_css.css"/> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"/> 

    <script language="javascript" type="text/javascript"> 
    var filiere; var annee; var groupe; 
    fil = false; 
    ann = false; 
    grp = false; 


     function getEventTarget(e) { 
        e = e || window.event; 
        return e.target || e.srcElement; 
       } 

     function clickFil(event) { 
      var target = getEventTarget(event); 
      if(target.innerHTML != "Selectionner un choix"){ 
       filiere = target.innerHTML; 
       fil = true; 
       return true; 
      }else{ 
      fil = false; 
      return false; 
       } 
      }; 

      function clickAn(event) { 
      var target = getEventTarget(event); 
      if(target.innerHTML != "Selectionner un choix"){ 
       annee = target.innerHTML; 
       ann = true; 
       return true; 
      }else{ 
      ann = false; 
      return false; 
       } 
      }; 

      function clickGrp(event) { 
      var target = getEventTarget(event); 
      if(target.innerHTML != "Selectionner un choix"){ 
       groupe = target.innerHTML; 
       grp = true; 
       return true; 
      }else{ 
      grp = false; 
      return false; 
       } 
      }; 

      function TestEntries(){ 
       if (!fil || !ann || !grp) 
        alert("Selectionner tout les champs !"); 
      } 

      function ajax(event) { 
      if ('preventDefault' in event) event.preventDefault(); 
       event.returnValue = false; 

      $.ajax({ 

      url: 'http://127.0.0.1:8080/ProjetWeb/Liste_des_presences.php', 
      type: 'POST', 
      data: { filiere : filiere 
       , groupe : groupe 
       , annee : annee}, 
      contentType: "application/x-www-form-urlencoded", 
      cache : false, 

       });   

      } 

    </script> 
</head> 

    <body> 

<div class="container size" style="margin-top:40px"> 

      <div class="panel-body"> 

      <form action="Liste_des_presences.php" class="form-group" method="POST"> 

       <div class="panel panel-default"> 
        <div class="panel-heading"> 
        </div> 
         <div class="panel-body"> 
          <div class="btn-group division11"> 
          <button type="button" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> 
          Filiere <span class="caret"></span> 
          </button> 
           <ul class="dropdown-menu" onclick="clickFil(event);"> 
            <li><a value="select">Selectionner un choix</a></li> 
            <li><a value="IL">IL</a></li> 
            <li><a value="RSD">RSD</a></li> 
            <li><a value="SSI">SSI</a></li> 
            <li class="divider"></li> 
            <li><a value="SII">SII</a></li> 
            <li><a value="APCI">APCI</a></li> 
            <li><a value="MIND">MIND</a></li> 
           </ul> 
          </div> 


         <div class="input-group input-group-lg division3"> 
          <button type="button" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> 
          Annee <span class="caret"></span> 
          </button> 
           <ul class="dropdown-menu" onclick="clickAn(event);"> 
            <li><a>Selectionner un choix</a></li> 
            <li><a>1</a></li> 
            <li><a>2</a></li> 
           </ul> 
         </div> 
         </div> 

         <div class="input-group input-group-lg division4"> 
          <button type="button" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> 
          Groupe <span class="caret"></span> 
          </button> 
           <ul class="dropdown-menu" onclick="clickGrp(event);"> 
            <li><a>Selectionner un choix</a></li> 
            <li><a>1</a></li> 
            <li><a>2</a></li> 
            <li><a>3</a></li> 
            <li><a>4</a></li> 
            <li><a>5</a></li> 
            <li><a>6</a></li> 
            <li><a>7</a></li> 
           </ul> 
         </div>   
         <center> 
          <div class="input-group input-group-lg padd"> 
          <input type="submit" class="btn btn-lg btn-primary btn-block" value="Confirmer" onclick="TestEntries();" onfocus="ajax(event);"/> 
          </div> 
         </center> 

         </div> 

         <form action="" class="form-group" method="POST"> 
          <div><hr/></div> 
           <table class="table table-bordered"> 
            <thead> 
             <tr> 
              <th>Nom</th> 
              <th>Prenom</th> 
              <th>Presence</th> 

             </tr> 
            </thead> 
            <tbody> 
            <?php 
             if ($_POST) foreach($results as $rows){ 
              echo '<tr>'; 
               echo '<td>'. $rows['Nom'].'</td>'; 
               echo '<td>'. $rows['Prenom'].'</td>'; 
               echo '<td></td>'; 
              echo '</tr>'; 
             } 

            ?> 
            </tbody>          
           </table> 



          </form> 

        </form> 





         </div> 

        </div> 


     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type=""></script> 
     <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js" type=""></script> 

    </body> 

</html> 

請..我會感謝所有幫助...謝謝。

+0

請詳細說明你的意思是什麼在php代碼無法訪問的數據。「它是否迴應'沒有帖子?'順便說一句,建議使用'is_empty($ _ POST)'而不是真實性檢查。您是否在瀏覽器調試器中設置了斷點,以確保ajax調用正在觸發您想要的數據? –

+0

感謝您的回覆,看,我發送這三個值(菲尼埃,annee,groupe)使用$ .ajax()方法...在PHP代碼中,我試圖獲得這些值與$ _POST爲了執行一個更新查詢...但$ _POST沒有收到任何東西.. –

+0

我會重新提出這個問題有點不同,__how__你知道$ _POST數組沒有你想要的嗎?網絡服務器錯誤日誌中是否有任何錯誤消息,如'PHP Warning,undefined index'filiere'in /var/www/yourscript.php LINE 4'?如果問題是數據庫沒有更新,那麼有一百五十萬個可能的解釋。 –

回答

-1
$.ajax({ 
         type: "POST", 
         url: "count.php", 
         data: dataString, 
         cache: false, 
         success: function(html){ 
          $(".deletefasl").html(html); 
         } 
        }); 

你的數據字符串應該是

var dataString = 'varibale='+ id; 

或用戶$。員額

$.post("filename.php", { var in php : var in jquery or javascript}, 
         function(result){ 
} 
}); 
+0

沒有什麼改變..同樣的問題。 –

+0

它沒有問題,我使用此代碼 – user3046493