princeofpersia Posted January 13, 2011 Share Posted January 13, 2011 guys, in the code below (this is just a demonstration) i need to find out once a card payment has been done, the code changes the status of the order but it doesnt send email. can u please help me find out why? <?php session_start(); include ("includes/db.php"); include ("includes/function.php"); //authentication if (loggedin()==FALSE) { Header("Location: login.php"); exit(); } //username session $_SESSION['username']=='$username'; $username=$_SESSION['username']; echo "Welcome, " .$_SESSION['username']."!<p>"; //get user id $getdetails=mysql_query("SELECT * FROM users WHERE username='$username'"); while($row = mysql_fetch_array($getdetails)) { $users_id=$row['id']; $email=$row['email']; } $getdetails=mysql_query("SELECT * FROM booking WHERE users_id='$users_id' AND status='pending'"); $totaloforders=mysql_num_rows($getdetails); while($row = mysql_fetch_array($getdetails)) { $users_id=$row['id']; $bookedtime=$row['time']; $bookeddate=$row['date']; $bookedseat=$row['seat_no']; echo " <td>Swinging For Seat: $bookedseat on $bookeddate at $bookedtime</td><br/> "; echo "</table>"; } //get the firstname $myfirstname=$_SESSION ['firstname']; //get the lastname $mylastname=$_SESSION ['lastname']; //get the email $myemail=$_SESSION ['email']; //get the seat number $myseatnumber=$_SESSION ['seatnumber']; //get the booking time $mytime=$_SESSION ['time']; //get the booking date $mybookingdate=$_SESSION ['datetime']; //get the ride id $ride=$_SESSION ['ride']; //get the bookings $select=mysql_query("SELECT * FROM booking WHERE users_id='$users_id'"); while ($row=mysql_fetch_array($select)){ $id=$row['id']; $date=$row['$date']; $time=$row['time']; } /////////////////////////////////////////////////////////////////////////////////////////////// // Calculate the price plus VAT, VAT at current time is 20% of each service $price=mysql_query("SELECT price FROM ride_type WHERE id='$ride'"); while ($row=mysql_fetch_array($price)){ $rideprice=$row['price']; } $net=$totaloforders*$rideprice; $vat=$net*20/100; $finalprice=$net+$vat; ////////////////////////////////////////////////////////////////////////////////////////////// if ($_POST['pay']) { /** Validation */ $cardNo = addslashes(strip_tags($_POST['cardNo'])); $cc = addslashes(strip_tags($_POST['cc'])); $expire = addslashes(strip_tags($_POST['expire'])); if ($cardNo == "" ||$cc == "" || $expire == "" ) { echo "Please insert full credit card details"; } else { function luhnCheck($cardNo) { $cardNo = str_replace(" ", "", trim($cardNo)); if(!is_numeric($cardNo) or strlen($cardNo)>19) return false; $skip = $newNum = $total = 0; for($i=0;$i<=(strlen($cardNo)-1);$i++) { if($skip ==0) { $tmpNum = ($cardNo[$i]*2); $total += (strlen($tmpNum)==2 ? (substr($tmpNum, 0, 1)+substr($tmpNum, 1)) : $tmpNum); $skip = 1; }else{ $total += $cardNo[$i]; $skip = 0; } } return (($total % 10) == 0); } /* Example Usage */ if(luhnCheck) { $updatebooking=mysql_query("UPDATE booking SET status='completed' WHERE users_id='$users_id' AND date='$bookeddate' AND time='$bookedtime' AND status='pending'"); $select=mysql_query("SELECT * FROM booking WHERE ride_id='1' AND users_id='$users_id' AND seat_no='$bookedseat' AND status='completed'"); while($row=mysql_fetch_array($select)) { $donetime=$row['time']; $donedate=$row['date']; $doneseat=$row['seat_no']; } $to = $email; $subject = "Your Ticket"; $headers = "From: [email protected]"; $body = "Hello $username,\n\n <table> Please find the tickets you have booked. <td>Swinging For Seat: $doneseat on $donedate at $donetime</td> </table>"; } else { echo"There was an error updating your details"; } // echo("Valid Number."); //}else{ // echo("Invalid Number."); } } ?> <html> <head> </head> <body> <form name="confirm" method="post" action=""> <p> First Name:<br /> <input type="text" name='firstname' value="<? echo "$myfirstname";?>"> <p> Last Name:<br /> <input type="text" name='lastname' value="<? echo "$mylastname";?>"> <p> Email:<br /> <input type="text" name='email' value="<? echo "$myemail";?>"> <p> Net Price :<br /> <? echo "$rideprice"; ?> pounds<p> VAT :<br /> <? echo "$vat"; ?> pounds<p> Total :<br /> <? echo "$finalprice"; ?> pounds<p> Card No:<br/> <input type="text" name="cardNo"> <p>CCV:<br/> <input type="text" name="cc"> <p>Expiry Date<br/> <input type="text" name="expire" value="e.g 12/10"> <p> <input type="submit" name="pay" value="Pay Now"> </form> </body> Link to comment https://forums.phpfreaks.com/topic/224301-wont-send-email/ Share on other sites More sharing options...
princeofpersia Posted January 13, 2011 Author Share Posted January 13, 2011 anyone? Link to comment https://forums.phpfreaks.com/topic/224301-wont-send-email/#findComment-1158875 Share on other sites More sharing options...
dragon_sa Posted January 13, 2011 Share Posted January 13, 2011 you are missing the line that actually sends the email mail("$to","$subject","$headers","$body"); Link to comment https://forums.phpfreaks.com/topic/224301-wont-send-email/#findComment-1158880 Share on other sites More sharing options...
BlueSkyIS Posted January 13, 2011 Share Posted January 13, 2011 mail($to, $subject, $headers, $body); Link to comment https://forums.phpfreaks.com/topic/224301-wont-send-email/#findComment-1158916 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.