我有一個頁面,當單擊一個鏈接(它必須保持鏈接,沒有JavaScript)時,被重定向到一個PHP腳本以執行接近即時的操作,並且然後發回到前一頁。停止頁面從重定向後在歷史記憶中
問題是,當用戶單擊後退按鈕時,頁面會返回到執行腳本前已加載的頁面,並且用戶必須點擊後退按鈕兩次,才能返回到發送頁面。
有什麼辦法可以阻止它嗎?這不是一個不錯的用戶體驗,必須點擊後退箭頭兩次,並且必須有一個(相對容易的)方法來阻止這種情況的發生。
任何幫助表示讚賞。
這是網址的網站 http://pla-za.tk/php-login/like.php
這是product_details.php代碼
<?php
////////////////database connection///////////////////////////////////////////
$con=mysqli_connect("*******","********","******","*********");
//////////////////////////////////////////////////////////////////////////////
$id=$_GET["id"];
$query=mysqli_query($con,"SELECT ilike FROM mothar WHERE product_id like $id");
if(mysqli_num_rows($query)>0){
$like_img="unlike.png";
}
else{
$like_img ="like.png";
}
///////////////////////////////like query//////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
$query=mysqli_query($con,"SELECT * FROM products WHERE id like $id");
echo "<table border='2'>
<tr>
<td>id</td>
<td>name</td>
<td>button</td>";
while($row = mysqli_fetch_array($query))
{
$product_id=$row['id'];
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['name']."</td>";
echo "<td><form action='test4.php' method='post' name'idnumber'><input type='submit' name='like' value='$product_id' style='background-image:url(http://pla-za.tk/php-login/images/$like_img); width:50px; height:35px; color:transparent; display:block; border:0px;'/></form></td>";
echo "</tr>";
}
echo "</table>";
$product_likes= mysqli_query($con,"SELECT likes FROM products WHERE id like $id");
while($rowlike=mysqli_fetch_array($product_likes))
{
$like =$rowlike['likes'];
}
?>
<?php echo "$like like this" ;
?>
這個代碼test4.php
<?php
$con=mysqli_connect("*********","********","********","********");
$like_submit= $_POST["like"];
$product_likes= mysqli_query($con,"SELECT likes FROM products WHERE id like $like_submit");
while($rowlike=mysqli_fetch_array($product_likes))
{
$like =$rowlike['likes'];
}
//////////////////////////check if user put like //////////////////////////////
$check_query= mysqli_query($con,"SELECT ilike FROM mothar WHERE product_id like $like_submit");
while($rowlike=mysqli_fetch_array($check_query))
{
$ilike =$rowlike["ilike"];
}
///////////////////////////////if else(like)//////////////////////////////////
if (mysqli_num_rows($check_query) >0){
//////////////////////////delete 1 like from products table/////////////////////
$add_like_to_products_table=mysqli_query($con,"UPDATE products SET likes= $like-1
WHERE id like $like_submit");
$delete_like_in_user_table =mysqli_query($con,"DELETE FROM mothar WHERE product_id like $like_submit");
}
else{
//////////////////////////add 1 like to products table//////////////////////////
$add_like_to_products_table=mysqli_query($con,"UPDATE products SET likes=$like+1
WHERE id like $like_submit");
$add_like_in_user_table =mysqli_query($con,"INSERT INTO mothar (product_id, ilike)
VALUES ($like_submit, 1)");
}
////////////////////////////////////
header("Location: http://pla-za.tk/php-login/product_details.php?id=1");
exit();
?>
看起來你需要一個AJAX調用 – stackErr
「然後發送回上一頁」。怎麼樣?提供代碼。 –
不是那個......我怎麼看php代碼呢?它應該在這個問題上。 –