在查询删除重定向到页面?

时间:2012-12-29 20:07:52

标签: php mysql redirect

我正在使用此脚本在第一次点击按钮时将用户添加到收藏夹,然后在第二次点击时将用户从收藏夹中删除。

将用户添加到收藏夹/当查询运行“插入”时,它将在完成后重定向回上一页,但如果您再次单击以从联系人中取消添加用户,则不会重定向,你只是在一个显示数字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();


    ?>

3 个答案:

答案 0 :(得分:0)

我建议不要使用die()。您应该创建一个函数来检查用户收藏是否已经存在,并相应地创建或删除并重定向。

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

答案 1 :(得分: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']}");

但是最好检查重新存在,然后插入或删除。

答案 2 :(得分:0)

您可能想要编写一个函数来检查用户是否是收藏夹,然后调用相应的MySQL查询,而不是使用die()。例如,您可以尝试使用此代码,必要时添加一些额外的检查和安全性:

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']}");