如何在使用ajax重定向url时获取id url


How to get id url when using ajax redirect url

我有一个问题。。。我有这3个文件:

home.php

<?php include_once('db_includes/db_conx.php'); ?>
<?php          
$sql = "SELECT * FROM posts";
$query = mysqli_query($db_conx, $sql);
while($post = mysqli_fetch_array($query)) {
        $titlos = $post['titlos'];
        $eikona = $post['eikona'];
        $keimeno = $post['keimeno'];
        $author = $post['author'];
        $postdate = $post['postdate'];
        $postid = $post['postid'];
       echo '<div class="posts_container">
                <div class="post_container">
                    <div class="bg_title_posts_container">
                        <h1><a href="#">'.$titlos.'</a></h1>
                    </div>
                    <div class="bg_main_posts_container">
                        <div class="post_img">
                            <img src="images/'.$eikona.'.jpg"> <!-- b -->
                        </div>
                        <div class="post_text">
                            <p>'.$keimeno.'</p>
                        </div>
                    </div>
                    <div class="posts_footer">
                        <div class="posts_footer_content">Posted by&nbsp;<p>'.$author.'</p></div>
                        <div class="posts_footer_content">on '.$postdate.'</div> <!-- Nov - 18 - 2013 -->
                        <div class="posts_footer_content">10 Comments</div>
                        <div class="posts_footer_content pst_foot_cont_helper">***<a href="postreadmore.php?id='.$postid.'">***Read more&nbsp;<span>>></span></a></div>
                    </div>
                </div>
            </div>';
}
?>

postreadmore.php

<?php include_once('db_includes/db_conx.php'); ?>
<!-- HEADER -->
<?php include_once('static_temps/header.php'); ?>
<!-- END HEADER -->
<?php
***$idpost = $_GET['id'];***
$sql = "SELECT * FROM posts WHERE postid = '$idpost'"; var_dump($sql);
$query = mysqli_query($db_conx, $sql);
$post = mysqli_fetch_array($query);
        $titlos = $post['titlos'];
        $eikona = $post['eikona'];
        $keimeno = $post['keimeno'];
?>
            <div class="posts_container">
                <div class="post_container">
                    <div class="bg_title_posts_container">
                        <h1><a href="#"><?php echo $titlos ?></a></h1>
                    </div>
                    <div class="bg_main_posts_container bg_main_posts_container_readmore">
                        <div class="post_text post_text_readmmore post_text_static_height_readmore">
                            <p>
                                <span class="post_img_readmore"><img src="images/<?php echo $post['eikona']; ?>.jpg"></span>
                                <?php echo $post['keimeno']; ?>
                            </p>
                        </div>
                    </div>
                </div>
            </div>
            <div class="comment_container">
                <div class="comments_sum">
                    10 Comments
                </div>
                <div class="as"> 
                <?php   
                $sql = "SELECT * FROM comments WHERE postid = '$idpost'";
                $query = mysqli_query($db_conx, $sql);
                while($post = mysqli_fetch_array($query)) {
                    $authorcom = $post['com_auth'];
                    $comment = $post['com_body'];
                    $datetimecom = $post['com_date'];
                    //for ($post=0; $post < count($post); $post++){
        echo    '<div class="comments">
                    <div class="author">
                        <span>'.$authorcom.'</span> says:
                    </div>
                    <div class="when_com_posted">
                        '.$datetimecom.' <!-- December 11, 2010 at 7:18 AM -->
                    </div>
                    <div class="comment_body">
                        '.$comment.'    
                    </div>
                </div>';
                } //}
            ?>
            </div>
            </div>


            <div class="leave_com_title">
                Leave a comment
            </div>
            <div class="sent_comment">
                <div class="com">
                </div>
                <div class="comment-block">
                </div>
                <form id="form" class="ajax" accept-charset="utf-8" name="form_comment" method="post">
                    <input type="hidden" name="comid" value="1">
                    <label id="labelfname" for="first_name">
                        Name:<span>*</span>
                    </label>
                    <input id="first_name" type="text" name="first_name" size="20" value="" type="text" required>
                    <label id="labelemail" for="email">
                        Email:<span>*</span>
                    </label>
                    <input id="email" type="email" name="email" size="20" value="" type="text" required>
                    <label id="labelcomment" for="comments">
                        Comments:<span>*</span>
                    </label>
                    <textarea id="comments" name="comments" value="" cols="40" rows="6" required></textarea>
                    <!--<button class="submit_button black" type="submit" name="Submit">
                        Submit
                    </button>-->
                    <input class="submit_button black" id="submit" type="submit" value="Submit" />
                    <button class="reset_button black" type="reset" name="reset">
                        Reset
                    </button>
                </form>
            </div>
                <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
               <script>
$(document).ready(function(){
var form = $('form');
var submit = $('#submit');
form.on('submit', function(e) {
// prevent default action
e.preventDefault();
// send ajax request
$.ajax({
  url: 'ajax.php',
  type: 'POST',
  cache: false,
  data: form.serialize(), //form serizlize data
  beforeSend: function(){
    // change submit button value text and disabled it
    submit.val('Submitting...').attr('disabled', 'disabled');
  },
  success: function(data){
    var item = $(data).hide().fadeIn(800);
    $('.as').append(item);
    // reset form and button
    form.trigger('reset');
    submit.val('Submit').removeAttr('disabled');
  },
  error: function(e){
    alert(e);
  }
});
});
});
</script>

和ajax.php

<?php
// code will run if request through ajax
if (isset( $_SERVER['HTTP_X_REQUESTED_WITH'] )):
  include('db_includes/db_conx.php');
  // connecting to db

  if (!empty($_POST['first_name']) && !empty($_POST['email']) && !empty($_POST['comments']) && !empty($_POST['comid'])) {
    // preventing sql injection
    $name = mysqli_real_escape_string($db_conx,$_POST['first_name']);
    $mail = mysqli_real_escape_string($db_conx,$_POST['email']);
    $comment = mysqli_real_escape_string($db_conx,$_POST['comments']);
    $postId = mysqli_real_escape_string($db_conx,$_POST['comid']);
    // insert new comment into comment table
                 ***$idpost = $_GET['id'];***
                    $sql22 = "SELECT * FROM posts WHERE postid = '$idpost'";
                    $query22 = mysqli_query($db_conx, $sql22);
                    while($post22 = mysqli_fetch_array($query22)) {
                                $postid22= $post22['postid']; 
                    }
                     $sql9="INSERT INTO comments     (com_id,postid,com_auth,com_body,com_date)
                    VALUES
                ('','','".$name."','".$comment."',now())";
                $query9 = mysqli_query($db_conx, $sql9);  
    $sql15 = "SELECT * FROM comments";
$query15 = mysqli_query($db_conx, $sql15);
while($post15 = mysqli_fetch_array($query15)) {
            $postid15 = $post15['com_id'];
}
                           $sql4="INSERT INTO allinfocom (allinfocom_id,allinfocom_auth,allinfocom_email,allinfocom_body,com_id,allinfocom_date)
                    VALUES
                ('','".$name."','".$mail."','".$comment."','".$postid15."',now())";
                $query4 = mysqli_query($db_conx, $sql4);  
        } ?>

我的问题是,在ajax.php中,我把这个代码$idpost=$_GET['id'];我想从home.php中获取url id,并说未声明。。。问题是,在postreadmore.php中,它运行得非常完美。。。但我想要它,而且在ajax.php中……我知道问题是ajax.php从jquery脚本调用,无法获取id……我想问是否有我不知道的方法可以获取id。。。我已经搜索过了,但没有找到类似的东西!我放了一些带3个星号的零件,尽可能地让它更容易。。抱歉所有这些代码!提前感谢!

您可以使用会话变量设置ID,而在Ajax页面上只需取消设置会话变量。