如何在PHP中设计搜索和更新功能(并在页面之间传递数据)?
这个问题以前可能被问过,但我找不到答案。我为可能再次提出问题提前道歉 在PHP中设计搜索和更新功能的合适方法是什么?搜索符合用户条件的记录,选择特定记录,并更新该记录上的数据 这是一个基于用户帐户的系统(因此用户注册并创建帐户)。MySQL是后端的数据库。用户可以创建内容、搜索内容、编辑自己的内容和删除自己的内容 我看到有三页: 第1页。搜索页面-在此页面上,用户将输入他们正在搜索的内容 当用户激活“搜索”按钮时,表单将进行一些处理,以确保输入有效/所有字段都已填写,等等 第2页。结果页面-在此页面上,将显示搜索条件的结果 每个结果旁边都有一个按钮或超链接,允许用户编辑内容 第3页。编辑页面-在此页面上,将显示所选记录,用户可以编辑内容,例如更改注释、更改值等 我认为这3页的格式是相当标准的。我不知道什么是从一页到另一页传递数据的适当方式,以及如何以及何时执行SQL SELECT语句 在第1页,用户点击“搜索”,表单进行一些验证,如果所有内容都通过了验证,那么搜索条件应该通过URL传递到第2页?这样合适吗 在第2页上,执行SQL SELECT搜索满足输入条件的行。将显示与输入条件匹配的行。用户选择一条记录并激活超链接。超链接是否通过URL将所选记录的记录id传递到第3页?这样合适吗 然后在第3页上,执行另一个SQL选择,这次是针对所选的特定记录。这样合适吗 总结如下: 1) 通过URL将查询条件从搜索页面传递到结果页面是否合适 2) 通过URL将要编辑的记录的记录id从结果页面传递到编辑页面是否合适 3) 在此过程中是否可以执行2次SQL选择:在结果页面上执行1次SQL选择以选择与搜索条件匹配的所有记录,在编辑页面上执行1次SQL选择以显示要编辑的记录的属性 我知道有“一百万种不同的方式”通过计算机程序来完成任务。这是我喜欢的计算机编程和设计的一个方面——程序员解决问题的创造力。也就是说,我上面列出的方法(设计模式)合适吗?这种设计模式是否存在严重缺陷?有没有公认的“更好的方法”可以做到这一点如何在PHP中设计搜索和更新功能(并在页面之间传递数据)?,php,sql,design-patterns,select,Php,Sql,Design Patterns,Select,这个问题以前可能被问过,但我找不到答案。我为可能再次提出问题提前道歉 在PHP中设计搜索和更新功能的合适方法是什么?搜索符合用户条件的记录,选择特定记录,并更新该记录上的数据 这是一个基于用户帐户的系统(因此用户注册并创建帐户)。MySQL是后端的数据库。用户可以创建内容、搜索内容、编辑自己的内容和删除自己的内容 我看到有三页: 第1页。搜索页面-在此页面上,用户将输入他们正在搜索的内容 当用户激活“搜索”按钮时,表单将进行一些处理,以确保输入有效/所有字段都已填写,等等 第2页。结果页面-在此
感谢阅读。无论您做什么,只要确保您从未,曾经,曾经在查询字符串中传递SQL查询!!您将容易受到最简单的注射攻击 请阅读以下答案: 谷歌机器人会找到你的页面。想要查看这样做的页面(查询字符串中的查询?)。请看这里:
我觉得你建议的设计不错。您可以通过URL传递查询,只需确保在每个页面上检查用户是否具有访问该页面的权限。另一种方法是,您可以通过带有“post”方法的html表单传递查询和记录id,这样您传递的内容就不会显示在URL中-谢谢您的回复。这是一个“我不知道我不知道的东西”的例子:-)你能详细介绍一下你使用“post”方法的想法吗?在第2页,我如何使用“post”来了解搜索条件是什么?在第3页,我如何使用“post”来知道要搜索的记录?在第1页,您可以构建一个html表单,使用类似
的东西将数据发布到第2页。您熟悉html表单吗?在第2页,表单传递的所有数据都可以在$\u POST
arrayHi Brian中读取-感谢您的回复。是的,我熟悉w html表单。你的建议很有道理。在转到第2页之前,是否有任何方法对第1页上的输入执行验证?我最初的想法是对第1页的输入进行验证。如果输入失败,请停留在第1页,直到输入“通过”。然后转到第2页。有两种方法可以验证(您可能希望同时使用这两种方法)。当用户提交表单时,可以使用javascript验证表单,除非表单有效,否则不提交表单。然后在第2页上,您可以用php验证它,如果它无效,将它们重定向回第1页,并显示错误消息good point,您不应该传递查询,但您可以传递用户正在搜索的各个参数。但是整个问题应该是毫无疑问的。很抱歉造成混乱。我没有说得那么清楚。我不会传递查询,但我会传递查询的参数(例如?text=牛排和餐食=晚餐)。