[英]redirect user after clicking link to sql process?
我在一个名为“收藏夹”的用户个人资料上有一个链接。 另一个用户可以单击此按钮,该用户将被添加到其收藏夹列表中。
链接收藏夹转至favorite.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(上一页),同时使用$ _SERVER ['HTTP_REFERRER']调用用户ID。
因此,如果用户ID为16,则会将其重定向回profile.php?id = 16
相反,它仅重定向到profile.php,不包含该配置文件的ID。
有人可以告诉我是否有办法做到这一点,如果我的方式还可以,为什么它不起作用?
谢谢
我认为您正在寻找:
header("Location: profile.php?id=" . $_SESSION['user_id']);
ps您的代码不安全。 了解有关SQL注入的信息。 切换到MySQLi或PDO
HTTP_REFERRER不是这样写的,它是HTTP_REFERER(1 R)。 它包含用户来自的页面,因此header(“ Location:profile.php”。$ _SERVER ['HTTP_REFERRER'])不起作用。 您应该这样做:
header("Location:" . $_SERVER['HTTP_REFERRER']);
但是HTTP_REFERRER不是很可靠,您应该使用:
header("Location: profile.php?id=" . $user_to_id);
您应该将最后一个选项更改为您的网站如何构建链接,我们只是从您的示例中假设了这一点。
另外,您正在设置变量$ user_id = $ _GET ['to'],但是您正在使用$ user_to_id插入数据库。
另外,您的代码很容易被破解,请不要那样使用,请查看PDO或Mysqli函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.