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();


    ?>
4

3 回答 3

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']}");
于 2012-12-29T20:19:50.293 回答
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']}");

但最好检查一下是否存在,然后插入或删除。

于 2012-12-29T20:14:23.267 回答
0

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

此外,移至 mysqli_ 或 PDO!:)

于 2012-12-29T20:11:17.017 回答