【发布时间】:2021-04-04 00:41:07
【问题描述】:
这是场景:
用户 A: 访问网站并选择问卷。问卷在同一域的不同页面上分开,例如:
首页:“surveys.com”
问卷调查:
-
“surveys.com/type1”
-
“surveys.com/type2”
选择一个后,他(用户A)输入以下信息:
1 = 收件人的电子邮件
2 =他的电子邮件
然后提交。
用户 B:收到此问卷链接 (surveys.com/type1) 的人。
我要做的是:当用户B访问问卷页面的链接时,它已经被编程为向用户A发送回复strong> 谁在主页上留下了他的电子邮件。
我的想法是将用户A提供的信息保存在变量中,并保存在数据库中。当用户B访问页面时,我从数据库中获取相应的信息并在页面上使用它来做我想做的事情。
问题是:我如何区分不同用户的信息? (也许很简单,但我不知道怎么做)
这就是我到目前为止所做的:
首页:
<?php
include_once 'includes/dbh.php';
require 'email/PHPMailerAutoload.php';
$recipient = $_POST['emailFor'];
$sender = $_POST['senderEmail'];
$message = $_POST['message'];
$sql = "INSERT INTO users(email, body) VALUES('$sender', '$message');";
mysqli_query($conn, $sql;)
问卷调查页面 (survey.com/type1):
<?php
include_once 'includes/dbh.php';
$sql = "SELECT * FROM users;";
$result = mysqli_query($conn, $sql);
?>
我认为不可能使用会话,因为需要将信息传递给其他用户。我还考虑过创建 uniq 链接的可能性,但我不知道该怎么做。无论如何,如果你能提供代码示例,我将不胜感激。
【问题讨论】:
-
旁注:不要使用字符串插值或连接将值获取到 SQL 查询中。这很容易出错,并且可能使您的程序容易受到 SQL 注入攻击。使用参数化查询。见"How to include a PHP variable inside a MySQL statement" 和"How can I prevent SQL injection in PHP?"。