Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单击链接到sql进程后重定向用户?_Php_Redirect - Fatal编程技术网

Php 单击链接到sql进程后重定向用户?

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

我有一个名为favorite的用户档案链接。其他用户可以单击此按钮,该用户将被添加到他们的收藏夹列表中

链接favorite转到favorites.php,其中的代码处理查询:

<?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或PDO

HTTP\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”)