|
|
|
Code เหมือนกันเป๊ะ แต่เครื่องหนึ่ง insert ข้อมูลจากฐานข้อมูลได้ อีกเครื่องไม่ได้เพราะอะไร |
|
|
|
|
|
|
|
ใช้ appserv version 2.5.10 เหมือนกัน
เครื่องนึงเป็น windows 7 อีกเครื่องเป็น windows 8
ใช้ IE ในการรันเว่อร์ชั่นต่างกัน เครื่องหนึ่งเวอร์ชั่น 9 อีกเครื่อง 11
ใน ie เว่อร์ชั่น 11 เวลา insert ข้อมูลลงในฐานข้อมูลจะเข้าแค่ ตาราง customer จะไม่เข้าตาราง orders ทั้งๆที่ไฟล์ที่ทำการ insert เข้าตารางเป็นไฟล์เดียวกัน?
แต่ถ้าเว่อร์ชั่น 9 ข้อมูลจะเข้าทั้งสองตาราง อยากทราบว่าเพราะอะไรค่ะ เกี่ยวกับการตั้งค่า browser อะไรหรือป่าว มีแนวทางแก้ปัญหายังไงมั้งค่ะ ขอบคุณมากค่ะ
ฐานข้อมูล
ไฟล์ customer_info_ss
Code (PHP)
<?php session_start();
$dblink = mysql_connect("localhost", "root", "root");
mysql_query("USE shopping_cart;");
$msg = "";
$name = htmlspecialchars($_POST['name'], ENT_QUOTES);
$name = enc($name);
$address = htmlspecialchars($_POST['address'], ENT_QUOTES);
$address = enc($address);
$phone = htmlspecialchars($_POST['phone'], ENT_QUOTES);
$phone = enc($phone);
$email = htmlspecialchars($_POST['email'], ENT_QUOTES);
$pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$";
if(empty($name)) {
$msg = "ท่านยังไม่ได้ใส่ชื่อ";
}
else if(empty($address)) {
$msg = "ท่านยังไม่ได้ใส่ที่อยู่";
}
else if(empty($phone)) {
$msg = "ท่านยังไม่ได้ใส่เบอร์โทร";
}
else if(!eregi($pattern, $email)) {
$msg = "ท่านใส่ Email ไม่ถูกต้องตามรูปแบบ";
}
if($msg!="") {
header("content-type:text/plain; charset=tis-620");
echo $msg;
exit();
}
$payment = enc($_POST['payment']);
$sql = <<<SQL
INSERT INTO customer VALUES
('', '$name', '$address', '$phone', '$email', '$payment', NOW());
SQL;
mysql_query($sql);
$cust_id = mysql_insert_id();
$sid = session_id();
$sql = <<<SQL
SELECT * FROM cart
WHERE sid = '$sid';
SQL;
$result = mysql_query($sql);
while($cart = mysql_fetch_array($result)) {
$sql = <<<SQL
INSERT INTO orders VALUES(
'', $cust_id, {$cart['pid']}, {$cart['product_name']},
{$cart['price']}, {$cart['quantity']}
);
SQL;
mysql_query($sql);
}
$sql = <<<SQL
DELETE FROM cart
WHERE sid = '$sid';
SQL;
mysql_query($sql);
mysql_close($dblink);
header("content-type:text/javascript; charset=tis-620");
echo <<<JS
document.forms['frm'].style.display = 'none';
var msg = 'เราได้รับข้อมูลการสั่งซื้อของท่านแล้ว<br>หากท่านชำระเงินตามวิธีการที่ระบุแล้ว ';
msg += '<br>เราจะดำเนินการจัดส่งสินค้าให้ท่านทันที<p>ขอบพระคุณที่เลือกซื้อสินค้าจากเรา';
msg += '<p><a href="shopping_cart.php">กลับไปที่หน้าหลัก</a>';
document.getElementById('msg').innerHTML = msg;
JS;
?>
<?php
function enc($input) {
return iconv('utf-8', 'tis-620', $input);
}
?>
ไฟล์ customer_list
Code (PHP)
<html>
<head>
<script src="ajax_framework.js"> </script>
<script>
function viewCustomer(cid) {
open('view_order.php?cid=' + cid);
}
function deleteCustomer(cid) {
if(!confirm('Delete this customer?')) {
return;
}
var data = "cid=" + cid;
var URL = "delete_customer_ss.php";
ajaxLoad('post', URL, data, 'msg');
}
</script>
</head>
<body>
<?php
$dblink = mysql_connect("localhost", "root", "root");
mysql_query("USE shopping_cart;");
$sql = <<<SQL
SELECT *, DATE_FORMAT(order_date,'%d-%m-%Y') AS dt
FROM customer;
SQL;
$result = mysql_query($sql);
?>
<p>
<table width="600" border="1" cellpadding="3" style="border-collapse:collapse;">
<tr bgcolor="#eeeeff"><th width="50">ลำดับ</th><th width="250">ชื่อลูกค้า</th><th width="100">วันที่สั่งซื้อ</th><th>ดำเนินการ</th></tr>
<?php
$i = 0;
while($cust = mysql_fetch_array($result)) {
$i++;
echo <<<TBODY
<tr id="row_{$cust['custid']}" align="center" valign="top">
<td>$i</td><td align="left">{$cust['name']}</td><td>{$cust['dt']}</td>
<td><button onclick="viewCustomer({$cust['custid']})">รายละเอียด</button>
<button onclick="deleteCustomer({$cust['custid']})">ลบ</button>
</td>
</tr>
TBODY;
}
echo "</table>";
mysql_close($dblink);
?>
</body>
</html>
ไฟล์ view_order
Code (PHP)
<html>
<head>
</head>
<body>
<?php
if (isset($_GET['cid'])){ $cust_id = $_GET['cid']; echo "have";} else {$_GET['cid']=''; echo "NO";}
$cust_id = $_GET['cid'];
$dblink = mysql_connect("localhost", "root", "root");
mysql_query("USE shopping_cart;");
$sql = <<<SQL
SELECT * FROM customer
WHERE custid = $cust_id;
SQL;
$result = mysql_query($sql);
$cust = mysql_fetch_array($result);
if(!$result){ echo mysql_error(); }
echo <<<CUST
<div style="font:bold 20pt;">Ajax Shopping Cart</div>
<table>
<tr><td colspan=2> </td></tr>
<tr><td>ชื่อ:</td><td>{$cust['name']}</td></tr>
<tr><td>ที่อยู่:</td><td>{$cust['address']}</td></tr>
<tr><td>โทร:</td><td>{$cust['phone']}</td></tr>
<tr><td>อีเมล์:</td><td>{$cust['email']}</td></tr>
<tr><td>การชำระเงิน:</td><td>{$cust['payment']}</td></tr>
</table>
<p>
CUST;
$sql = <<<SQL
SELECT * FROM orders
WHERE custid = $cust_id;
SQL;
$result = mysql_query($sql);
?>
<p>
<table width="650" border="1" cellpadding="3" style="border-collapse:collapse;">
<tr bgcolor="#eeeeff"><th width="50">ลำดับ</th><th width="360">รายการ</th><th width="80">ราคา</th><th width="80">จำนวน</th><th width="80">รวม</th></tr>
<?php
$i = 0;
$gt = 0;
while($ord = mysql_fetch_array($result)) {
$st = $ord['price'] * $ord['quantity'];
$gt += $st;
$i++;
}if(!$result){ echo mysql_error(); }
echo <<<TBODY
<tr align="right" valign="top">
<td align=center>$i</td>
<td align="left">{$ord['product_name']}</td>
<td>{$ord['price']}</td>
<td>{$ord['quantity']}</td>
<td>$st</td>
</tr>
TBODY;
echo "<tr bgcolor=\"#eeeeff\" align=center><td colspan=2>รวมทั้งหมด</td><td colspan=3 align=right>$gt</td></tr>";
echo "</table>";
mysql_close($dblink);
?>
</body>
</html>
Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax
|
|
|
|
|
|
Date :
2014-11-27 11:09:01 |
By :
WarantornP |
View :
821 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
mysql_query($sql) or die(mysql_error());
อาจจะลอง debug ดูว่ามัน Error ตังแต่ขั้นตอนไหนครับ
|
|
|
|
|
Date :
2014-11-27 13:16:34 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากค่ะ หาเจอแล้วแค่ ลืมใส่ ' {$cart['product_name']} ' ในไฟล์ customer_info_ss
กับ ในไฟล์ view order ใส่ } ผิดที่ จิงๆต้องเป็น
Code (PHP)
<html>
<head>
</head>
<body>
<?php
$cust_id = $_GET['cid'];
$dblink = mysql_connect("localhost", "root", "root");
mysql_query("USE shopping_cart;");
$sql = <<<SQL
SELECT * FROM customer
WHERE custid = $cust_id;
SQL;
$result = mysql_query($sql);
$cust = mysql_fetch_array($result);
echo <<<CUST
<div style="font:bold 20pt;">Ajax Shopping Cart</div>
<table>
<tr><td colspan=2> </td></tr>
<tr><td>ชื่อ:</td><td>{$cust['name']}</td></tr>
<tr><td>ที่อยู่:</td><td>{$cust['address']}</td></tr>
<tr><td>โทร:</td><td>{$cust['phone']}</td></tr>
<tr><td>อีเมล์:</td><td>{$cust['email']}</td></tr>
<tr><td>การชำระเงิน:</td><td>{$cust['payment']}</td></tr>
</table>
<p>
CUST;
$sql = <<<SQL
SELECT * FROM orders
WHERE custid = $cust_id;
SQL;
$result = mysql_query($sql)or die(mysql_error());
?>
<p>
<table width="650" border="1" cellpadding="3" style="border-collapse:collapse;">
<tr bgcolor="#eeeeff"><th width="50">ลำดับ</th><th width="360">รายการ</th><th width="80">ราคา</th><th width="80">จำนวน</th><th width="80">รวม</th></tr>
<?php
$i = 0;
$gt = 0;
while($ord = mysql_fetch_array($result)) {
$st = $ord['price'] * $ord['quantity'];
$gt += $st;
$i++;
echo <<<TBODY
<tr align="right" valign="top">
<td align=center>$i</td>
<td align="left">{$ord['product_name']}</td>
<td>{$ord['price']}</td>
<td>{$ord['quantity']}</td>
<td>$st</td>
</tr>
TBODY;
}
echo "<tr bgcolor=\"#eeeeff\" align=center><td colspan=2>รวมทั้งหมด</td><td colspan=3 align=right>$gt</td></tr>";
echo "</table>";
mysql_close($dblink);
?>
</body>
</html>
|
|
|
|
|
Date :
2014-11-28 15:07:23 |
By :
WarantornP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|