0

Hi all,

According to my project, if a customer opens an account he should be able to deposit or withdraw cash. This is my table structure.

account_details (account_number, nic, full_name, name_with_initials, phone_number, address, gender, date_of_birth)
account (account_number, account_type, fd_period, account_balance, account_interest)
transaction (tran_id, transaction_type, from_account, to_account, transaction_amount, transaction_date)


I want following things to be done.

•When clicks on submit button, the name of the customer should be displayed with "transaction has completed successfully".
•If a customer wants to withdraw an amount more than the available amount his account a message should be displayed as " Insufficient balance"
•If the user entered an incorrect account number, a message should be displayed as "Invalid account number"

Since iam new to PHP, i seriously want some help from u guys...

Specially the transactions.php page needs to be changed according to above information

The 4 pages are as follows.

NOTE : An Accounts opening officer is responsible for the opening of accounts and a teller's duty to deposit or withdraw cash from/to accounts

open_account.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="datetimepicker_css.js">
  </script>  
<script LANGUAGE="JavaScript">
function fd_show(val){
if(val=="fd"){
   document.getElementById("fd_box").style.visibility = 'visible';
  }else{
   document.getElementById("fd_box").style.visibility = 'hidden';
  }
}
</script>
<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#apDiv1 {
   position:absolute;
   width:177px;
   height:55px;
   z-index:1;
   left: 12px;
   top: 171px;
}
-->
</style>
</head>
<body>
<h2><img src="../images/image 1.jpg" alt="" width="118" height="89" /> <img src="../images/logo-default.jpg" alt="" width="350" height="89" /> <img src="../images/image 2.jpg" alt="" width="100" height="89" /></h2>
<h2>&nbsp;</h2>
<h2>&nbsp;</h2>
<h2>Accounts Opening Form </h2>
<p>&nbsp;</p>
<?php if(isset($_POST['run'])){include_once "./handlers/account.php";} ?>
<form action="open_account.php" name="form1" method="post">
<input type="hidden" name="run" value="yes" />
  <fieldset>
  <legend class="cap">Customer details</legend>
  <table width="75%" border="0" cellspacing="0" cellpadding="5" align="center">
                 <tr>
                  <td>&nbsp;</td>
                  <td class="title02">&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                 </tr>
                                          
                 <tr height="30">
                  <td width="10%">&nbsp;</td>


                  <td width="25%" class="title02" align="left">NIC</td>
                  <td width="55%" class="attribute1" align="left"><label>
                    <input type="text" name="nic" id="textfield" />
                  </label></td>
                  <td width="10%">&nbsp;</td>
                 </tr>
                 <tr height="30">
                  <td>&nbsp;</td>
                        <td width="25%" class="title02" align="left">Full name</td>
                    <td width="55%" class="attribute1" align="left"><label>
              <input type="text" name="full_name" class="attribute1" />
              </label></td>
                  <td width="10%">&nbsp;</td>
                 </tr>
                 <tr height="30">
                  <td>&nbsp;</td>
                  <td class="title02" align="left">Name with initials</td>
                  <td class="attribute1" align="left"><input type="text" name="name_with_initials" class="attribute1" /></td>
                 </tr>
                   <tr height="30">
                  <td width="10%">&nbsp;</td>


                  <td width="25%" class="title02" align="left">Phone Number</td>
                  <td width="55%" class="attribute1" align="left"><label>
                  <input type="text" name="phone_number" class="attribute1" />
                  </label></td>
                  <td width="10%">&nbsp;</td>
                 </tr>
                       <tr height="30">
                  <td width="10%">&nbsp;</td>


                  <td width="25%" class="title02" align="left">Address</td>
                  <td width="55%" class="attribute1" align="left"><label>
                    <textarea name="address" id="textarea" cols="45" rows="5"></textarea>
                  </label></td>
                  <td width="10%">&nbsp;</td> 
    <tr height="30">
                        
                  <td>&nbsp;</td>
                  <td class="title02" align="left">Gender</td>
                  <td class="attribute1" align="left"><label>
                    <select name="gender" id="select">
                           <option selected="selected"></option>
                      <option value="male">Male</option>
                            <option value="female">Female</option>
                     </select>
                  </label></td>
    <tr height="30">
                  <td>&nbsp;</td>
                  <td class="title02" align="left">Date of birth</td>
                  <td class="attribute1" align="left"><input type="Text" id="demo3" name="date_of_birth" maxlength="25" size="25"/><img src="../images/cal.gif" onClick="javascript:NewCssCal('demo3','yyyyMMdd')" style="cursor:pointer"/>&nbsp;</td>
    </tr>
     
      
      <tr height="30">
        <td>&nbsp;</td>
        <td width="25%" class="title02" align="left">Account Type</td>
        <td width="55%" align="left" bgcolor="#FFFFFF" class="attribute1">
        <select name="account_type" onChange="fd_show(this.value)">
            <option selected="selected"></option>
            <option value="savings_investment">Savings Investment</option>
            <option value="shakthi" >Shakthi</option>
            <option value="surathal">Surathal</option>
            <option value="abhimani_plus">Abhimani Plus</option>
            <option value="yasasa">Yasasa Certificates</option>
            <option value="fd">Fixed Deposits</option>
          </select>&nbsp;</td>
     
      <tr height="30">
        <td colspan="4">
            <div id="fd_box" style="visibility: hidden;">
            <table width="100%" border="0" cellspacing="0" cellpadding="5" align="center">
            <tr height="30">
                   
            </tr>
            <tr height="30">
              <td width="10%">&nbsp;</td>
              <td width="25%" class="title02" align="left">FD period</td>
              <td width="55%" class="attribute1" align="left"><select name="fd_period">
                 <option selected="selected"></option>
                  <option value="< 1">less than 1 year</option>
                  <option value="1-3 years" >1-3 years</option>
                  <option value="> 3">more than 3 years</option>
                  <option value="il">immediate loan</option>
                </select></td>
              <td width="10%">&nbsp;</td>
            </tr>
            </table>
            </td>
      </tr>
  </table>
    <p align="center">&nbsp;</p>
    <p align="center">
      <input type="submit" onClick="return Validate();" name="submit" value="Submit" class="attribute1" />
      &nbsp;&nbsp;
      <input type="reset" name="reset" value="Reset" class="attribute1" />
      &nbsp;&nbsp;
      <label>
        <input type="submit" name="button2" id="button2" value="Help" />
      </label>
    </p>
  </fieldset>
  </td>
  <td width="5%">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="center">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><font color="red" size="1" ></font></td>
    <td>&nbsp;</td>
  </tr>
                  
              
                 
                      
  </table>
<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;</p>
  </fieldset>
</td>
            <td width="5%">&nbsp;</td>
         </tr>


           <tr>


             <td>&nbsp;</td>
             <td>&nbsp;</td>
             <td>&nbsp;</td>
  </tr>
           
           
           
           <tr>
             <td>&nbsp;</td>
             <td align="center">&nbsp;</td>
             <td>&nbsp;</td>
  </tr>
           <tr>
             <td>&nbsp;</td>
                            <td><font color=red size="1" ></font></td>
             <td>&nbsp;</td>
  </tr>
         </table>
    
</form>

<script language = "Javascript">
  
function Validate()
{
    if (document.form1.nic.value == '') 
    {
        alert('Please fill in nic!');
        return false;
    }
   if (document.form1.full_name.value == '') 
    {
        alert('Please fill in full name!');
        return false;
    }
    if (document.form1.name_with_initials.value == '') 
    {
       alert('Please fill in name with initials!');
       return false;
    }
   if (document.form1.phone_number.value == '') 
    {
        alert('Please fill in phone number!');
        return false;
    }
   if (document.form1.address.value == '') 
    {
        alert('Please fill in address!');
        return false;
    }
    if (document.form1.gender.value == '') 
    {
        alert('Please fill in gender!');
        return false;
    }
    if (document.form1.date_of_birth.value == '') 
    {
       alert('Please fill in date_of_birth!');
      return false;
    }
if (document.form1.account_type.value == '') 
    {
       alert('Please fill in type of account!');
      return false;
    }


    return true;
}
</script>
       
</body>
</html>

account.php

<form id="form1" name="form1" method="post" action="">
  <label>
  <input type="submit" name="button" id="button" value="Home" />
  </label>
</form>
<p>&nbsp;  </p>
<p>
  <?php
$connect=mysql_connect('localhost','root','');
mysql_select_db('bank',$connect);
//Create Array
$info = array(
           'nic' => $_POST["nic"],
           'full_name' => $_POST["full_name"],
           'name_with_initials' => $_POST["name_with_initials"],
           'phone_number' => $_POST["phone_number"],
           'address' => $_POST["address"],
           'gender' => $_POST["gender"],
           'date_of_birth' => $_POST["date_of_birth"],
		   'account_type' => $_POST["account_type"],
		   'fd_period' => $_POST["fd_period"]
                    
           );
 //Prepare the Insert Query
$insert_query = "INSERT INTO account_details (
               nic,
               full_name,
               name_with_initials,
               phone_number,
               address,
               gender,               
               date_of_birth
               ) 
               VALUES
               (
               '$info[nic]', 
               '$info[full_name]', 
               '$info[name_with_initials]', 
               '$info[phone_number]', 
               '$info[address]', 
               '$info[gender]', 
			   '$info[date_of_birth]'
               
               )";
//Run a switch on the chosen type of account
if($info['account_type'] == "abhimani_plus") {
      if($info['gender']!="female") {
         //Show error messages here
         echo "You do not meet the critera required to open this account.";exit;
      }
   }
 //Account Creation Here
$r = mysql_query($insert_query);
if($r) {
 echo "A new account with number ".mysql_insert_id()." has been created successfully.";die();
}
?>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

cash_transactions.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="datetimepicker_css.js">
  </script>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#apDiv1 {
	position:absolute;
	width:507px;
	height:57px;
	z-index:1;
	left: 218px;
	top: 595px;
}
body,td,th {
	font-size: 18px;
	color: #000;
	font-weight: bold;
}
h1 {
	color: #CCC;
}
#apDiv2 {
	position:absolute;
	width:223px;
	height:49px;
	z-index:2;
	left: 10px;
	top: 244px;
	color: #F00;
}
-->
</style>
</head>

<body text="#FF0000">
<p><img src="../images/image 1.jpg" width="118" height="89" />
  <img src="../images/logo-default.jpg" width="350" height="89" />
<img src="../images/image 2.jpg" width="100" height="89" /></p>
<p>&nbsp;</p>
<form id="form2" name="form2" method="post" action="logout.php">
  <label>
    <input type="submit" name="button4" id="button4" value="Logout" />
  </label>
</form>
<p>&nbsp; </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Cash Deposits / Withdrawals</h2>
<p>&nbsp;</p>
<form name="form1" method="post" action="transactions.php" >
	
    
 			  
  <fieldset>
  <legend class="cap">Transaction details</legend>
  <p class="cap">&nbsp;</p>
  <table width="75%" border="0" cellspacing="0" cellpadding="5" align="center">
					  
                                          
					  <tr height="30">
						<td width="10%">&nbsp;</td>

						<td width="25%" class="title02" align="left">Account Number</td>
						<td width="55%" class="attribute1" align="left"><label>
						  <input type="text" name="account_number" id="textfield" />
						</label></td>
						<td width="10%">&nbsp;</td>
					  </tr>
					  
<tr height="30">
						<td>&nbsp;</td>
						<td class="title02" align="left">Transaction Type</td>
						<td class="attribute1" align="left"><select name="transaction_type" id="select">
                          <option selected="selected"></option>
                          <option value="deposits">Deposits</option>
                          <option value="withdrawels">Withdrawels</option>
                                                                                                                                                </select></td>
    </tr>
				       <tr height="30">
						<td width="10%">&nbsp;</td>

						<td width="25%" class="title02" align="left">Transaction Amount</td>
						<td width="55%" class="attribute1" align="left"><label>
						<input type="text" name="transaction_amount" class="attribute1" />
						</label></td>
                        
                        
                        
						<td width="10%">&nbsp;</td>
					  </tr>
                      
                      <tr height="30">
						<td width="10%">&nbsp;</td>

						<td width="25%" class="title02" align="left">Transaction Date</td>
						<td width="55%" class="attribute1" align="left"><label>
						<input type="text" id="demo3" name="transaction_date" class="attribute1" />
						<img src="../images/cal.gif" onClick="javascript:NewCssCal('demo3','yyyyMMdd')" style="cursor:pointer"/></label></td>
                        
                        
                        
						<td width="10%">&nbsp;</td>
					  </tr>
                       <tr height="30">
						

						
					  
                      
  </table>
  
  <p align="center">
					   <input type="submit" name="submit" value="Submit" class="attribute1" onClick="return Validate();"/> 
                       &nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" name="reset" value="Reset" class="attribute1" />
					</p>
  </fieldset>
<script language = "Javascript">
  
function Validate()
{
    if (document.cash_deposit.textfield.value == '') 
    {
        alert('Please insert the cash amount!');
        return false;
    }
    if (document.cash_deposit.textfield2.value == '') 
    {
       alert('Please enter the account number !');
       return false;
    }
	
    return true;
}
</script>
<p>&nbsp; </p>
</body>
</html>

transactions.php

<?php

$connect=mysql_connect("localhost","root","");
mysql_select_db("bank",$connect) or die ("could not select database");

if(isset($_POST['submit'])){
      $query= "SELECT `full_name` FROM account_details WHERE `account_number`='".$_POST['account_number']."'";
      $result = mysql_query($query) or die(mysql_error());
      $row = mysql_fetch_assoc($result);
      if(mysql_num_rows($result)==1 and $row['account_balance']<$_POST['transaction_amount'] and strtolower($_POST['transaction_type'])=="withdrawal"){
          echo "Insufficient balance";
      }elseif(mysql_num_rows($result)==1){

      if(strtolower($_POST['transaction_type'])=="deposit"){
            $operator = "+";
      }else{
            $operator = "-";
      }
      $query= "UPDATE account SET `account_balance`=(`account_balance`".$operator.$_POST['transaction_amount'].") WHERE `account_number`='".$_POST[               'account_number']."'";
      mysql_query($query) or die(mysql_error());
   
      $query = "INSERT INTO  transaction (account_number, transaction_type, transaction_amount, transaction_date) VALUES('".$_POST[                'account_number']."','".$_POST['transaction_type']."','".$_POST['transaction_amount']."','".$_POST[ 'transaction_date']."')";
	  
mysql_query($query) or die(mysql_error());
            echo $row['full_name'].",<br> your transaction has been successfully processed on ";
      }else{
            echo "invalid account number";
      }
}
 
?>

Edited by heshanm: n/a

3
Contributors
6
Replies
7
Views
6 Years
Discussion Span
Last Post by diafol
0

Ohh man... Big code.
Try to minimize your question thread.
You will get more answers.Its bit tidy to read all your code.

0

Yeah, its my final year project of the university.

I want only the page transaction.php to be changed to match with above requirements. Others were posted for you'll reference.

0

I'm confused. If this is a FINAL YEAR uni project and you know very little php, how come your project is about php? I don't follow. Can't you pick a different project? Is it too late to learn the language in which you're supposed to be programming?

Edited by diafol: n/a

0

We had been learning whole lot of theory and when it comes to actual practical scenarios we struggle..

Now i cannot change the language and i have to do this with my own. I'm really appreciate if you can pls help me out...

0

We had been learning whole lot of theory and when it comes to actual practical scenarios...

So you haven't been doing any programming?

•When clicks on submit button, the name of the customer should be displayed with "transaction has completed successfully".
•If a customer wants to withdraw an amount more than the available amount his account a message should be displayed as " Insufficient balance"
•If the user entered an incorrect account number, a message should be displayed as "Invalid account number"

1. The name of the customer should be saved in a session variable when the customer logs in. So that info, you should already have. //THINKING - tell me you've got a login procedure for this!

2. This can be done in several ways, perhaps the easiest is get balance from DB via query, compare that with amount requested. If amount requested is greater than balance, tell to go away, otherwise run transaction.

3. This takes the number from the form and checks it against the DB for the person (username). if no records returned, either he's a dirty stinking liar or he entered the wrong code by mistake. Otherwise show the statement/transaction form.


THe above 3 bits can be coded in about 10 lines of code. You should be able to do that - if you've done 3 years of theory.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.