I have a booking form on my codeigniter website. when the user book i got an email, but the problem is that i am receiving 15 email on per booking. I got one email which has the user given information and rest are blank.
Here is my form:
<form method="post" action="<?php echo base_url();?>Booking/booking_mail/<?php echo $row['destination']; ?>/<?php echo $row['fare']; ?>" enctype="multipart/form-data">
<input name="txtname" type="text" class="form-control" required="required" />
<input name="textcel" type="textcel" class="form-control" required="required" />
<input name="txtemail" type="email" class="form-control" name="txtemail" required="required" />
<textarea name="txtmessage" rows="2" cols="20" id="txtmessage" class="form-control" name="txtmessage">
</textarea>
<input type="submit" name="btnsendmessage" value="Send Message" id="btnsendmessage" class="btn btn-primary" />
</form>
and here is my controller function:
function booking_mail(){
$txtname= $this->input->post('txtname');
$txtcel= $this->input->post('textcel');
$txtemail= $this->input->post('txtemail');
$txtmessage= $this->input->post('txtmessage');
$destination = $this->uri->segment(3);
$fare = $this->uri->segment(4);
$this->load->library('email');
$this->email->from('turkishairlines.com', $txtname);
$this->email->to('fantastictravelsuk@gmail.com');
$this->email->subject('Turkish Airline Booking Form');
$this->email->message(
'Name: '.$txtname.'
Cell No: '.$txtcel.'
Email: '.$txtemail.'
Message: '.$txtmessage.'
Destination: '.$destination.'
Fare: '.$fare.''
);
$this->email->send();
$this->load->view('thanks');
}
Please help me out.
Thanks
It seems like, when ever you hit page, this send you an email. To avoid this issue, you can check form is posted or not.
Example
function booking_mail()
{
if( isset($_POST['txtemail']) )
{
$txtname= $this->input->post('txtname');
$txtcel= $this->input->post('textcel');
$txtemail= $this->input->post('txtemail');
$txtmessage= $this->input->post('txtmessage');
$destination = $this->uri->segment(3);
$fare = $this->uri->segment(4);
$this->load->library('email');
$this->email->from('turkishairlines.com', $txtname);
$this->email->to('fantastictravelsuk@gmail.com');
$this->email->subject('Turkish Airline Booking Form');
$this->email->message(
'Name: '.$txtname.'
Cell No: '.$txtcel.'
Email: '.$txtemail.'
Message: '.$txtmessage.'
Destination: '.$destination.'
Fare: '.$fare.''
);
$this->email->send();
$this->load->view('thanks');
}
else
die('form is not posted');
}