Jump to content

failed form submission with filled data and success message in different division tags


Recommended Posts

I am adding line items in my invoice script, while adding i validate the data. if validation fails, it will display error message with entered data filled in the form. If it clears the validation, data gets submitted to database and displays the same . Here i can add many line items, so this process should keep repeating.

Everything is working fine. But when the form submits it should display error in one place and display the submitted data in other place.

Here is my form

 

<form action="" method="post">
                                        <div class="form-row">
                                            <div class="col-md-4 mb-30">
                                                <label for="validationDefault01">Select Customer</label>
                                            <select name="customer" class="form-control" id="validationDefault01" required>
                                            <option value=""></option>
                                            <?php $c1 = mysqli_query($con, "SELECT * FROM customers WHERE status='Active'") or die (mysqli_error($con));
                                            while($c2 = mysqli_fetch_array($c1))
                                            {
                                                ?>
                                           
                                            <option value="<?php echo $c2["cid"]; ?>" <?php if($c2["cid"] == $_POST['customer'] ) { echo "selected"; }  ?> ><?php echo $c2["name"]; ?></option>
                                            <?php } ?>
                                            </select>    
                                            </div>

 
  <div class="col-md-4 mb-30">
  <label for="validationDefault02">Date</label>
 <input type="text" class="form-control" name="edate" id="datepicker" value="<?php echo isset($_POST["edate"]) ? $_POST["edate"] : $today; ?>" required />  
  </div>
  </div>                               
<!-- line item -->                               
                               <div class="table-responsive">
                             <table class="table table-active table-bordered table-sm">
                             <thead class="thead-active">

                              <tr>
                             <th>Name</th>
                            <th>Description</th>
                            <th>UOM</th>    
                            <th>Price</th>
                            <th>Stock</th>
                            <th>Qty</th>  
                            </tr>
                           </thead> 
                            <tr> 
  <td><input type="text"  id="productname" name="productname" value="<?php echo isset($_POST["productname"]) ? $_POST["productname"] : ''; ?>" required ></td> 
                               <input type="hidden"  id="productcode" name="productcode" value="<?php echo isset($_POST["productcode"]) ? $_POST["productcode"] : ''; ?>"  />
                                <td><textarea id="description" name="description"><?php echo isset($_POST["description"]) ? $_POST["description"] : ''; ?></textarea></td>
                                
                           
                                <td><select name="uom" id="uom">
                               
                                <?php $su1 = mysqli_query($con, "select * from uom");  while($su2 = mysqli_fetch_array($su1)) { 
                   
                                ?>
                                <option value="<?php echo $su2["uom_name"]; ?>" <?php if($su2["uom_name"] == $_POST['uom'] ) { echo "selected"; }  ?> ><?php echo $su2["uom_name"]; ?></option>
                                
                                <?php
                                }  
                                ?>
                                </select>
                               
                               </td> 
                               
                             <td><input type="text" required id="price" name="price"   value="<?php echo isset($_POST["price"]) ? $_POST["price"] : ''; ?>" /></td>
                             
              <td><input type="text" readonly id="stock" name="stock" value="<?php echo isset($_POST["stock"]) ? $_POST["stock"] : ''; ?>" /></td>            
                    
                   <td><input type="text"  required id="quantity" name="quantity" value="<?php echo isset($_POST["quantity"]) ? $_POST["quantity"] : ''; ?>" /></td>  
                                                       
</tr>  </table> 

<!-- line item ends--->
 <div class="form-row">
<div class="col-md-4 mb-30">
 <input name="add" class="btn btn-success" type="submit" value="Add" />
</div>
</div>                                            
</form>

form submission

<?php
 if(isset($_POST['add']))
 {
   
   
$customer = $_POST['customer'];
$edate1 = $_POST['edate'];
$edate = date('Y-m-d', strtotime((str_replace('/','-',$edate1))));
	                                            
$pname = $_POST['productname'];
$pcode = $_POST['productcode'];
$uom = $_POST['uom'];
$price = $_POST['price'];
$quantity = $_POST['quantity'];

$pc = mysqli_query($con, "SELECT min_price FROM items WHERE item_id=".$pcode."") or die (mysqli_error($con));
$prow = mysqli_fetch_array($pc);

   // This error part should be displayed inside <div id="error"></div> which is above the form 
if($price<$prow['min_price'])
{
echo  '<div class="alert alert-inv alert-inv-danger alert-wth-icon alert-dismissible fade show" role="alert">
                                        <span class="alert-icon-wrap"><i class="zmdi zmdi-bug"></i></span> Price should not be lesser than minimum price defined.
                                        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                            <span aria-hidden="true">×</span>
                                        </button>
                                    </div>';   
}
else
{
  //data gets inserted into invoice table and displays submited data in table format
  // this part should be displayed below the form inside <div id="success"></div>
  
  
}
                        }


Here i am not getting how to define that displays. 

 

 

 

How about posting an image of the page you get and then explain what is wrong and what you want. To me this sounds like an HTML question not a PHP question.

Edited by gw1500se
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.