2012-12-29 71 views
0

我正在使用這個腳本在首次點擊一個按鈕時將用戶添加到收藏夾,然後在第二次點擊它將從收藏夾中刪除用戶。關於查詢刪除重定向到頁面?

當用戶添加到收藏夾/運行查詢時「插入」,它已經完成之後,它會回重定向到前一頁,但如果你再點擊第二次聯合國從它不會重定向收藏夾添加用戶,你只是在顯示數字1的空白頁面上。

任何人都可以建議我怎樣才能重新回到前一頁,當添加用戶到收藏夾?

另外我怎麼能得到它重定向回到上一頁,並顯示一條迴應消息說添加到收藏夾或從收藏夾中刪除?

我是新來的PHP和MySQL,仍在學習,所以我感謝任何幫助。謝謝。

<?php 

    require_once('includes/session.php'); 
    require_once('includes/functions.php'); 
    require('includes/_config/connection.php'); 

    session_start(); 

     confirm_logged_in(); 

     if (isset ($_GET['to'])) { 
     $user_to_id = $_GET['to']; 


    } 


    if (!isset($_GET['to'])) 
     exit('No user specified.'); 

    $user_id = $_GET['to']; 

    mysql_query("INSERT INTO ptb_favorites (user_id, favorite_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")") 
    or die(mysql_query("DELETE FROM ptb_favorites WHERE user_id = ".$_SESSION['user_id']." AND favorite_id = ".$user_to_id."")); header("Location: {$_SERVER['HTTP_REFERER']}"); 

    #Method to go to previous page 

    function goback() 

    { 

     header("Location: {$_SERVER['HTTP_REFERER']}"); 

     exit; 

    } 

    goback(); 


    ?> 
+0

哪裏是將用戶從收藏夾中刪除的代碼? – Amyth

回答

0

我不會建議使用die()這一點。您應該創建一個函數來檢查用戶最愛是否已經存在,並創建或刪除並重定向。

此外,移動到mysqli_或PDO! :)

+0

好的,謝謝我會做的,你也有任何想法,我怎麼可以在重定向之後在上一頁上回復消息? –

+0

我沒有關注 - 在剛剛重定向的頁面上發送消息*從*發送消息? – 2012-12-29 22:27:58

+0

沒有這麼說我在用戶的個人資料(profile.php)然後我點擊添加他們到收藏夾按鈕,這將我鏈接到favourite.php執行功能,然後重定向我回到profile.php,我然後要在profile.php頁面上回顯一條消息,說明將用戶添加到收藏夾。 –

0

替換行

or die(mysql_query("DELETE FROM ptb_favorites WHERE user_id = ".$_SESSION['user_id']." AND favorite_id = ".$user_to_id."")); header("Location: {$_SERVER['HTTP_REFERER']}"); 

or mysql_query("DELETE FROM ptb_favorites WHERE user_id = ".$_SESSION['user_id']." AND favorite_id = ".$user_to_id.""); header("Location: {$_SERVER['HTTP_REFERER']}"); 

但它會更好地檢查recird存及其然後可以插入或刪除。

+0

感謝這個作品很好,關於如何我可以在重定向後在前一頁上回顯消息的任何想法? –

0

與使用die()相比,您可能希望編寫一個函數來檢查用戶是否最喜歡,然後調用相應的MySQL查詢。例如,您可以嘗試使用此代碼,並根據需要添加一些額外的檢查和安全性:

function userIsFavorite($user_id, $favorite_id) { 
    $result = mysql_query("SELECT * FROM ptb_favorites WHERE user_id='$user_id' AND favorite_id='$favorite_id'"); 
    return (mysql_num_rows($result) > 0); 
} 

if (userIsFavorite($_SESSION['user_id'], $user_to_id)) { 
    mysql_query("DELETE FROM ptb_favorites WHERE user_id='".$_SESSION['user_id']."' AND favorite_id='".$user_to_id."'"); 
} else { 
    mysql_query("INSERT INTO ptb_favorites (user_id, favorite_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")"); 
} 

header("Location: {$_SERVER['HTTP_REFERER']}"); 
+0

我得到的代碼語法錯誤? –

+0

糟糕,我改了一行: mysql_query(「刪除從ptb_favorites WHERE user_id =」。$ _ SESSION ['user_id']。「AND favorite_id =」。$ user_to_id「」); 至: mysql_query(「DELETE FROM ptb_favorites WHERE user_id ='」。$ _ SESSION ['user_id']。''AND favorite_id ='「。$ user_to_id」'「); –

+0

我修復了另一個錯誤 - 抱歉,我目前沒有安裝php安裝程序進行測試。 –

相關問題