2016-06-17 5 views
1

Shot_code.phpで定義された関数の中で変数の値を取得しようとしています。なぜ関数がPHPで値を表示しないのですか

クラスの外に値が表示されていますが、関数内で取得しようとすると空白の出力が表示され、構文エラーはありません。

どうしたのですか?

Shot.php

<?php 
include './Shot_code.php'; 

$cart_class = new Cart_Class(isset($_POST['ID'])); 

?> 
    <script> 
     $(document).ready(function(){ 
      $('.getSrc').click(function() { 
       var src = $(this).attr('src'); 
       var id = $(this).attr('id'); 
       var specific = $('.showPic').attr('src'); 
       var specific = src; 
       $.ajax({ 
        type: "POST", 
        url: "Shot.php", 
        data: {"ID":id}, 
        success: function(result){ 
         console.log(result); 
        } 
       }); 
      }); 
     }); 
    </script> 

    <body> 

    <div data-toggle='modal' data-target='#myModal' id='single_product' 
      class='col-md-3 col-sm-4 col-xs-12'> 
     <img src="images/kabootar.jpg" class="getSrc" id="5"> 
    </div> 

    <!-- Modal --> 
     <div class="modal fade" id="myModal" role="dialog"> 
     <div class="modal-dialog"> 

      <!-- Modal content--> 
      <div class="modal-content"> 
      <img src="" class="showPic"> 
      <div class="modal-header" style="padding:35px 50px;"> 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 

       <?php 
       $cart_class->cart_head_info_print(); 

       ?> 
      </div> 

     </div> 
     </div> 
    </div>  
    </body> 

Shot_code.php

<?php 
    // Here if(isset) returning value 
    class Cart_Class{   
     public $aho; 

     public function __construct($id) 
     { 
      $this->aho = $id; 
     } 

     function cart_head_info_print(){ 
      echo $this->aho; 
      //Here nothing is displaying 
     }  
    } 
+0

@jszobody コードが正しくインデントされるJSのロジックを実行し、私はすべての問題は、構文 –

+0

を読んでそこにいないと思うあなたのインスタンスを作成していますクラス?例えば'include" Shot_code.php "; $ cart_class = new Cart_Class($ id); ' –

+0

@BenM。 私の更新されたコードを見てください –

答えて

1

isset()ではなくPOST['ID']のブール値を返します。また、要求が来た後にCart_Classがインスタンス化される必要があると言っていないので、PHPはそれを認識しません。

それが良いこの

<?php 
include './Shot_code.php'; 

if (isset($_POST['ID'])) { 
    $cart_class = new Cart_Class($_POST['ID']); 
    $cart_class->cart_head_info_print(); 
    exit(); 
} 
.... 
.... 

のように書かれてますが、その後、結果を取得し、

+0

このコードを追加した後、私はまだModal Headerの値を得ていません。まだ空白の出力を返しています –

+0

もちろん、あなたは**出力をjQueryで得る必要があります - 成功 - コールバック、** set **それをあなたが好きな場所に設定する、つまり '$( '。modal-header ').html(' result ') ' – Chay22

+0

私のために働いた! 素晴らしい! 神はあなたを祝福します! –

関連する問題