【问题标题】:How to save data and print form at one click in php?如何在php中一键保存数据和打印表单?
【发布时间】:2017-12-06 22:42:14
【问题描述】:

我正在处理发票,我必须将表单的数据保存在数据库中,同时它应该被打印。所以,我有 3 页:invoice.php、invoice_print.php 和 insert_data.php

invoice_print.php 是一个应该打印的 html 表单。

现在,用户将转到第一个 invoice.php,然后填写详细信息,然后单击提交按钮将数据保存在数据库中,否则他将单击打印按钮打印该发票。

现在,让我们进入第二部分:如果用户将选择打印按钮,那么数据将首先进入数据库,然后它会进入 invoice_print.php 与他填写的相同数据。

如何做到这一点?我应该使用什么逻辑来保存数据并在按钮中捕获该数据的 id,然后将该 id 发送到另一个页面上显示?

invoice.php:

<form id="demo-form2"  action="insert_data.php" method="post" data-parsley-validate class="form-horizontal form-label-left">
<div class="col-md-12 form-group">
  <div class="col-md-6">
    <label class="control-label">Location</label>
  </div>
  <div class="col-md-6">                                  
    <input class="form-control" type="text" value="" name="designation">  
  </div>                         
</div>        
<div class="col-md-12 form-group">
  <div class="col-md-6">
    <label class="control-label">Address</label>
  </div>
  <div class="col-md-6">                                  
    <input class="form-control" type="text" value="" name="contact">  
  </div>                         
</div>
</form>

invoice_print.php:

<div class="col-md-12">
  <div class="col-md-6">
    <h2>DIGILIFE BIZCARE SOLUTIONS</h2>
    <p>414, Vashi Infotech Park,Maharashtra</p>
  </div>
  <div class="col-md-6">
    <h2>BILL OF SUPPLY</h2>
  </div>
</div>
<div class="col-md-12">
  <div class="col-md-6">
    <div class="col-md-12">
      <div class="col-md-6">
        <label>GSTIN</label>
        <input type="text" name="gstin" value="">
        <label>Serial No & Date of Invoice</label>
        <input type="text" name="serialNo">
      </div>
      <div class="col-md-6">

      </div>        
    </div>  
  </div>
  <div class="col-md-6">
    <div class="col-md-12">
      <div class="col-md-6">
        <label>Mode of Transport</label><br>
        <label>Vehicle No</label><br>
        <label>Date & Time of Supply</label><br>
        <label>Place Of Supply</label>
      </div>
      <div class="col-md-6s">
        <input type="text" name="">
        <input type="text" name="">
        <input type="text" name="">
        <input type="text" name="">
      </div>
    </div>
  </div>
</div>
<div class="col-md-12 form-group">
  <div class="col-md-6">
    <label class="control-label">Location</label>
  </div>
  <div class="col-md-6">                                  
    <input class="form-control" type="text" value="" name="designation">  
  </div>                         
</div>        
<div class="col-md-12 form-group">
  <div class="col-md-6">
    <label class="control-label">Address</label>
  </div>
  <div class="col-md-6">                                  
    <input class="form-control" type="text" value="" name="contact">  
  </div>                         
</div>

【问题讨论】:

  • 您不需要分开 invoice_print.php 和 insert_data.php。将这两个文件放在一个文件中,例如我们将这个新文件称为 combine.php。如果用户单击提交按钮转到 combine.php 并保存,如果用户单击打印转到 combine.php 并保存然后显示发布的信息。

标签: php pdf printing


【解决方案1】:

我会将表单的所有代码放入一个文件中,结构如下:

<?php
$formDone=!empty($_POST['formDone']);
$printReq=!empty($_POST['printReq']);
if ($formDone)
{
    // perform validation
}
if ($formDone && $validationPassed)
{
    // write to database using $_POST data
}
if ($formDone && $databaseWriteSuccess && $printReq)
{
    // print using $_POST data
}
// end of PHP
?>
<form method="post" action="<?php echo $PHP_SELF ?>">
<fieldset>
    <input type="hidden" name="formDone" value="1" />
</fieldset>
    <!-- field forms -->
<input type="submit" value="Save to db" />
<input type="submit" name="printReq" value="Print Invoice" />
</form>

【讨论】:

  • 很高兴为您提供帮助 :)
猜你喜欢
  • 1970-01-01
  • 2018-09-25
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 2017-06-18
  • 1970-01-01
  • 2013-12-22
  • 1970-01-01
相关资源
最近更新 更多