首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中使用一个表单和两个操作以及两个提交

问在php中使用一个表单和两个操作以及两个提交
EN

Stack Overflow用户
提问于 2014-04-02 16:35:18
回答 2查看 2.2K关注 0票数 0

唤醒一个项目,用户可以从日期和日期选择,然后选择一个收音机按钮。之后,选择pdf或excel来生成to首选格式。

​

问题是表单,如果按下excel,我想要它执行generateExcel.php操作,如果按PDF,则执行generatePdf.php操作。这就是我已经走了这么远,但还没有工作:

代码语言:javascript
复制
<form action='generatePdf.php' method='Post'/>

Fra Dato: <input type="text" name="fraDato" value="<?php echo date('d-m-Y'); ?>" /> 
Til Dato: <input type="text" name="tilDato" value="<?php echo date('d-m-Y'); ?>"> <br> 
<input type="radio" name="hent" value="timesmaling">Times malinger<br>
<input type="radio" name="hent" value="tredjetimesmaling">Tredje times malinger <br>
<input type="radio" name="hent" value="oppgaver">Oppgaver <br>
<input type="radio" name="hent" value="dagvakt">Dagvakt <br>
<input type="radio" name="hent" value="kveldsvakt">Kveldsvakt <br>
<input type="radio" name="hent" value="kontrollcm">Kontroll CM <br>

<input type='submit' name='pdf' value='PDF'>

<form action='generateExcel.php' method='Post'/>
<input type='submit' name='excel' value='excel'>

</form>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-02 16:59:47

可以使用按钮上的HTML5 formaction属性覆盖父窗体的action属性。请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

代码语言:javascript
复制
<input type='submit' name='pdf' value='PDF' formaction='generatePdf.php'>
<input type='submit' name='excel' value='excel'  formaction='generateExcel.php'>

浏览器支持看起来相当不错:http://www.wufoo.com/html5/attributes/13-formaction.html

但是,webeno的答案肯定可以在所有浏览器中工作,并且可以更容易地在一个文件中管理所有表单处理代码。

票数 2
EN

Stack Overflow用户

发布于 2014-04-02 16:43:32

我建议您将两个脚本放在同一个文件中,并对已单击的按钮进行验证。

编辑:如果您的2个文件太大(或者您希望将它们分开,因为任何其他原因),您仍然可以使用include (或require -关于差异的更多信息:Difference between "include" and "require" in php)。

原始档案:

代码语言:javascript
复制
<form action='generate.php' method='Post'> <!-- removed the slash from the end here -->

Fra Dato: <input type="text" name="fraDato" value="<?php echo date('d-m-Y'); ?>" /> 
Til Dato: <input type="text" name="tilDato" value="<?php echo date('d-m-Y'); ?>"> <br> 
<input type="radio" name="hent" value="timesmaling">Times malinger<br>
<input type="radio" name="hent" value="tredjetimesmaling">Tredje times malinger <br>
<input type="radio" name="hent" value="oppgaver">Oppgaver <br>
<input type="radio" name="hent" value="dagvakt">Dagvakt <br>
<input type="radio" name="hent" value="kveldsvakt">Kveldsvakt <br>
<input type="radio" name="hent" value="kontrollcm">Kontroll CM <br>

<input type='submit' name='pdf' value='PDF'>
<input type='submit' name='excel' value='excel'>

</form>

generate.php:

代码语言:javascript
复制
if (isset($_POST['pdf'])) {
    include('generatePdf.php');
}

if (isset($_POST['excel'])) {        
    include('generateExcel.php');
}

编辑

或者,您只需对该单独的文件使用重定向(generate.php -确保此页面上没有其他内容):

代码语言:javascript
复制
if (isset($_POST['pdf'])) {
    header('Location: generatePdf.php');
}

if (isset($_POST['excel'])) {        
    header('Location: generateExcel.php');
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22817693

复制
相关文章

相似问题

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