首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$variable = $_POST['variable'].$_GET['variable'];这可以接受吗?

$variable = $_POST['variable'].$_GET['variable'];这可以接受吗?
EN

Stack Overflow用户
提问于 2013-06-17 16:55:34
回答 2查看 1K关注 0票数 2

输入表格

代码语言:javascript
复制
<form action="<?php echo (htmlspecialchars($_SERVER["PHP_SELF"] .'?page=1')) ?>" method="post">

<input type='text' name='date_month' value='<?php echo $_POST['date_month'].$_GET['date_month']?>'>

</form>

然后接收输入

代码语言:javascript
复制
$post_date_month = $_POST['date_month'].$_GET['date_month'];

基于输入选择/从mysql获得过滤数据

由于可能有很多行数据,所以创建了分页。像这样

代码语言:javascript
复制
for ($page_i = 1; $page_i <= $total_pages; $page_i++) {
echo "<a href='__filter_mysql_data.php?page=$page_i&date_month=$post_date_month&date_year=$post_date_year'>| $page_i |</a> ";
}

Note!如果在url中我不使用&date_month=$post_date_month,那么当用户单击页面编号$page_i时,脚本将显示来自mysql的所有数据(不是基于$post_date_month;不仅仅是用户选择的月份,而是所有月份,因为在页面重新加载$_POST['date_month']“消失”之后)。

这是我唯一的解决方案(已经找到了几个有分页类的例子,但是这些例子对我来说非常复杂,所以不能在合理的时间内为我的需要提供支持)。所以决定创造一些简单的东西。

脚本的工作原理是必要的,只是这个$post_date_month = $_POST['date_month'].$_GET['date_month'];看起来有点“疯狂”。因此,问题是:代码是否可以接受(可以在脚本中使用)?使用相同的查询(单击),用户可以设置/传递$_POST或$_GET,而永远不会两者兼而有之。

更新

根据汉奇·潘奇的建议(不幸被删除)

$post_date_month = $_POST['date_month'].$_GET['date_month'];

$post_date_month = $_REQUEST['date_month'];

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-17 17:07:43

您可以这样构建表单,但是当您使用POST提交表单时,该特定变量将完全存储在$_POST['date_month']中。

在您的示例中,当您提交表单时,您只会在page中找到GET变量(假设$_SERVER["PHP_SELF"]中没有查询字符串)。

所以你只需要用:

代码语言:javascript
复制
$post_date_month = $_POST['date_month'];

但是,如果希望用户只以一种方式提供月份(postget),则最好使用如下(为清晰起见而写出)的内容:

代码语言:javascript
复制
if (isset($_POST['date_month']))
{
  $post_date_month = $_POST['date_month'];
}
elseif (isset($_GET['date_month']))
{
  $post_date_month = $_GET['date_month'];
}
else
{
  // no month given, so for example:
  $post_date_month = '';
}
票数 1
EN

Stack Overflow用户

发布于 2013-06-17 17:00:18

代码有点奇怪,但我认为它是可以接受的。请注意不要将未转义的$_POST ang $_GET变量传递给查询,因为它可以是since的向量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17152838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档