Php 单击链接到sql进程后重定向用户?
我有一个名为favorite的用户档案链接。其他用户可以单击此按钮,该用户将被添加到他们的收藏夹列表中 链接favorite转到favorites.php,其中的代码处理查询:Php 单击链接到sql进程后重定向用户?,php,redirect,Php,Redirect,我有一个名为favorite的用户档案链接。其他用户可以单击此按钮,该用户将被添加到他们的收藏夹列表中 链接favorite转到favorites.php,其中的代码处理查询: <?php require_once('includes/session.php'); require_once('includes/functions.php'); require('includes/_config/connection.php'); session_start(); conf
<?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'];
$result = mysql_query("INSERT INTO ptb_favorites (user_id, favorite_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")")
or die(mysql_error());
header("Location: profile.php" . $_SERVER['HTTP_REFERRER']);
?>
因此,一旦这个过程完成,我的目标是获取标题,将用户带回profile.php(上一页),同时使用$\u SERVER['HTTP\u referer']调用用户id
因此,如果用户id为16,它会将他们重定向回profile.php?id=16
相反,它只是重定向到profile.php,不包含该概要文件的id
有人能告诉我是否有办法做到这一点,如果我的方法是正确的,为什么它不起作用
谢谢我想您正在寻找:
header("Location: profile.php?id=" . $_SESSION['user_id']);
p、 你的代码是不安全的。阅读SQL注入。切换到MySQLi或PDOHTTP\u REFERER不是这样写的,它是HTTP\u REFERER(1r)。 它包含用户来自so头的页面(“Location:profile.php”。$\u SERVER['HTTP\u referer'])不应该工作。 您应该:
header("Location:" . $_SERVER['HTTP_REFERRER']);
但是HTTP_Referer不太可靠,您应该使用:
header("Location: profile.php?id=" . $user_to_id);
您应该将最后一个选项更改为您的网站如何构建链接,我们刚刚从您的示例中假设了这一点
另外,您正在设置变量$user\u id=$\u GET['to'],但您正在使用$user\u to\u id插入数据库中
此外,您的代码很容易被破解,请不要这样使用,请查看PDO或Mysqli函数。我相信很多人会在一秒钟内插话,但该代码非常不安全,这就是SQL注入!这会不会像登录用户的配置文件那样返回到用户自己的配置文件?我的意思是,我想让登录的用户返回到他们所使用的用户配置文件的配置文件?那么
$user\u to\u id
是否包含该信息?如果是,那么使用该标题(“Location:profile.php?id=“.user\u to\u id”)是的,是的,谢谢你,我刚才有点傻。现在有没有一种方法可以添加一个echo,以便像这样延续到上一页:header(“Location:profile.php?id=“.user\u to\u id['user\u id']”。“added=1”);然后在profile.php页面上有这样的语句吗?一定很喜欢说明书上的拼写错误。