2016-05-25 10 views
0

Ich habe 3 Controller-Methoden Namen als Blog, load_messages und load_comments. Jetzt möchte ich die Kommentare ziehen, wenn der Benutzer auf die Schaltfläche klickt. Die Post-ID wird an den Methodennamen load_comments übergeben, aber jetzt, wenn ich die Ansicht mit dem Namen blog laden, so gibt es einen Fehler, weil ich bereits einige Daten an die Ansicht übergeben habe. Ich möchte nur die Daten übergeben, die der Kommentar-Controller ist.Daten können nicht in Sicht codeigniter zuzugreifen

Die Funktionen sind:

public function blog() { 

    $user_session_email = $this -> session -> userdata('user_email','name','id'); 
    if(!$user_session_email) { 
     redirect('/'); 
    } 

    $user_data = $this -> users_model -> MyAccount([ 
     'id' => $this -> session -> userdata('id'), 
     'name' => $this -> session -> userdata('name'), 
     'email' => $this -> session -> userdata('user_email'), 
    ]); 
    $data["persoanl"] = $user_data; 

    $returned_result = $this -> users_model -> load_messages(); 
    $messages["message"] = $returned_result['message']; 

    $this -> load -> view('users/inc/header', $data); 
    $this -> load -> view('users/inc/blog_form', $data); 
    $this -> load -> view('users/blog', $messages); 
    $this -> load -> view('users/inc/footer'); 
} 

public function load_messages() { 
    $returned_result = $this -> users_model -> load_messages(); 
    $messages["message"] = $returned_result["message"]; 
    $messages['id'] = $this -> load_comments(); 
    $this -> load -> view('users/blog', $messages); 
} 

public function load_comments() { 
    $messages['id'] = $this -> input -> post('post_id'); 
    $this -> load -> view('users/blog', $messages); 
} 

Im letzten Methode, die ich will nur nur den $ message Variable übergeben, aber wenn ich diesen Wert der anderen Funktionen in dem Blog Ansicht passieren wird mit verschiedenen Parametern wie $ geladen messages ['message'], es erzeugt einen Fehler sagt $ Nachricht ist auf der Blog-Ansicht-Seite nicht definiert, aber wenn ich die letzte Methode entfernen, wird es perfekt funktionieren. Was soll ich tun, wie ich Daten an Blog weitergebe?

Blog Code anzeigen

  <?php 
      foreach($message as $blog) : 
     ?> 
     <div class="row blog_post<?php echo $blog -> blog_id; ?>" id="blog_posts"> 

      <div class="col-lg-1 col-md-2 col-sm-2 col-xs-3 user_blog_image"> 
       <?php if($blog -> profile_image == null) { ?> 
        <img src="<?php echo base_url(); ?>public/dist/img/user2-160x160.jpg" alt="User Image"> 
       <?php } else { ?> 
        <img src="<?php echo base_url().$blog -> profile_image; ?>" alt="User Image"> 
       <?php } ?> 
      </div> <!-- End of user blog image --> 

      <div class="col-lg-11 col-md-10 col-sm-10 col-xs-9 post_message"> 
       <?php if($blog -> id == $this -> session -> userdata('id')) : ?> 
       <a class="pull-right" onclick="delete_post('<?php echo $blog -> blog_id; ?>', '<?php echo base_url('users/delete_post'); ?>')"> 
        &times; 
       </a> 
       <?php endif; ?> 

       <p> 
        <?php echo $blog -> message; ?> 
       </p> 
       <span class="pull-left"> 
        <small> Posted By: <?php echo $blog -> name; ?></small> 
       </span> 
       <a onclick="get_comments(this.id, '<?php echo base_url('users/load_comments'); ?>')" class="stop_interval" id="<?php echo $blog -> blog_id; ?>"> 
        <i class='fa fa-comment' aria-hidden='true'></i> View Comments 
       </a> 
       <a onclick="update_like('<?php echo $blog -> blog_id; ?>', '<?php echo base_url('users/update_like'); ?>')"> 
        <i class='fa fa-thumbs-up' aria-hidden='true'></i> Likes (<small><?php echo $blog -> likes; ?></small>) 
       </a> 

      </div> <!-- End of post message --> 

      <div class="col-lg-offset-1 col-lg-11 comment_field"> 

       <div class="show_comments col-lg-12 col-md-12 col-sm-12 col-xs-12" id="show_comments<?php echo $blog -> blog_id; ?>"> 
        <?php echo $id; ?> 
        <div class="col-lg-1 col-md-1 col-sm-1 col-xs-1 commentor_pic"> 
         <img src="<?php echo base_url(); ?>public/dist/img/user2-160x160.jpg" alt="User Image"> 
        </div> <!-- End of commentor picture --> 
        <div class="col-lg-11 col-md-11 col-sm-11 col-xs-11 comment"> 
         <p> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </p> 
         <p> <small> Posted By: Rashid Khokhar </small> </p> 
        </div> <!-- End of commentor picture --> 
       </div> <!-- End of show comments --> 


       <form method="post" id="comment_Form<?php echo $blog -> blog_id; ?>"> 
        <input type="text" id="blog_comment<?php echo $blog -> blog_id; ?>" required name="comment_field" class="form-control" placeholder="Type your comment"> 
        <button type="submit" id="cmntBtn<?php echo $blog -> blog_id; ?>" class="btn btn-primary"><i class="fa fa-share" aria-hidden="true"></i></button> 
       </form> 
      </div> <!-- End of comment field --> 

     </div> 
     <script type="text/javascript" src="<?php echo base_url('public/dist/js/jQuery.js'); ?>"></script> 
     <script type="text/javascript" src="<?php echo base_url(); ?>public/dist/js/custom.js"></script> 
     <script type="text/javascript"> 
      comment_blog('<?php echo $blog -> blog_id; ?>', '<?php echo base_url('users/comment_blog'); ?>'); 
      jQuery("#show_comments<?php echo $blog -> blog_id; ?>").each(function(value) { 
       jQuery(this).hide(); 
      }); 
     </script> 
     <?php endforeach; ?> 
    </div> 

</div> 

+0

Stellen Sie Ihre Blog-Ansicht Code für mehr verstehen Sie Ihren Code –

+0

Code-Zünder akzeptieren nur $ Daten Variable, um eine Variable in Sicht zu erstellen. – Ali

+0

Ich aktualisierte die Frage bitte überprüfen –

Antwort

0

In load_comments Methode müssen Sie mithilfe Modell, um die Daten aus der Datenbank holen.

+0

Ich habe aber den gleichen Fehler, es gibt eine Lösung, aber ich möchte nicht auf die Lösung gehen, um andere 2 Funktionen und alle ihre Variablen in der load_comments aufzurufen, aber ich möchte dieses Problem ohne die anderen beiden Funktionen lösen –

Verwandte Themen