สอบถามเมื่อ User ทำการ Login เข้ามา แล้วสามารถแยกได้ว่าแต่ละ User ทำการบันทึกข้อมูลอะไรไว้บ้าง
ใช้พวก Session ของ User ครับ คือสร้างฟิวด์สำหรับเก็บว่าข้อมูลนั้น ๆ เป็นของ User อะไรครับ จากนั้นก็ใช้ Where ข้อมูลของ User ขั้น ๆ ครับ
Code (SQL)
$strSQL = " SELECT * FROM table_name WHERE username ='".$_SESSION["user"]."' ";
Date :
2013-11-10 19:29:29
By :
mr.win
อย่างแรกคือต้องเพิ่มฟิวด์เข้าไปในตารางนี้ก่อนใช่มั้ยคะ
แล้วใช้ Where ข้อมูลของ User นี่คือยังไงหรอคะ
Date :
2013-11-10 20:45:31
By :
aorplus
ถ้ายังไม่มีใครเพิ่มเติม เดี่ยวพรุ่งนี้ยก ตย.ให้ดู ครับ
Date :
2013-11-10 20:53:51
By :
apisitp
โค้ดที่คิวรี่ว่า user ทำอะไรบ้างอันนั้นเหละครับ พ่วง where UserID='ตัวแปรที่ระบุว่าเค้าคือสมาชิกหมายเลขอะไร'
Date :
2013-11-10 21:04:06
By :
meannerss
เอาโค้ดหน้านี้ออกมาจะดูใหครับ ถ้ามาขอตัวอย่างต่อให้ผมอธิบายทั้งคืนก็เข้าใจไม่ตรงกันครับ
Date :
2013-11-10 22:49:57
By :
meannerss
เอาตามโจทย์ของหนู (เพื่อให้หนูเข้าใจ) แยกออกเป็น 2 กรณีคือ
1. ออกแบบตาราง + คำสั่ง SQL ซึ่งผมออกแบบตารางสมมุติได้ดังนี้
สมมุติตารางชื่อ tableXY มีโครงสร้างดังนี้
ListNo (ลำดับที่) FirstName (ชื่อ) LastName (นามสกุล) CreatedBy (ระเบียนนี้สร้างโดยคนที่ Login เข้ามา) 1 นายหนึ่ง เมียสอง นาย A
2 นายสอง เมียสาม นาย A
3 นายสาม เมียสี่ นาย A
4 นางหนึ่ง ผัว99 นาง B
5 นางสอง ผัว100 นาง B
6 นางสาม ผัวเกินร้อย นาง B
...
...
...
Login นาย A
คำสั่ง SQL = Select * From tableXY Where CreatedBy = 'นาย A' จะได้ข้อมูลดังนี้
1 นายหนึ่ง เมียสอง นาย A
2 นายสอง เมียสาม นาย A
3 นายสาม เมียสี่ นาย A
Login นาง B
คำสั่ง SQL = Select * From tableXY Where CreatedBy = 'นาง B' จะได้ข้อมูลดังนี้
4 นางหนึ่ง ผัว99 นาง B
5 นางสอง ผัว100 นาง B
6 นางสาม ผัวเกินร้อย(ร้อยผัว) นาง B
2. เริ่มเขียนโปรแกรมด้วยภาษา PHP
...
...
...
Date :
2013-11-10 23:17:10
By :
love9713
ตอบความคิดเห็นที่ : 9 เขียนโดย : meannerss เมื่อวันที่ 2013-11-10 22:49:57
รายละเอียดของการตอบ ::
หน้าเพิ่มข้อมูล
<?php
//require_once('Connections/AddDataCustomers.php');
include("staff_page.php");
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO data_customers (ctm_name, ctm_surname, ctm_product, ctm_model, ctm_tel, ctm_date, ctm_fix) VALUES (%s, %s, %s, %s, %s, %s, %s )",
GetSQLValueString($_POST['ctm_name'], "text"),
GetSQLValueString($_POST['ctm_surname'], "text"),
GetSQLValueString($_POST['ctm_product'], "text"),
GetSQLValueString($_POST['ctm_model'], "text"),
GetSQLValueString($_POST['ctm_tel'], "int"),
GetSQLValueString($_POST['ctm_date'], "date"),
GetSQLValueString($_POST['ctm_fix'], "text"));
mysql_select_db($database_AddDataCustomers, $AddDataCustomers);
$Result1 = mysql_query($insertSQL, $AddDataCustomers) or die(mysql_error());
$insertGoTo = "data-table.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>After Sale Service</title>
</head>
<body>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table border="0" align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td align="center"><p>เพิ่มข้อมูลใหม่</p></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">ชื่อ:</td>
<td><input type="text" name="ctm_name" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">นามสกุล:</td>
<td><input type="text" name="ctm_surname" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">ยี่ห้อมือถือ:</td>
<td>
<select name="ctm_product" id="ctm_product">
<?php
$strSQL = "SELECT * FROM add_product";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["brand"];?>"><?=$objResuut["brand"];?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">รุ่น:</td>
<td>
<select name="ctm_model" id="ctm_model">
<?php
$strSQL = "SELECT * FROM add_product";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["model"];?>"><?=$objResuut["model"];?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">เบอร์ติดต่อ:</td>
<td><input type="text" name="ctm_tel" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">วันที่มาซ่อม(ป-ด-ว):</td>
<td>
<input type="text" name="ctm_date" value="<?php echo date('Y-m-d'); ?>" size="32" />
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">บริการที่เข้ารับ:</td>
<td><select name="ctm_fix" id="ctm_fix">
<option value="case1">case1</option>
<option value="case2">case2</option>
<option value="case3">case3</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><center><input type="submit" value="บันทึก" />
<input type="reset" name="resend" id="resend" value="ล้างข้อมูลทั้งหมด" />
</center></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</body>
</html>
และก็..
หน้าแสดงข้อมูล
<?php require_once('Connections/AddDataCustomers.php');
include("staff_page.php");
?>
<?
session_start();
if(isset($_SESSION["Username"])){
$sess_username=$_SESSION["Username"];
$sess_firstname=$_SESSION["Name"];
echo "'Welcome"." ". $_SESSION["Name"];
?>
<? }?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_AddDataCustomers, $AddDataCustomers);
$query_ShowData = "SELECT * FROM data_customers";
$ShowData = mysql_query($query_ShowData, $AddDataCustomers) or die(mysql_error());
$row_ShowData = mysql_fetch_assoc($ShowData);
$i=1;
$totalRows_ShowData = mysql_num_rows($ShowData);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>After Sale Service</title>
</head>
<body>
<p> </p>
<center>
<p><b>ข้อมูลลูกค้าที่นำเครื่องมาซ่อม</b></p>
</center>
<table width="1170" border="0" align="center">
<tr>
<td width="42" align="center" bgcolor="#999999"><strong>ลำดับ</strong></td>
<td width="151" align="center" bgcolor="#999999"><strong>ชื่อ</strong></td>
<td width="170" align="center" bgcolor="#999999"><strong>นามสกุล</strong></td>
<td width="172" align="center" bgcolor="#999999"><strong>ยี่ห้อมือถือ</strong></td>
<td width="127" align="center" bgcolor="#999999"><strong>รุ่น</strong></td>
<td width="127" align="center" bgcolor="#999999"><strong>เบอร์ติดต่อ</strong></td>
<td width="145" align="center" bgcolor="#999999"><strong>วันที่มาซ่อม</strong></td>
<td width="132" align="center" bgcolor="#999999"><strong>บริการที่เข้ารับ</strong></td>
<td colspan="2" align="center" bgcolor="#999999"><strong>ตัวเลือก</strong></td>
</tr>
<?php do { ; ?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $row_ShowData['ctm_name']; ?></td>
<td><?php echo $row_ShowData['ctm_surname']; ?></td>
<td><?php echo $row_ShowData['ctm_product']; ?></td>
<td><?php echo $row_ShowData['ctm_model']; ?></td>
<td><?php echo $row_ShowData['ctm_tel']; ?></td>
<td><?php echo $row_ShowData['ctm_date']; ?></td>
<td><?php echo $row_ShowData['ctm_fix']; ?></td>
<td width="20" align="center"><a href="delete.php?ctm_id=<?php echo $row_ShowData['ctm_id']; ?>" onclick="return confirm('คุณแน่ใจที่จะลบ <?php echo $row_ShowData['ctm_name']; ?>');">ลบ</a></td>
<td width="42" align="center"><a href="update.php?no=<?=$i;?>&ctm_id=<?php echo $row_ShowData['ctm_id']; ?>">แก้ไข</a></td>
</tr>
<?php ++$i; } while ($row_ShowData = mysql_fetch_assoc($ShowData)); ?>
</table>
<p> </p>
<center><form id="form1" name="form1" method="post" action="search.php">
<p>
<label for="word"> ค้นหา :</label>
<input type="text" name="word" id="word" />
<input type="submit" name="btnsearch" id="btnsearch" value="Submit" />
</p>
<p> </p>
</form></center>
</body>
</html>
<?php
mysql_free_result($ShowData);
?>
Date :
2013-11-11 10:37:45
By :
aorplus
ตกลงว่าต้องไปเพิ่มฟิวด์ในตาราง และต้องใช้คำสั่ง SQL ในดาต้าเบสด้วยใช่มั้ยคะ ?
Date :
2013-11-11 13:38:38
By :
aorplus
หน้าแสดงข้อมูล บรรทัดที่ 50
เดิม
$query_ShowData = "SELECT * FROM data_customers";
ปรับเป็น
$query_ShowData = "SELECT * FROM data_customers WHERE ctm_name ='$sess_username' ";
ทำความเข้าใจ WHERE ctm_name ='$sess_username'
ctm_name = ฟิลเก็บชื่อสมาชิกไช่ไหมครับ **ไม่แน่ใจว่ามันคือ user name ด้วยไหม ถ้ามันไม่ไช่ user name ไปปรับข้างบนจาก ctm_name เป็นชื่อฟิลที่ user name สังกัดครับ . . . .
$sess_username = ตัวแปรที่เก็บเซสซั่น Username
Date :
2013-11-11 14:31:29
By :
meannerss
ctm_name เป็นชื่อของลูกค้าที่พนักงานจะเป็นคนเพิ่มเข้ามาค่ะ
ไม่ใช่เป็นฟิวด์เก็บชื่อสมาชิก
ส่วน Username จะอยู่ในตาราง member ค่ะ มันคือคนละตารางกับ ctm_name
ctm_name จะเป็นตารางในส่วนของลูกค้าค่ะ
นี่เป็นตาราง member ค่ะ สำหรับเก็บชื่อสมาชิกและแอดมินค่ะ
ซึ่งสามารถเปลี่ยนเป็นแบบนี้แทนใช่มั้ยคะ
Code (PHP)
$query_ShowData = "SELECT * FROM member WHERE Username ='$sess_username' ";
ประวัติการแก้ไข 2013-11-11 14:50:52
Date :
2013-11-11 14:48:59
By :
aorplus
ซวยแล้วหละครับ .. . ต้องออกแบบ DB ใหม่นะอาจจะต้องเพิ่มฟิล user_id ลงในตาราง data_customers ด้วยนะครับตอนเอาข้อมูลเข้ามาระบุด้วยว่า STAFF หรือ ADMIN คนไหนเป็นเจ้าของรายการนี้.....
ไม่เช่นนั้นจะระบุได้ไง ว่า นายหนึ่ง หนึ่ง mobile1 mode 1 เนี่ยสังกัด STAFF คนไหน ไม่มีอะไรบอกเลย แล้วเราจะเอาอะไรแยกหละครับว่าคนคนนี้เป็นลูกค้าของใคร ถูกต้องไหมครับ
Date :
2013-11-11 14:58:15
By :
meannerss
งั้นถ้าแค่เพิ่มฟิล user_id ลงในตาราง data_customers ก็ได้ใช่มั้ยค่ะ
คือข้อมูลที่เพิ่มเข้าไปตาราง data_customers เป็นแค่สมมติเฉยๆค่ะ แค่ลองทดสอบดูว่ามันแอดเข้าได้มั้ย
แล้วก็เพิ่งมานึกได้ว่ามันต้องแยกด้วยว่าใครเป็นคนแอดข้อมูลเข้าไป T_T
ประวัติการแก้ไข 2013-11-11 15:07:53
Date :
2013-11-11 15:08:01
By :
aorplus
เพิ่มได้ครับเข้าไปใน phpmyadmin เพิ่มฟิล 1 อัน ใส่ไปท้ายสุดเลย ชื่ออะไรก็ว่าไป. . . จากนั้นไปปรับโค้ดที่ add ข้อมูลให้เอา User_ID คน add เข้าไปด้วยไปใส่ในฟิลที่สร้างใหม่ขึ้นมานั้นเหละครับ . . .
* * ขอย้ำว่าเอา User_ID เข้าไปไม่ไช่ username เพราะถ้าเอา username ถ้ามี straff ชื่อ "น้องนก" สองคน น้องนกทั้งสองจะเห็นของลับของกันและกันแน่นอน
Date :
2013-11-11 15:12:34
By :
meannerss
UserID นี่มันอยู่ในตาราง member คนละตารางกับฟิวที่เพิ่งเพิ่มใหม่ ซึ่งอยู่ในตาราง data_customers
แล้วมันต้องปรับยังไงหรอคะ
หน้าเพิ่มข้อมูล
<?php
//require_once('Connections/AddDataCustomers.php');
include("staff_page.php");
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO data_customers (ctm_name, ctm_surname, ctm_product, ctm_model, ctm_tel, ctm_date, ctm_fix) VALUES (%s, %s, %s, %s, %s, %s, %s )",
GetSQLValueString($_POST['ctm_name'], "text"),
GetSQLValueString($_POST['ctm_surname'], "text"),
GetSQLValueString($_POST['ctm_product'], "text"),
GetSQLValueString($_POST['ctm_model'], "text"),
GetSQLValueString($_POST['ctm_tel'], "int"),
GetSQLValueString($_POST['ctm_date'], "date"),
GetSQLValueString($_POST['ctm_fix'], "text"));
mysql_select_db($database_AddDataCustomers, $AddDataCustomers);
$Result1 = mysql_query($insertSQL, $AddDataCustomers) or die(mysql_error());
$insertGoTo = "data-table.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>After Sale Service</title>
</head>
<body>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table border="0" align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td align="center"><p>เพิ่มข้อมูลใหม่</p></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">ชื่อ:</td>
<td><input type="text" name="ctm_name" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">นามสกุล:</td>
<td><input type="text" name="ctm_surname" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">ยี่ห้อมือถือ:</td>
<td>
<select name="ctm_product" id="ctm_product">
<?php
$strSQL = "SELECT * FROM add_product";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["brand"];?>"><?=$objResuut["brand"];?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">รุ่น:</td>
<td>
<select name="ctm_model" id="ctm_model">
<?php
$strSQL = "SELECT * FROM add_product";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["model"];?>"><?=$objResuut["model"];?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">เบอร์ติดต่อ:</td>
<td><input type="text" name="ctm_tel" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">วันที่มาซ่อม(ป-ด-ว):</td>
<td>
<input type="text" name="ctm_date" value="<?php echo date('Y-m-d'); ?>" size="32" />
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">บริการที่เข้ารับ:</td>
<td><select name="ctm_fix" id="ctm_fix">
<option value="case1">case1</option>
<option value="case2">case2</option>
<option value="case3">case3</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><center><input type="submit" value="บันทึก" />
<input type="reset" name="resend" id="resend" value="ล้างข้อมูลทั้งหมด" />
</center></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</body>
</html>
Date :
2013-11-11 15:24:30
By :
aorplus
หน้านี้ควรใช้ได้เฉพาะเมื่อ login แล้วเท่านั้น . . ไม่เช่นนั้นจะระบุไม่ได้ว่าเป็นใคร
1. บรรทัดที่ 4 ลบออก ปรับเป็น
เข้าใจว่า $_SESSION["Username"] ที่ได้มาจาก staff_page.php นี่คือ USER_ID หรือเปล่านะครับ ?. .
include("staff_page.php");
session_start();
if(isset($_SESSION["Username"])){
$sess_username=$_SESSION["Username"];
}
2.บรรทัด 134 ลบออก ปรับเป็น
เพิ่มฟอร์ม hidden ขึ้นมาเก็บค่าชื่อผู้ทำรายการ ($sess_username )
<td>
<input type="text" name="ctm_tel" value="" size="32" />
<input type="hidden" name="Username" value="<?=$sess_username?>" />
</td>
3. ปรับ sql โดยเพิ่มการ add ชื่อผู้ทำรายการเข้าไปด้วย
**XXXXXX บนโค้ดคือชื่อฟิลที่เพิ่มเข้าไปใหม่ ปรับเองนะครับ
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO data_customers (ctm_name, ctm_surname, ctm_product, ctm_model, ctm_tel, ctm_date, ctm_fix,XXXXXX) VALUES (%s, %s, %s, %s, %s, %s, %s, %s )",
GetSQLValueString($_POST['ctm_name'], "text"),
GetSQLValueString($_POST['ctm_surname'], "text"),
GetSQLValueString($_POST['ctm_product'], "text"),
GetSQLValueString($_POST['ctm_model'], "text"),
GetSQLValueString($_POST['ctm_tel'], "int"),
GetSQLValueString($_POST['ctm_date'], "date"),
GetSQLValueString($_POST['ctm_fix'], "text"),
GetSQLValueString($_POST['Username'], "text")); // <-------- ตรงนี้เหละที่เพิ่มเข้ามา
**เสร็จแล้วลอง add ข้อมูลและไปตรวจใน DB ครับว่า user_id มันเข้าให้เราจริงไหม
Date :
2013-11-11 15:40:36
By :
meannerss
มันขึ้นแบบนี้อ่ะค่ะ
หน้า staff_page เหมือนเป็นไว้แสดงชื่อผู้ล๊อคอินที่จะโชว์ในทุกๆหน้าอะคะ เลย include ไฟล์นี้เข้ามา
คือมันต้องใช้ session แต่ว่าลองแล้วชื่อผู้ใช้มันไม่ขึ้นเลยอ่ะค่ะ เลยต้องทำแบบนี้แทน
ประวัติการแก้ไข 2013-11-11 16:38:01
Date :
2013-11-11 15:54:42
By :
aorplus
เอายังงี้ก่อนผมปิดคอมไปละตอนนี้พิมในมือถือ ช่วงที่ 1 บรรทัดที่ 4 เดิมลบออกหมด ปรับเป็น
$sess_username="999999";
นอกนั้นช่วงที่ 2 ที่3 ปรับแก้เหมือนกับในคอมเม้นที่ผ่านมา... ทีนี้ลองไป add ข้อมูลเข้าแล้วดูว่า 9999 จะไปยังฟิลที่เพิ่มมาใหม่ไหม
ถ้าไปแสดงว่า ok ผ่าน ...ทีนี้ค่อยไปหาวิธีลาก session ผู้ทำรายการมาใช้งาน
ประวัติการแก้ไข 2013-11-11 16:22:05
Date :
2013-11-11 16:19:53
By :
meannerss
มันขึ้นแบบนี้ค่ะ
Notice: Undefined variable: sess_Username in C:\xampp\htdocs\add-data-customers\data-table.php on line 50
บรรทัดที่ 50 ของไฟล์ data-table.php (หน้าแสดงข้อมูล)
$query_ShowData = "SELECT * FROM data_customers WHERE member_add ='$sess_Username' ";
ประวัติการแก้ไข 2013-11-11 16:39:51 2013-11-11 16:43:20
Date :
2013-11-11 16:39:08
By :
aorplus
ไม่ไช่อย่าพึ่งข้ามขั้นตอนสิครับ ตอนนี้เราไปหน้า add ข้อมูลเนี่ยแล้วทดลอง add แล้วไปดูว่าใน php myadmin ฟิงที่เพื่อเข้าไปใหม่เลข 99999 ที่ให้ไว้มันไปโผล่หรือยัง
Date :
2013-11-11 16:46:40
By :
meannerss
มันไม่เข้าอ่ะค่ะ พอกด add แล้วมันก็ขึ้นแจ้งแบบที่ได้บอกไป ใน phpmyadmin ก็ไม่ขึ้นข้อมูลที่แอดใหม่เลยค่ะ
Date :
2013-11-11 16:53:05
By :
aorplus
เอา Where member_add = '$sess ออกไปก่อน
เมื่อทดสอบการ add Add ข้อมูลเข้าแล้วให้ไปเช็ค phpmyadmin ว่า999999 เข้าไหม
ถ้าเข้าแล้วก็หาวิธีเปลี่ยนจาก 9999 เป็น id ของพนักงาน
Date :
2013-11-11 17:04:12
By :
meannerss
ตอนแรกขึ้นแบบนี้ค่ะ ตรงนายสิบ
แล้วพอแก้ไปแก้มาก็ขึ้นแบบนี้ค่ะ
Notice: Undefined index: member_add in C:\xampp\htdocs\add-data-customers\insert.php on line 59
Column 'member_add' cannot be null
Date :
2013-11-11 17:34:47
By :
aorplus
ไม่ได้เข้าเน็ทแต่เช้า และที่ว่าจะมาโพสต์ Code ตย. ก็ลืม ดูถ้าจะไปไกลแล้ว ลองไปก่อนนะ...งานเยอะโครต ๆ
Date :
2013-11-11 18:06:56
By :
apisitp
กลับมาแล้วครับไปดูลำยองมา จขกท. ได้รึยังเอ่ย
Date :
2013-11-11 23:53:31
By :
meannerss
สุภาพบุรุษลูกผู้ชาย จบแล้วนะ
Date :
2013-11-12 08:46:24
By :
apisitp
เห็นกระทู้ตอนกลางวันทำระบบ LOG IN ได้แล้วไช่ไหมครับแล้วแสดงชื่อผู้ใช้งานไปทุกไฟล์ได้แล้วไช่ไหมครับ.. นั้นเหละครับใช้ตรรกกะเดียวกัน โดยให้. . ..
$sess_username=$_SESSION['UserID'];
ปล.อย่าลืมประกาศพวกเซสซั่นไว้บนหัวของไฟล์นี้ด้วยนะครับอันเหมือนกระทู้ตอนกลางวันอะครับ
<?
session_start();
if($_SESSION['UserID'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Status'] != "STAFF")
{
exit();
}
?>
Date :
2013-11-20 23:39:27
By :
meannerss
คือตอนแรกบรรทัดที่ 9 เป็น $sess_username="99999" ;
ก็เปลี่ยนเป็น $sess_username=$_SESSION['UserID']; ใช่มั้ยคะ
หน้าเพิ่มข้อมูล
<?php
require_once('Connections/AddDataCustomers.php');
include("session.php");
?>
<?php
session_start();
$sess_username=$_SESSION['UserID'];
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO data_customers (ctm_name, ctm_surname, ctm_product, ctm_model, ctm_tel, ctm_date, ctm_fix, User_add ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['ctm_name'], "text"),
GetSQLValueString($_POST['ctm_surname'], "text"),
GetSQLValueString($_POST['ctm_product'], "text"),
GetSQLValueString($_POST['ctm_model'], "text"),
GetSQLValueString($_POST['ctm_tel'], "int"),
GetSQLValueString($_POST['ctm_date'], "date"),
GetSQLValueString($_POST['ctm_fix'], "text"),
GetSQLValueString($_POST['UserID'], "text"));
mysql_select_db($database_AddDataCustomers, $AddDataCustomers);
$Result1 = mysql_query($insertSQL, $AddDataCustomers) or die(mysql_error());
$insertGoTo = "data-table.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>After Sale Service</title>
</head>
<?php
mysql_connect("localhost","root","0867793848") or die(mysql_error());
mysql_select_db("after_sale");
?>
<body>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table border="0" align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td align="center"><p>เพิ่มข้อมูลใหม่</p></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">ชื่อ:</td>
<td><input type="text" name="ctm_name" id="ctm_name" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">นามสกุล:</td>
<td><input type="text" name="ctm_surname" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">ยี่ห้อมือถือ:</td>
<td>
<select name="ctm_product" id="ctm_product">
<?php
$strSQL = "SELECT * FROM add_product";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["brand"];?>"><?=$objResuut["brand"];?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">รุ่น:</td>
<td>
<select name="ctm_model" id="ctm_model">
<?php
$strSQL = "SELECT * FROM add_product";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["model"];?>"><?=$objResuut["model"];?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">เบอร์ติดต่อ:</td>
<td>
<input type="text" name="ctm_tel" value="" size="32" />
<input type="hidden" name="Username" value="<?=$sess_username?>" />
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">วันที่มาซ่อม(ป-ด-ว):</td>
<td>
<input type="text" name="ctm_date" value="<?php echo date('Y-m-d'); ?>" size="32" />
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">บริการที่เข้ารับ:</td>
<td><select name="ctm_fix" id="ctm_fix">
<option value="case1">case1</option>
<option value="case2">case2</option>
<option value="case3">case3</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><center><input type="submit" value="บันทึก" />
<input type="reset" name="resend" id="resend" value="ล้างข้อมูลทั้งหมด" />
</center></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</body>
</html>
แล้วก็ได้ include ไฟล์นี้เข้าไปในโค้ดด้านบน
session.php
<?PHP
session_start();
require_once('connection.php');
if(empty($_SESSION['UserID']) || empty($_SESSION['Status']) || $_SESSION['Status'] != 'STAFF')
{
echo "Please Login!";
exit();
}
$strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
echo "<table>";
echo "Name: ". " "." ".$objResult["Name"]. " " . " ". " ". " " ."Username:"." "." "." ".$objResult["Username"];
echo " "." "." "." "."<a href='logout.php'>Logout</a>";
echo " "." "." "." "."<a href='edit_profile.php'>Edit Profile</a>";
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
คือเข้าใจถูกมั้ยคะ แต่ลองแล้วมันก็ยังไม่ได้
Date :
2013-11-20 23:56:16
By :
aorplus
บรรทัดที่ 60
GetSQLValueString($_POST['UserID'], "text"));
ต้องแก้เป็นอะไรคะ
Date :
2013-11-21 00:08:40
By :
aorplus
ไม่ได้อ่ะค่ะ
ขึ้นแบบนี้
Notice: A session had already been started - ignoring session_start() in C:\xampp\htdocs\add-data-customers\insert.php on line 8
Date :
2013-11-21 00:18:33
By :
aorplus
แก้แก้ เอา ยก PHP บรรทัด 7-11 ไปไว้บรรทัดที่ 1 ครับ ต้องให้เจ้า session_start(); อยู่ก่อนใครเพื่อน. . . เพราะมันต้องการความปลอดภัย มันไม่ยอมให้ใครมาขึ้นก่อน
ผิดครับข้างบนไม่เอา วันนี้ผมเป็นอะไรไม่รู้เบลอๆแหะ
ปรับเป็นเอา session_start(); ออกไปเลยครับ เพราะมีการเรียกมันแล้ว 1 ครั้งตอนเราไป include("session.php"); มา
ดังนั้นเอาบรรทัดที่เขียนว่า session_start(); ออกครับ
ประวัติการแก้ไข 2013-11-21 00:30:05
Date :
2013-11-21 00:27:18
By :
meannerss
ขึ้นแบบนี้อ่ะค่ะ T_T
Fatal error: Call to undefined function etSQLValueString() in C:\xampp\htdocs\add-data-customers\insert.php on line 60
ประวัติการแก้ไข 2013-11-21 00:31:18 2013-11-21 00:33:34
Date :
2013-11-21 00:30:53
By :
aorplus
GetSQLValueString($_POST['UserID'], "text")); ปิดวงเล็บเกินมา 1 ตัวรึเปล่านะ เอาปิดวงเล็บออก 1 ตัวดูครับ
Date :
2013-11-21 00:38:36
By :
meannerss
น่าจะถูกแล้วนะคะ เพราะเอาออกแล้วมันแจ้งเออเร่อ
Date :
2013-11-21 00:40:17
By :
aorplus
มันอะไรน้อทีนี้ etSQLValueString ผมเองก็ไม่เคยเรียกใช้มันด้วยตัวนี้ิอะ T__T
VALUES (%s, %s, %s, %s, %s, %s, %s, %s) <<< อันนี้ก็ไม่คุ้น
เหอๆ ที่อื่นๆๆน่าจะถูกหมดแล้วหละครับ
ลองเอาพวก sprintf และ etSQLValueString ออกดูและเอายัดลงตรงๆแบบการ SQL ปกติดูได้ไหมครับ
ประวัติการแก้ไข 2013-11-21 00:55:20
Date :
2013-11-21 00:49:47
By :
meannerss
ได้แล้วค่ะะะะะ TvT
ขอบคุณ คุณ
meannerss มากๆค่ะ ขอบคุณมากๆๆ ^___^
ลืมตัว G ข้างหน้า แค่นั้น.. TT
ประวัติการแก้ไข 2013-11-21 00:59:44 2013-11-21 01:01:04
Date :
2013-11-21 00:54:43
By :
aorplus
ยินดีด้วยคร้าบ - - * กำลังจะเขียนวิธีให้ไปเอาแบบปกติ 5 5
<?
$insertSQL = "INSERT INTO data_customers (ctm_name, ctm_surname, ctm_product, ctm_model, ctm_tel, ctm_date, ctm_fix, User_add ) VALUES ('"$_POST['ctm_name']"','"$_POST['ctm_surname']"','"$_POST['ctm_product']"','"$_POST['ctm_model']"','"$_POST['ctm_tel']"', '"$_POST['ctm_date']"','"$_POST['ctm_fix']"','"$_POST['UserID']"')";
?>
ประวัติการแก้ไข 2013-11-21 01:01:19
Date :
2013-11-21 01:00:24
By :
meannerss
ขอบคุณมากๆๆเลยค่ะะ
ได้ความรู้เพิ่มเยอะแยะเลย ^_^
ประวัติการแก้ไข 2013-11-21 01:03:31 2013-11-21 01:15:28
Date :
2013-11-21 01:02:38
By :
aorplus
ขอโค้ดแบบปกติด้วยได้มั้ยคะ จะได้เป็นความรู้ เผื่อต้องใช้ในอนาคต ^^
Date :
2013-11-21 01:15:49
By :
aorplus
ก็ที่อ่านโค้ดมานะ การเขียนแบบนี้มันเป็นการเขียนโค้ดแบบคุณเจ้าของกระทู้ มันเป็นการเขียนอีกระดับนึงเลยนะครับ เป็นระดับที่สูงกว่าปุถุชนคนธรรมดาจะเขียน. . .ใครเขียนแบบคุณเจ้าของกระทู้นี่ เค้าเรียกมือโปรแล้วครับ ผมดูโค้ดครั้งแรกยังตกใจเลยว่าคนเขียนแบบนี้ได้นี่ไม่ไช่มือใหม่แน่ๆ . . . เพราะมีการรองรับแพลตฟอร์มหลายๆอย่าง มีการคิดเผื่อเวอชั่น PHP ด้วย ซึ่งมันเป็นโหมดเซียนแล้วครับคนที่เขียนแบบนี้ เหอๆๆๆ .. . .
อันนี้เหละครับแบบปกติ ตัวแปร $insertSQL คนธรรมดาจะนิยมเขียนกันยังงี้
<?
$insertSQL = "INSERT INTO data_customers (ctm_name, ctm_surname, ctm_product, ctm_model, ctm_tel, ctm_date, ctm_fix, User_add ) VALUES ('"$_POST['ctm_name']"','"$_POST['ctm_surname']"','"$_POST['ctm_product']"','"$_POST['ctm_model']"','"$_POST['ctm_tel']"', '"$_POST['ctm_date']"','"$_POST['ctm_fix']"','"$_POST['UserID']"')";
?>
ประวัติการแก้ไข 2013-11-21 01:20:18
Date :
2013-11-21 01:17:55
By :
meannerss
แป่ววว...ใช้ดรีม เลยทำตามคลิปที่เค้าสอนกันอ่ะค่ะ ที่ลากวางๆ เลยออกมาอย่างที่เห็น ^^"
Date :
2013-11-21 01:20:17
By :
aorplus
ขอบคุณมากๆค่ะ แล้วจะไปเรียนรู้แบบที่คนธรรมดาเค้าเขียนกัน ^^"
Date :
2013-11-21 01:23:54
By :
aorplus
Load balance : Server 04