【问题标题】:Retrieve saved text from MySQL database从 MySQL 数据库中检索保存的文本
【发布时间】:2014-12-30 23:53:01
【问题描述】:

我有一个将文本保存到 MySQL 数据库的表单。用户无需注册即可保存该表单。我如何做到这一点,以便当有人提交表单时,它将显示他们在保存中键入的文本。我希望它能够检索他们当时提交的文本,并可能给它一个这样的链接:http://www.example.com/text115612(数字用于不同的文本......)并使检索到的文本显示在该页面上?

【问题讨论】:

  • @ThomasKilian 我不是在寻找 cookie。我正在寻找可以为它分配一个特殊 URL 的东西,用户以后可以在该 URL 中查看他们保存的文本。
  • 但是如果没有某种标识,您将如何将记录/网址与该特定用户联系起来?看来您需要保存 cookie 或 ip 地址。
  • @EternalHour 我可以为它分配一个 ID 吗?我的意思是 MySQL 已经为每一行分配了一个 ID。我可以使用它并能够检索该行中的信息吗?
  • 您当然可以分配一个 ID,但您不需要将它与特定用户关联吗?
  • @EternalHour 你是对的。我不需要将它与特定用户关联,因为可以匿名提交表单。如何在用户提交表单时使用已经分配的 ID 并为其赋予 URL?

标签: php html mysql database forms


【解决方案1】:

当用户提交文本时,您可以将文本与 ID 一起保存,在您的示例中为 text115612
提交后,服务器端脚本会将用户重定向到新创建的文本(服务器端,因为用户无法预测 ID 将是什么)。
如果您想让文本更加私密,您可以设置一个更难的 ID,这样人们就无法猜到它。

【讨论】:

  • 我知道每个表的id是自动分配的...如何检索MySQL数据库中每个表中的所有信息并分配一个特殊的URL来查看它们?
【解决方案2】:

您需要做的是检索文本并创建新文件 具有唯一名称

$userttext = $textfromdb  // get the user text
$file = fopen('text_file_name.txt','w') // open a new file
frwite($file,$textfromdb); // write to the file
fclose($file); // close the file




$link = "http://website.com/"."text_file_name.txt"; // create the website link

【讨论】:

  • 我不太明白你的回答。我正在尝试检索该行中的信息并能够使用特定地址(例如 example.com/row1)输出它。每一行都有自己的地址,就像第 1 行一样,它是 example.com/row1,它会在 MySQL 数据库的第 1 行中显示信息。
【解决方案3】:

当用户提交表单时,你会做这样的事情。

//insert your text//
INSERT INTO table_name (text) VALUES ('text');

//get the primary key that was just inserted//
//column must be auto-increment//
$textid = SELECT LAST_INSERT_ID();

//you can also do this directly in PHP//
$textid = $mysqli->insert_id;

echo "http://www.example.com/" . $textid;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-24
    • 2016-05-29
    • 1970-01-01
    • 2016-08-26
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    相关资源
    最近更新 更多