Firstly, your order email is only sent once the order has been stored in the database. When the order is placed in the order table, the db class returns the last order id entered. This means that as long as you are getting an order number, the order IS being saved.
So the first thing to check is that there is an order in the order table with the same id.
Next, the orders products are stored in the order_products table, with the same order id number. If these aren't stored, you would still see the order, just with no products. Check anyway, that you have items in the order_products table, relating to your order id.
I think your problem is probably due to an order_status problem. If you set the order status to a value, which doesn't exist in the order status table, then your order won't show in the admin section.
The best way to check this, is use PhpMyAdmin, and look at then orders table. Find the order you placed, and get the order_status number for that record. Next go to the order_status table, and find the order_status with the same id, as your order's status. So if you have an order with order status = 1, find the order_status_id = 1. If you use more than 1 language, make sure there is a record for each language.
If you don't find the order_status record in the table, then this is your problem. You need to change the default order_status, or the order_status for the payment method you are using.
Hope this helps,
Absolute
Back, after a 4 year absence! Did you miss me?
Absolute Web Solutions Ltd
Interested in our work? Take a look at one of our sites - The Tech Store