รบกวนพี่ๆหน่อยครับ ผมมีคำถามหลายคำถาม รบกวนพี่ๆเข้ามาตอบทีครับ
ผมมีคำถามหลายข้อครับรบกวนช่วยตอบผมด้วยนะครับ
1.ผมทำหน้าแก้ไขข้อมูลสมาชิก แต่ว่า textbox ของ address เวลาแก้ไข มันไม่เปลี่ยนให้ครับ และลบข้อมูลเก่าออกด้วย แต่ช่องอื่นๆปกตินะครับ แก้ไขแล้วข้อมูลแสดงตรงกันปกติไม่มีปัญหา
editprofile.php
Code (PHP)
<?php
session_start();
if($_SESSION['Memid'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Memid'] == "=>1")
{
echo "This page for member only!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("orderdb");
$strSQL = "SELECT * FROM member WHERE Memid = '".$_SESSION['Memid']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<form name="form1" method="post" action="save_profile.php">
<br/> <font size="5"><strong>Edit Profile</strong></font> <br/><br/>
<center><table width="416" height="467" border="1" style="width: 400px">
<tbody>
<tr>
<td width="125" height="40" bgcolor="#333333"> MemberID</td>
<td width="180" bgcolor="#333333">
<?php echo $objResult["Memid"];?>
</td>
</tr>
<tr>
<td height="41" bgcolor="#333333"> Username</td>
<td bgcolor="#333333">
<?php echo $objResult["Username"];?>
</td>
</tr>
<tr>
<td height="48" bgcolor="#333333"> Password</td>
<td bgcolor="#333333"> <input name="txtPassword" type="Password" id="txtPassword" value="<?php echo $objResult["Password"];?>">
</td>
</tr>
<tr>
<td height="57" bgcolor="#333333"> Confirm Password</td>
<td bgcolor="#333333"> <input name="txtConPassword" type="Password" id="txtConPassword" value="<?php echo $objResult["Password"];?>">
</td>
</tr>
<tr>
<td height="41" bgcolor="#333333"> Name</td>
<td bgcolor="#333333"> <input name="txtName" type="text" id="txtName" value="<?php echo $objResult["Name"];?>"></td>
</tr>
<td height="41" bgcolor="#333333"> Address</td>
<td bgcolor="#333333"> <textarea name="txtAddress" value="<?php echo $objResult["Address"];?> "/></textarea></td>
</tr>
<tr>
<td height="41" bgcolor="#333333"> Tel</td>
<td bgcolor="#333333"> <input name="txtTel" type="text" id="txtTel" value="<?php echo $objResult["Tel"];?>"></td>
</tr>
<tr>
<td height="41" bgcolor="#333333"> Email</td>
<td bgcolor="#333333"> <input name="txtEmail" type="text" id="txtEmail" value="<?php echo $objResult["Email"];?>"></td>
</tr>
</table></center>
<br>
<input name="b2" value="Reset"type="Reset"/>
<input type="submit" name="Submit" value="Save">
</form>
save_profile.php
Code (PHP)
<?php
session_start();
if($_SESSION['Memid'] == "")
{
echo "Please Login!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("orderdb");
if($_POST["txtPassword"] != $_POST["txtConPassword"])
{
echo "Password not Match!";
exit();
}
$strSQL = "UPDATE member SET Password = '".trim($_POST['txtPassword'])."'
,Name = '".trim($_POST['txtName'])."',Tel = '".trim($_POST['txtTel'])."',Email = '".trim($_POST['txtEmail'])."',Address = '".trim($_POST['txAddress'])."' WHERE Memid = '".$_SESSION["Memid"]."' ";
$objQuery = mysql_query($strSQL);
?>
<? if($_SESSION["Memid"] == "=>1") ?>
<script>
alert("Save Completed");
window.location="profile.php";
</script>
2.ผมต้องการทำหน้าดูประวัติการซื้อขายของ user นั้นๆ ผมต้องแก้ไขโค๊ดตรงไหนครับ
orderuserview.php
Code (PHP)
<?php
session_start();
if($_SESSION['Memid'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Position'] != "user")
{
echo "This page for User only!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("orderdb");
$strSQL = "SELECT * FROM member WHERE Memid = '".$_SESSION['Memid']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<?
require("connect.php");
connectdb("orderdb");
$strSQL = "select orders.orderid as Orderid,Orderdate,product.Pid as Pid,Pname,Price,Qty,Total,Name,Status from member,orders,orderdetail,product where member.memid = orders.Memid and orders.Orderid = orderdetail.Orderid and orderdetail.Pid = product.Pid";
mysql_query("set names tis620");
$objQuery = mysql_query($strSQL);
?>
<p align="center">
</p>
<table width="800" height="239" border="1" align="center" cellpadding="0" cellspacing="0">
<td width="131" height="64" align="center" valign="middle" bgcolor="#666666">เลขที่ใบสั่งซื้อ</td>
<td width="107" align="center" valign="middle" bgcolor="#666666">วันที่สั่งซื้อ</td>
<td width="147" align="center" valign="middle" bgcolor="#666666">ชื่อสินค้า</td>
<td width="67" align="center" valign="middle" bgcolor="#666666">ราคา</td>
<td width="77" align="center" valign="middle" bgcolor="#666666">จำนวน</td>
<td width="95" align="center" valign="middle" bgcolor="#666666">ราคารวม</td>
<td width="160" align="center" valign="middle" bgcolor="#666666">สถานะการชำระเงิน</td>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery)){
?>
<tr>
<td height="173" align="center" valign="middle" bgcolor="#666666"><? echo $objResult['Orderid']?></td>
<td align="center" valign="middle" bgcolor="#666666"><? echo $objResult['Orderdate']?></td>
<td align="center" valign="middle" bgcolor="#666666"><? echo $objResult['Pname']?></td>
<td align="center" valign="middle" bgcolor="#666666"><? echo $objResult['Price']?></td>
<td align="center" valign="middle" bgcolor="#666666"><? echo $objResult['Qty']?></td>
<td align="center" valign="middle" bgcolor="#666666"><? echo $objResult['Total']?></td>
<td align="center" valign="middle" bgcolor="#666666">
<? if($objResult['Status']==1) {?>
<? echo ยังไม่ชำระเงิน?>
<? }else { ?>
<? echo ชำระเงินแล้ว ?>
<? } ?>
</td>
</tr>
<? } ?>
</table>
3.ผมทำหน้า detail ของสินค้าครับ แต่มีปัญหาตรงที่ว่า เวลาผมกดดูสินค้า 1ชิ้นแล้วกด back หน้าเว็บกลับ แล้วกดสินค้าอีกชิ้น มันจะจำ รายละเอียดของสินค้าชุดแรกด้วยครับ แล้วจะวนไปเรื่อยๆตามจำนวนที่เรากดสินค้าใหม่ๆ ผมลองใช้ session destroy ได้ผลครับ แต่ปัญหาคือ กด back กลับไปหน้าก่อนหน้านี้ มันจะไม่จำ user ที่เราล็อกอินครับ (ผมทำหน้าหลัก 2อันครับ แยกระหว่าง user และ ไม่ได้ล็อกอิน)
productdetail_user
Code (PHP)
<?php
session_start();
if($_SESSION['Memid'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Memid'] == "=>1")
{
echo "This page for member only!";
exit();
}
?>
<?php
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "orderdb";
$objCon = mysqli_connect($serverName,$userName,$userPassword,$dbName);
if (!$objCon) {
echo $objCon->connect_error;
exit();
}
?>
<?php
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
$_SESSION["intLine"] = 0;
$_SESSION["strPid"][0] = $_GET["Pid"];
}
else
{
$key = array_search($_GET["Pid"], $_SESSION["strPid"]);
if((string)$key != "")
{
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strPid"][$intNewLine] = $_GET["Pid"];
}
}
?>
<center><table width="449" height="754" border="10">
<?php
for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
{
if($_SESSION["strPid"][$i] != "")
{
$strSQL = "SELECT * FROM product WHERE Pid = '".$_SESSION["strPid"][$i]."' ";
$objQuery = mysqli_query($objCon,$strSQL);
$objResult = $objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC);
?>
<tr>
<td width="447" height="269" align="center" valign="middle" bgcolor="#FFFFFF"><img src="<? echo $objResult["Pic"]?>" width="250" height="220"/></td>
</tr>
<tr>
<td height="56" align="center" valign="middle" bgcolor="#666666"><font size="5"><font color="#FC0"><strong><?php echo $objResult["Pname"];?></strong></font></font></td>
</tr>
<tr>
<td height="261" align="center" valign="middle" bgcolor="#666666"><?php echo $objResult["Detail"];?></td>
</tr>
<tr>
<td height="53" align="right" valign="middle" bgcolor="#666666"><?php echo $objResult["Price"];?>.Baht</td>
</tr>
<tr>
<td height="78" align="center" valign="middle" bgcolor="#666666"><a href="ordercart.php?Pid=<? echo $objResult["Pid"]?>">สั่งซื้อสินค้า <img src="Picweb/pic cpu/cart.jpg" width="105" height="70" /></a></td>
</tr>
<?php
}
}
?>
</table></center>
Tag : PHP
Date :
2016-01-15 16:31:43
By :
bankguszo
View :
809
Reply :
6
Code (PHP)
<textarea name="txtAddress" value="<?php echo $objResult["Address"];?> "/></textarea>
textarea ต้องอย่างนี้ครับ
Code (PHP)
<textarea name="txtAddress"/><?php echo $objResult["Address"];?></textarea>
Date :
2016-01-15 16:40:31
By :
WiTT
Code (PHP)
1. <textarea name="txtAddress" value="<?php echo $objResult["Address"];?> "/></textarea>
ที่ถูกคือ
<textarea name="txtAddress"><?php echo $objResult["Address"];?></textarea>
2. คุณต้องทำ ปุ่มดู แยกเป็น คนๆ ของแต่ละรายการ แล้ว เวลา select ใช้ where รหัสลูกค้า = xxx
3. เก็บรหัสสินค้าลง session ? เพื่ออะไร ไม่ส่งเป็นรหัสมาเลยละครับ
Date :
2016-01-15 16:44:54
By :
progamer2000
ขออัพกระทู้ครับ
ข้อ 3 ผมแก้ได้แล้วนะครับ เหลือข้อ 2 ครับ รบกวนด้วยนะครับ
ประวัติการแก้ไข 2016-01-19 10:13:38
Date :
2016-01-19 08:50:37
By :
bankguszo
ปกติ เวลาบันทึกลง DB มันก็ จะบันทึก คือ
1. ตัว invoice นะ แบบที่ผมทำ คือเก็บ ราคาทั้งหมด ว่า กี่บาท อะไรยังไง ออกตัวเลขบิล อะไรตรงนี้ และเก็บรหัส member ว่าของใคร
2. ตัว order เก็บรายการสินค้าที่ลูกค้าสั่ง รายละเอียดสินค้าว่า กี่ชิ้น เก็บรหัส invoice เชื่อมกันไว้
มีหน้าดู order history กดเข้าไปก็ไป select invoice ของ member คนนั้นออกมา กดปุ่มให้ดู order ข้างในก็ค่อยไปโหลด order อ้างอิง เลข invoice code แค่นั้นเอง
Date :
2016-01-19 12:10:12
By :
progamer2000
ทำได้หมดแล้ว ขอบคุณครับผม
Date :
2016-01-19 14:06:30
By :
bankguszo
Load balance : Server 04