不确定URL如何在php网站构建

Unsure how URL is constructed in php website

本文关键字:php 网站 构建 URL 不确定      更新时间:2023-09-26

在我的页面上有一个html表,有3列,每一列都包含一个像这样的表单

<form id="filter" method="get" action="advanced_search_result.php">
<input type="hidden" value="Aurum" name="keywords">
<select onchange="this.form.submit()" name="maxnumber">
<option value="">10</option>
<option selected="selected" value="25">25</option>
<option value="50">50</option>
</select>
</form>

下拉选择的结果是页面重新加载这样的url"advanced_search_result.php?keywords=Aurum&maxnumber=25",我的问题是....如何构造这些查询字符串参数?我已经查看了php文件,无法弄清楚。我要做的是在此操作发生时为url添加另一个参数

这绝对与php无关。您在表单上使用get方法,因此所有表单字段名称/值都作为查询参数填充到url中。

如果页面是用java、asp、ruby、perl甚至是普通的静态html构建的,就会发生这种情况。

这是HTTP协议的默认行为,它有4种可能的动作:得到, 文章, 删除。它不是执行动作的语言。

关于REST和使用HTTP协议最好的解释是这里。这篇维基百科文章还提供了更多关于使用HTTP可以执行的不同类型请求的信息。

它是创建该格式URL的协议。PHP,像所有现代web语言一样,有HTTP包装器方法,知道如何从URL表示中提取参数,例如$_GET数组,$_POST数组或$_REQUEST数组。

你应该知道的一件事 幂等性用简单的英语来说,这意味着为一个操作使用正确类型的请求,以允许浏览器以更有效的方式完成它的工作。您不使用POST来简单地显示数据库内容,也不使用GET来更新数据库。为什么?点击这里阅读更多内容。

幂等性解释

幂等方法和web应用

方法PUT和DELETE被定义为幂等的,这意味着多个相同的请求应该与单个请求具有相同的效果(注意,幂等是指请求完成后的系统状态,因此,尽管服务器采取的操作(例如删除记录)或它返回的响应代码在后续请求中可能不同,但每次系统状态都是相同的)。

方法GET, HEAD, OPTIONS和TRACE,被规定为安全的,也应该是幂等的,因为HTTP是一个无状态协议相反,POST方法不一定是幂等的,因此多次发送相同的POST请求可能会进一步影响状态或导致进一步的副作用(如金融事务)。

在某些情况下,这可能是需要的,但在其他情况下,这可能是由于意外,例如当用户没有意识到他们的操作将导致发送另一个请求,或者他们没有收到足够的反馈,他们的第一个请求是成功的。虽然web浏览器可能会显示警告对话框,警告用户在某些情况下,重新加载页面可能会重新提交POST请求,但通常由web应用程序来处理POST请求不应多次提交的情况。

请注意,方法是否幂等不是由协议或web服务器强制执行的。完全有可能编写一个web应用程序,其中(例如)数据库插入或其他非幂等操作由GET或其他请求触发。但是,如果用户代理认为重复相同的请求是安全的,而实际上并非如此,那么忽略这个建议可能会导致不良后果。

正如其他人所说,GET参数的构造与PHP无关。

除此之外,如果您想添加一个新的参数,只需添加一个新的输入到表单:

<input type="text" name="param_name" value="the_value" />