form method = post and action = index.php?page = somepage

时间:2018-06-17 11:14:29

标签: html forms

我正在写一个小脚本在家庭服务器上运行,它将通过post处理表单数据,但是应该提交到带有get值的页面。即index.php文件接收$ _GET,用于设置加载的页面。

如果加载了页面index.php?page = form,那么应该出现一个表单,这样可以正常工作,但表单处理在同一页面上。

有一个这样的表格:

from file1 import file1_fun1

def deco(target):
    print("Decorator works")
    def wrapper():
        print("decoration start")
        result = target()
        print("decoration end")
    return wrapper

@deco
file1_fun1()  # ← it does not make sense.

会将数据发布到index.php吗?而不是index.php?page = form。

可以这样做吗?

1 个答案:

答案 0 :(得分:1)

上面的代码对我有用。如果我按回车键,我会到站点index.php?page = form。也许你的问题在其他地方。 这里有两个选项,其中一个对你有用......

这可能吗?

如果未设置$ _POST,则会显示表单,如果您提交表单,则可以处理数据。所以你不再需要get变量了。

<?php if (isset($_POST['email'])): ?>
  <!-- process the inputs -->
<?php else: ?>
<form action="index.php" method="post">
  <input type="text" name="email">
  <!-- Other form fields here -->
  <button type="submit">Submit</button>
</form>
<?php endif; ?>

如果您需要$ _GET变量,请尝试

<?php 
if ($_GET['page'] == 'form'):
  //process the inputs
else: ?>
<form action="index.php" method="GET">
  <input type="hidden" name="page" value="form">
  <input type="text" name="email">
  <!-- Other form fields here -->
  <button type="submit">Submit</button>
</form>
<?php endif; ?>