Php 标题与表单操作

Php 标题与表单操作,php,http-headers,Php,Http Headers,我目前正在深入研究php和html,并正在研究一个简单的重定向,目的就是通过url显示数据库内容 我知道您可以通过两种方式生成URL,可能更多,但这两种方式正是我提出此问题的原因: php: html: 但现在我想知道“关于这两个选项的最佳实践是什么”。这只是一个个人的意见,你最喜欢什么,在某种情况下什么是最合适的方式,还是我忽略了其他什么 我不想在这里开始讨论,只是对“通常/常用”的内容感兴趣 提前谢谢 HTTP位置头和HTML表单实际上并不具有可比性 如果要在PHP执行期间创建重定向

我目前正在深入研究php和html,并正在研究一个简单的重定向,目的就是通过url显示数据库内容

我知道您可以通过两种方式生成URL,可能更多,但这两种方式正是我提出此问题的原因:

php:


html:


但现在我想知道“关于这两个选项的最佳实践是什么”。这只是一个个人的意见,你最喜欢什么,在某种情况下什么是最合适的方式,还是我忽略了其他什么

我不想在这里开始讨论,只是对“通常/常用”的内容感兴趣


提前谢谢

HTTP
位置
头和HTML表单实际上并不具有可比性

如果要在PHP执行期间创建重定向,则应使用标头。如果要将用户输入从客户端(浏览器)提交到服务器端,则应使用该表单

HTML锚定是在网页上提供链接的最佳方式:

<a href="example.php?parameter">Click</a>

HTTP
位置
标题和HTML表单实际上并不具有可比性

如果要在PHP执行期间创建重定向,则应使用标头。如果要将用户输入从客户端(浏览器)提交到服务器端,则应使用该表单

HTML锚定是在网页上提供链接的最佳方式:

<a href="example.php?parameter">Click</a>


在大多数情况下,您使用html表单或链接。header()主要用于在代码执行后(例如,成功登录后,或未被授权访问受限页面时)重定向用户。

在大多数情况下,您使用html表单或链接。header()主要用于在代码执行后(例如,成功登录后,或未被授权访问受限页面时)重定向用户。

这两段代码的作用完全不同,即使在某些情况下用户观察到的行为可能非常相似

这是服务器启动的重定向:

<?php
    header('Location: example.php?parameter');
?>

基本上,这是服务器告诉浏览器它应该浏览到另一个位置的方式。(浏览器可以忽略它,但实际上没有理由忽略它。)可以在响应中添加其他详细信息,以告知浏览器此重定向是临时的还是永久的,或者具有与此相关的其他条件。但最简单的说,这只是服务器在说“我这里没有任何东西给你,去那里获取你的信息。”

这是一个由客户发起的表单帖子:

<form action="example.php" method="post">

“客户发起”是指发布表单的实际操作来自浏览器。服务器可能会将该HTML标记提供给客户机,让其这样做,但客户机可以根据需要自由更改该标记。(不过没有理由这么做。)这里的要点是,这是一种客户端将数据发送到
example.php
的方法。它与重定向无关,只是将数据发送到服务器上的特定资源

服务器可以通过重定向、呈现页面或任何其他响应来响应该数据

这些可以以多种方式结合使用。假设您有
page1.php
page2.php
。在
page1
上有一个表单,提交该表单后,您希望用户看到
page2
。这就是用户观察到的结果可能无法区分的地方

page1
可以发布到
page2
page2
可以处理提交的数据,然后显示。或者
page1
可以发回
page1
,处理提交的数据,并重定向到
page2
。对最终用户来说,基本上没有区别。主要区别在于如何组织代码。当然,在这方面,个人偏好起了作用。但这并不是使用这两种工具的唯一情况。例如,您可能希望出于完全不同的原因将值提交到完全不同的页面,或者由于客户端完全不知道的某些服务器端原因而重定向页面请求


当您开发更复杂的web应用程序时,您会发现某些模式在某些情况下工作得很好,个人偏好将开始符合这些模式。最后,这些只是执行操作的工具(将客户端重定向到另一个位置,将数据发送到服务器),而您的总体模式和实践只是利用这些工具。

这两段代码做了根本不同的事情,即使在某些情况下用户观察到的行为可能非常相似

这是服务器启动的重定向:

<?php
    header('Location: example.php?parameter');
?>

基本上,这是服务器告诉浏览器它应该浏览到另一个位置的方式。(浏览器可以忽略它,但实际上没有理由忽略它。)可以在响应中添加其他详细信息,以告知浏览器此重定向是临时的还是永久的,或者具有与此相关的其他条件。但最简单的说,这只是服务器在说“我这里没有任何东西给你,去那里获取你的信息。”

这是一个由客户发起的表单帖子:

<form action="example.php" method="post">

“客户发起”是指发布表单的实际操作来自浏览器。服务器可能会将该HTML标记提供给客户机,让其这样做,但客户机可以根据需要自由更改该标记。(不过没有理由这么做。)这里的要点是,这是一种客户端将数据发送到
example.php
的方法。它与重定向无关,只是将数据发送到服务器上的特定资源

服务器可以通过重定向、呈现页面或任何其他响应来响应该数据

这些可以以多种方式结合使用。假设您有
page1.php
a