一个表单和两个动作和两个提交在PHP中

在用户可以selectdate和时间的项目上进行select,然后select其中一个收音机。 之后,selectPDF或Excel生成首选格式。 在这里输入图像说明

问题是表单,如果按下了excel,我希望它能够执行generateExcel.php,如果按下了PDF,则需要generatePdf.php。 这是我到目前为止,还没有工作:

<form action='generatePdf.php' method='Post'/> Fra Dato: <input type="text" name="fraDato" value="<?php echo date('dm-Y'); ?>" /> Til Dato: <input type="text" name="tilDato" value="<?php echo date('dm-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> 

可以使用button上的HTML5 formaction属性来覆盖父表单的action属性。 见https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

 <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的答案肯定会适用于所有的浏览器,并且在一个文件中pipe理所有的表单处理代码会更容易。

我build议你把你的两个脚本放在同一个文件上,然后根据点击的button进行validation。

编辑:如果你的2个文件太大(或者你想保持他们分开的任何其他原因),你仍然可以使用include (或require – 更多信息的差异: “include”和“要求”之间的区别)。

原始文件:

 <form action='generate.php' method='Post'> <!-- removed the slash from the end here --> Fra Dato: <input type="text" name="fraDato" value="<?php echo date('dm-Y'); ?>" /> Til Dato: <input type="text" name="tilDato" value="<?php echo date('dm-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:

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

EDITED

另外,你可以在这个单独的文件上使用redirect( generate.php – 确保这个页面上没有其他东西):

 if (isset($_POST['pdf'])) { header('Location: generatePdf.php'); } if (isset($_POST['excel'])) { header('Location: generateExcel.php'); } 
Interesting Posts