2013-12-16 34 views
0

時,我有一個問題/問題得到ID網址...我有這3個文件:如何使用AJAX重定向URL

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的網址ID,並說未申報......事情是在postreadmore.php,這是完美的......但我想要它和在ajax.php ...我明白,問題是該ajax.php從jquery腳本調用,不能採取ID ...我想問是否有辦法採取它,我不知道...我已經搜查,但我還沒有找到任何類似的東西!我已經放了一些帶有3個星號的部分,以便儘可能簡化。對於所有這些代碼,請仔細閱讀!提前致謝!

+0

你可以追加數據到ajax中的數據嗎?或者你可以把url作爲ajax.php?id = 1 – Bhadra

+0

我試過ajax.php?id = 1,但我希望它動態獲取id。 –

回答

0

您可以使用會話變量設置ID,並在Ajax頁面上僅設置會話變量。