Ben noktaları / kredi kazanmak kullanıcılar giriş olduğu bir site içinde kurulum için bir "çıkış / düzen" sayfasını çalışıyorum. Onlar bu noktaları belli bir miktar kazanmak kez onlar daha sonra bir alışveriş sepeti gidip sadece bu noktaları ile ödeme yapabilirsiniz. (Para yok yani yok paypal / çıkış / kargo / vergi vb dahil olan, el değiştirir).
Ben Steve ve KMK ince sayesinde çalışıyor, bir 'alışveriş sepeti' sayfasını ve 'görünümü sepeti' sayfasını (görünüm Sepeti kodu this page üzerinde), ;) yaptık.
İki benim MySQL veritabanı üzerinde tablolar, 'emir' (sipariş id, kullanıcılar id, toplam ve zaman damgası vardır) ve 'order_contents' (sipariş içerikleri id, sipariş id, ürün kimliği, miktar ve fiyat) var. 'Toplam' fiyat 'ürün başına fiyat, toplam fiyat.
(Aşağıda kodu) submit_cart.php dosyası ile 'düzen' ve veritabanındaki 'order_contents' tablolarına görünümü sepeti sayfasından kullanıcının seçtiği (yani ürün, miktar vb) öğeleri almak için çalışıyorum ama düzgün çalışmıyor.
What does work on this code bunu yanı sıra users_id, / order_id siparişler tabloya yeni bir satır koyar olmasıdır.
Düzenin What doesn't work: toplam tutarı takılı almaz (veritabanı üzerinde '0 'olarak görüntülenir) ve (ucunda 1) ile ilk hata iletisi görüntüler.
Hiçbir şey (?) Bu noktada ben 'tarikat' tabloya ekleme çalışmıyor ya da bir şekilde Sepeti oturum değişkenleri arasında gidiş değildir çünkü öyle varsayarak yaşıyorum, ya 'order_contents' tabloya eklenir ama ben mutluyum alır düzeltilebilir ...
Birisi bir el ödünç ya da farklı bir yaklaşım hatırlatıyoruz eğer çekinmeyin! Teşekkürler!
<?php
$page_title = 'Order Confirmation';
include ('./includes/header.html');
if (!isset($_SESSION['users_id'])) {
// Start defining the URL.
$url = 'http://' . $_SERVER['HTTP_HOST']
. dirname($_SERVER['PHP_SELF']);
// Check for a trailing slash.
if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
$url = substr ($url, 0, -1); // Chop off the slash.
}
// Add the page.
$url .= '/login.php';
ob_end_clean(); // Delete the buffer.
header("Location: $url");
exit(); // Quit the script.
}
$users = $_SESSION['users_id']; // Temporary.
$total = 0; // Total cost of the order.
require_once ('/MySQL/database.php'); // Connect to the database.
@mysqli_autocommit ($dbc, FALSE);
$query = "INSERT INTO orders (users_id, total) VALUES
($users, $total)";
$result = @mysql_query($query);
if (@mysql_affected_rows($dbc) == 1) {
// Need the order ID.
$oid = @mysql_insert_id($dbc);
// Insert the specific order contents into the database.
$query = "INSERT INTO order_contents (order_id, products_id, quantity, price)
VALUES (";foreach ($_SESSION['cart'] as $pid =>$value) {
$query .= "$oid, $pid, {$value['quantity']}, {$value['price']})";
}
$query = substr($query, 0, -2); // Chop off last two characters.
$result = @mysql_query($query);
// Report on the success.
if (@mysql_affected_rows($dbc) == count($_SESSION['cart'])) { // Whohoo!
// Commit the transaction.
@mysqli_commit($dbc);
@mysql_close($dbc);
// Clear the cart.
unset($_SESSION['cart']);
// Message to the customer.
echo '<p>Thank you for your order.
It has been submitted for processing.</p>';
// Send emails and do whatever else.
} else { // Rollback and report the problem.
@mysqli_rollback($dbc);
@mysql_close($dbc);
echo '<p>Your order could not be processed due to a system error.
You will be contacted in order to have the problem fixed.
We apologize for the inconvenience 1.</p>';
// Send the order information to the administrator.
}
}
else { // Rollback and report the problem.
@mysqli_rollback($dbc);
@mysql_close($dbc);
echo '<p>Your order could not be processed due to a system error.
You will be contacted in order to have the problem fixed.
We apologize for the inconvenience 2.</p>';
// Send the order information to the administrator.
}
?>
</div></div>
<?php
include ('./includes/footer.html');
?>