【问题标题】:html post form action not specifically spell out php file?html 后表单动作没有专门拼出 php 文件?
【发布时间】:2010-12-10 00:18:20
【问题描述】:

我有一个 post html 表单,action 是 index.php,这是网站的主页。我实际上在地址栏中从来没有 index.php,因为指向“/”的链接会转到它,即使我这样做了,它也会是 website.com/home(/),因为我使用了重写规则。所以基本上,用户不应该看到 index.php。但是,如果操作不是特别是 index.php,则表单提交不起作用,“/”不起作用,即使它解析为 index.php。关于如何解决这个问题的任何想法?

【问题讨论】:

  • mod_rewrite 对于 POST 与 GET 请求的行为不应有所不同,但我不确定我是否理解您的设置。例如,索引页是在“/”还是“/home/”?您是否尝试过使用“/home/”作为您的操作?

标签: php html forms post friendly-url


【解决方案1】:

不要指定操作。如果发布到他们所在的页面,则表单的默认操作是发布到该页面。

【讨论】:

  • 但是我需要转到 /sent,或者 index.php?page=sent.. 和当前页面!= 已发送,那我该怎么做呢?
  • 否,因为我希望地址栏显示 website.com/sent (它的重写规则实际上是 index.php?page=sent),但我才意识到我不需要这个.在 index.php 中,我不会检查 page=sent,而是检查 post 变量(来自、主题、正文)是否存在。
  • 您应该始终在表单元素上指定一个操作。 w3c 规范根据需要列出了它,因此此解决方案使用一些礼貌(但非标准)的浏览器行为来工作。
猜你喜欢
  • 2020-08-09
  • 2010-10-13
  • 2014-09-10
  • 2020-07-17
  • 1970-01-01
  • 2014-08-20
  • 2014-07-19
  • 1970-01-01
  • 2018-05-25
相关资源
最近更新 更多