Я хочу отправить blog_id на страницу, которая называется Ajax.Как я могу это сделать? - PullRequest
0 голосов
/ 18 февраля 2019

$Blog_id = $_REQUEST['blog']; Это $Blog_id, которое я получил через $_REQUEST.Теперь я хочу отправить это $Blog_id на другую страницу для запроса через Ajax.

Это простая форма для Commenting System

<form class="leave-comment" method="post" id="form1">
    h4 class="m-text25 p-b-14">
    Leave a Comment
    </h4>                           
    <div class="bo12 of-hidden size19 m-b-20">
        <input class="sizefull s-text7 p-l-18 p-r-18 user-name" type="text" name="name" id="name" placeholder="Name *">
    </div>
    <textarea class="dis-block s-text7 size18 bo12 p-l-18 p-r-18 p-t-13 m-b-20" name="comment" placeholder="Your Comment Here..." id="comment"></textarea>
    <div class="w-size24">
        <!-- Button -->
        <button class="flex-c-m size1 bg1 bo-rad-20 hov1 s-text1 trans-0-4 posted" id="post_comment" onclick='load_comment()'>
            Post Comment
        </button>
    </div>
</form>

Это функция load_comment(), котораяЯ использовал для отправки запроса на страницу comments.php.

function load_comment() {
        $.ajax({
            url: "Ajax/comments.php",
            method: "POST",
            success: function(data) {
                $('#records_content').html(data);
            },

        });
    }

И это страница comments.php, на которой я хочу получить $Blog_id.

$displayquery = "SELECT * FROM `comments` where blog_id = '$Blog_id'"; 
    $result = mysqli_query($conn,$displayquery);
    while ($row = mysqli_fetch_array($result)) {
        $output .='
        <div class="col-sm-10">
                <div class="col-sm-1">
                    <img src="admin/pages/Ajax/images/blog/3.png" class="img-circle img-responsive" width="40" height="40" alt="">
                </div>
                <div class="col-sm-8"  style="margin-left:5px; margin-top:5px;">
                    <b>'.$row['user_name'].'</b>
                    <small style="margin-left:10px;">'.$formatted_date = date('j M Y', strtotime($row['comment_date'])).'</small>
                    <p>'.$row['user_comment'].'</p>
                    <br><br><br>
                </div>                        
        </div>                        
    ';  
}

но в запросе выдает ошибку undefined variable $Blog_id

 $displayquery = "SELECT * FROM `comments` where blog_id = '$Blog_id'";

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Вы не передаете идентификатор блога в параметре запроса ajax, поэтому вам нужно передать идентификатор блога в свой ajax.

function load_comment() {
        var blogid= "<?php echo $Blog_id; ?>";
        $.ajax({
            url: "Ajax/comments.php",
            method: "POST",
            data: {blog_id: blogid}, // pass here your blog id 
            success: function(data) {
                $('#records_content').html(data);
            },

        });
    }

и получить его в своем comments.php

$Blog_id=$_POST['blog_id'];
0 голосов
/ 18 февраля 2019

Проблема в том, что вы не отправляете blog_id из ajax-запроса

<?php $Blog_id = $_REQUEST['blog']; ?>
function load_comment() {
  var blog_id = "<?php echo $Blog_id; ?>";
  $.ajax({
      url: 'Ajax/comments.php',
      dataType: 'json',
      method: 'post',
      data: {'blog_id':blog_id},
      success: function( data, textStatus, jQxhr ){
          console.log(data);
      },
      error: function( jqXhr, textStatus, errorThrown ){
          console.log( errorThrown );
      }
  });
}

comments.php - Никогда не доверяйте пользовательскому вводу, всегда избегайте ввода перед запросом базы данных (проверьте SQL-инъекцию для получения дополнительной информации)

$Blog_id = mysqli_escape_string(htmlentities(trim($_POST['blog_id'])));
$displayquery = "SELECT * FROM `comments` where blog_id = '$Blog_id'";
    $result = mysqli_query($conn,$displayquery);
    while ($row = mysqli_fetch_array($result)) {
        $output .='
        <div class="col-sm-10">
                <div class="col-sm-1">
                    <img src="admin/pages/Ajax/images/blog/3.png" class="img-circle img-responsive" width="40" height="40" alt="">
                </div>
                <div class="col-sm-8"  style="margin-left:5px; margin-top:5px;">
                    <b>'.$row['user_name'].'</b>
                    <small style="margin-left:10px;">'.$formatted_date = date('j M Y', strtotime($row['comment_date'])).'</small>
                    <p>'.$row['user_comment'].'</p>
                    <br><br><br>
                </div>
        </div>
    ';
}
0 голосов
/ 18 февраля 2019
$displayquery = "SELECT * FROM `comments` where blog_id = '".$Blog_id."'";

вам нужно объединить переменную в запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...