以这个简单的形式为例:
<form method="post" action="reports.php">
<input type="text" name="name">
<input type="text" name="email_address">
<input type="submit" value="Submit">
我希望它将输入字段数据发送到reports.php
页面,但我希望它在用户点击uploads.php
按钮时将用户定向到页面"Submit"
。
在header("Location: uploads.php")
页面上使用reports.php
不是一个选项,因为reports.php
会将表单数据收集到一个表中供所有人查看。在uploads.php
页面中,用户将上传在reports.php
表格中也可见的文件。
我该怎么做?
答案 0 :(得分:0)
您可以检查reports.php
的请求中使用的方法是否为POST
,并重定向用户。
<?php
# reports.php
if($_SERVER['REQUEST_METHOD'] === 'POST') {
// process the data
header("Location: ...");
exit;
}
或者您只需创建一个add_report.php
文件。
答案 1 :(得分:0)
您可以在表单提交上添加&#34;&#34;使用javascript进行活动。
单击提交按钮时 - 使用javascript收集表单数据并在必要时发送。当ajax工作时 - 用javascript将用户重定向到所需的页面。
一个完整的例子就像是:
for html
<form method="post" id="my_form">
<input type="text" name="name">
<input type="text" name="email_address">
<input type="submit" value="Submit">
for javascript
<script>
$(function(){
$('#my_form').on('submit', function(e){
e.preventDefault();
var url = 'reports.php?' + $(this).serialize();
$.get(url, function(){
window.location.href = 'uploads.php';
});
})
})
</script>
可在此处找到更多信息: https://api.jquery.com/serialize/
答案 2 :(得分:0)
您需要重构代码。
听起来你的用例是:
单独列出&#34;添加到报告&#34;将代码编入函数(或函数)并将它们放入自己的文件中。
然后在报告和上传中包含该文件。
将上传表单提交上传,然后调用&#34;添加到报告&#34;功能
在报告中做类似的事情。