【问题标题】:Are HTML links that target a .php script basically forms?以 .php 脚本为目标的 HTML 链接基本上是形式吗?
【发布时间】:2016-01-26 14:16:19
【问题描述】:

通常,HTML 链接会将您转到另一个页面,即浏览器加载到不同的页面。例如,“寻求帮助”链接可以通过以下方式实现:

<a href="/questions/how-to-ask">asking help »</a>

但也有针对 php 文件的链接,例如

<a href="http://example.com/wp-admin/post.php?post=182&amp;action=edit" title="Edit this item">Edit</a>

这似乎是一种完全不同的动物,实际上看起来像一个表单,其中 post 和 action 值被上传到

的表单处理程序

http://example.com/wp-admin/post.php

是这样吗?当链接目标是 .php 文件时,您是否有效地实现了表单?

【问题讨论】:

  • 用很简单的话来说,它确实是一个处理来自url的请求的php文件,在“post.php”处,$_GET['post]将保存值182(post=182)依此类推,然后根据代码,根据请求做一些事情。
  • 不,它是完全一样的动物。 “当链接目标是 .php 文件时,您是否有效地实现了一个表单?” – 不,一点也不。在此示例中,恰好是某些 GET 参数也通过查询字符串传递。

标签: php html


【解决方案1】:

当链接目标是 .php 文件时,您是否有效地实现了表单?

不完全是。您正在从网络服务器请求资源,在您给出的示例中 (http://example.com/wp-admin/post.php),这个“资源”是一个 php 文件。许多网络服务器将消除文件扩展名,因为最终用户如何实现站点并不重要,只要他们可以访问http://example.com/wp-admin/post 的页面即可。有关 URL/URI 和文件扩展名的更多信息,请查看这个 SO 问题:How come some site urls do not include a file extension?

您的第二个示例 (http://example.com/wp-admin/post.php?post=182&amp;amp;action=edit) 在此基础上添加了一个小问题,即查询字符串。查询字符串是“URL 的一部分,其中包含不能方便地放入分层路径结构中的数据”(Wikipedia)。在这种情况下,查询字符串将两个参数传递给post.php 页面。第一个参数名为post,其值似乎是您要查看的帖子的ID。第二个参数是action,值是您希望对给定帖子执行的操作,vieweditdelete 是此参数的三个可能值。一旦服务器处理了这个请求,它就会返回一个页面,允许您编辑 ID 为 182 的帖子,或者可能是一个页面告诉您您无权编辑此帖子。

【讨论】:

    【解决方案2】:

    这两者都会导致 HTTP 获取请求。一个有变量,一个没有。

    <a href="/questions/how-to-ask">asking help »</a>
    
    <a href="http://example.com/wp-admin/post.php?post=182&amp;action=edit" title="Edit this item">Edit</a>
    

    两者都可以创建为带有 method="GET" 的表单。不同之处在于它具有硬编码参数,例如 action="edit" 和 title="Edit this Item"。如果您以表单形式执行此操作,则可以允许用户更改标题等参数。大多数网站的任何重要信息都希望以表单形式填写并使用 method="POST" 属性,以便信息更安全一些。对表单帖子使用 HTTP Get 允许 URL 注入。

    http://example.com/wp-admin/post.php?post=183&amp;action="Approved";title="This Item approved"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-22
      • 2011-04-24
      • 2017-07-30
      • 1970-01-01
      • 2011-08-08
      • 2010-09-23
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多