Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ปัญหาบันทึก cookie บน host ค่าตัวแปรไม่บวกค่าให้ลองที่เครื่องตัวเองไม่เป็นไรครับ



 

ปัญหาบันทึก cookie บน host ค่าตัวแปรไม่บวกค่าให้ลองที่เครื่องตัวเองไม่เป็นไรครับ

 



Topic : 060274



โพสกระทู้ ( 110 )
บทความ ( 0 )



สถานะออฟไลน์




ตัวอย่าง code นี้ ผมทำในเครื่องไม่มีปัญหาอะไรครับ สามารถบันทึกและแสดงค่าได้ปกติ แต่เมื่ออัพขึ้น host แล้ว เกิดอาการไม่บันทึกค่า cookie ให้ครับ รบกวนช่วยดูให้ด้วยครับ เกิดจากอะไร

หน้าบันทึกcookie
Code (PHP)
<?
	$pid=$_POST["Pid"];
	
	$strsql = "select productid,prodname,catname,unitprice from products where productid='$pid' ";
	$objquery = mysql_query($strsql) or die ("error query [".$strsql."]");
	
	while($objResult = mysql_fetch_row($objquery))
	{
		echo $objResult[0];
		echo "<br>";
		echo $objResult[1];
		echo "<br>";
		echo $objResult[2];
		echo "<br>";
		echo $objResult[3];
		echo "<br>";
		
	//set ใส cookie
	setcookie("cart[$numproduct]",$objResult[0],0);
	setcookie("cartprice[$numproduct]",$objResult[3],0);
	$numproduct++;
	setcookie("numproduct",$numproduct,0);
	
	}
	mysql_close();
?>


หน้าแสดงcookie
Code (PHP)
<?
	$a=1;
for($i=0;$i<$numproduct;$i++)
{
	echo "รายการที่ ",$a,"<br>";
	echo "สินค้าที่สั่งซื้อ = ",$_COOKIE["cart"][$i],"<br>";
	echo "ราคาสินค้า = ",$_COOKIE["cartprice"][$i],"<br>";	
	echo "<a onClick=\"deletepro('",$_COOKIE["cart"][$i],"');\">ลบ</a>";
	echo "<br>";
	$sumprice += $_COOKIE["cartprice"][$i];
	$a++;
}
	echo "<hr>";
	echo "สินค้าทั้งหมด = ",$_COOKIE["numproduct"],"<br>";
	echo "ราคารวม = ",$sumprice;
?>


ซึ่งเท่าที่ดูน่าจะเกิดจากการไม่บันทึกค่าในcookie ในหน้าบันทึกcookie ตัวแปร numproduct ไม่ยอมบวกค่าให้ครับ
ตอนนี้กำลังหาทางทำให้ค่าตัวแปรสามารถ+ค่าได้ รบกวนด้วยครับ หรือมีวิธีอื่น รบกวนแนะนำด้วยครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-05-17 01:15:20 By : vissarud View : 1310 Reply : 6
 

 

No. 1



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


$numproduct มาจากไหนครับ

ข้อควรระวังในการเขียนถ้าจะใช้จริงบนโฮสติ้ง ต้องรับค่าด้วย $_POST , $_GET , $_REQUEST เสมอ
จะได้ไม่ต้องมาลำบากที่หลังเพราะ register_global = Off






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-17 01:26:36 By : PlaKriM
 


 

No. 2



โพสกระทู้ ( 110 )
บทความ ( 0 )



สถานะออฟไลน์


ผมทำระบบบันทึกสินค้า addตะกร้า ในแบบ ajax ครับ
โดยทำการบันทึก cookie หลังจากที่คลิกลงตะกร้า ครับ
ตอนนี้ผมกำลังคิดว่าจะทำยังไงให้ตัวแปร $numproduct + ค่าไปเลื่อยๆ หลังจากที่คลิกปุ่มลงตะกร้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-17 12:42:02 By : vissarud
 

 

No. 3



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


บวกเข้าไปแล้วยัดใส่ cookie แต่เวลาดึงค่าไม่เห็นดึงจาก cookie อีกอย่าง เปิดดูด้วยว่า cookie มันสร้างได้จริงหรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-17 16:14:11 By : PlaKriM
 


 

No. 4



โพสกระทู้ ( 110 )
บทความ ( 0 )



สถานะออฟไลน์


ก่อนอื่นขอบคุณ คุณ PlaKriM ครับที่ยังตามมาตอบกระทู้ผม
ตอนนี้ผมกำลังศึกษา cookie ว่า บันทึกคนล่ะ sub foder แล้วทำไมค่าไม่บันทึกแต่ถ้า sub เดียวกันบันทึกค่าให้ อันนี้ต้องทำความเข้าใจใหม่อย่างแรง

ส่วนด้านล่าง ผมแปะ code ของผมไว้ก่อนเลยแล้วกันครับ เผื่อใครพอจะแนะนำได้บ้างว่าใครเพิ่มตรงไหน

shop.php
Code (PHP)
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<?
	include('shop.inc.php');
?>
<body onload="javascript:productsload();">
<table width="900" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td height="40" colspan="2">ตัวทดลอง ชื้อขาย&nbsp;<a href='#' onclick='delectcook();'>ยกเลิกสินค้า</a> </td>
  </tr>
  <tr>
    <td width="280" height="40">
    	<table width="200" border="1" cellspacing="0" cellpadding="0" align="center">
  			<tr>
    			<td>
    			<div id="cartarea">&nbsp;</div>
    			</td>
  			</tr>
            <tr>
    			<td>
    			<div id="showpro">&nbsp;</div>
    			</td>
  			</tr>
		</table>
	</td>
    <td width="620">
    <div id="mySpan">&nbsp;</div>
    </td>
  </tr>
</table>

</body>
</html>


shop.inc.php
Code (JavaScript)
<script language="javascript">
	var HttPRequest = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	HttPRequest = new XMLHttpRequest();
	if (HttPRequest.overrideMimeType) {
	HttPRequest.overrideMimeType('text/html');
	}
	} else if (window.ActiveXObject) { // IE
	try {
	HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	try {
				HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {}
	}
	} 
function productsload(Search) 
{

	if (!HttPRequest) {
	alert('Cannot create XMLHTTP instance');
	return false;
	}
	//----------------------------------------------------------------
	var str=Math.random();/*ทำเำพื่อให้ค่าในการรับส่งแต่ละรอบไม่ซ้ำกัน*/
	var url ='shopajax.php?var='+str;
	var pmeters = 'mySearch='+ encodeURI(Search);
	HttPRequest.open('POST',url,true);
	
	HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	HttPRequest.setRequestHeader("Content-length", pmeters.length);
	HttPRequest.setRequestHeader("Connection", "close");
	HttPRequest.send(pmeters);

	HttPRequest.onreadystatechange = function()
	{
		if(HttPRequest.readyState == 4) // Return Request
		{
		window.document.getElementById('mySpan').innerHTML = HttPRequest.responseText;
		showcook();
		}
	}
}
function addtocart(id)
{
	if (!HttPRequest) {
	alert('Cannot create XMLHTTP instance');
	return false;
	}
	//----------------------------------------------------------------
	var url ='addtocart.php';
	var pmeters = 'Pid='+ encodeURI(id);
	HttPRequest.open('POST',url,true);
	
	HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	HttPRequest.setRequestHeader("Content-length", pmeters.length);
	HttPRequest.setRequestHeader("Connection", "close");
	HttPRequest.send(pmeters);

	HttPRequest.onreadystatechange = function()
	{
		if(HttPRequest.readyState == 4) // Return Request
		{
		window.document.getElementById('cartarea').innerHTML = HttPRequest.responseText;
		showcook();
		}
	}
}
function showcook(id)
{
	if (!HttPRequest) {
	alert('Cannot create XMLHTTP instance');
	return false;
	}
	var url ='showcook.php';
	var pmeters = 'P='+ encodeURI(id);
	HttPRequest.open('POST',url,true);
	
	HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	HttPRequest.setRequestHeader("Content-length", pmeters.length);
	HttPRequest.setRequestHeader("Connection", "close");
	HttPRequest.send(pmeters);

	HttPRequest.onreadystatechange = function()
	{
		if(HttPRequest.readyState == 4) // Return Request
		{
		window.document.getElementById('showpro').innerHTML = HttPRequest.responseText;
		showcook();
		}
	}
}
function delectcook(id)
{
	if (!HttPRequest) {
	alert('Cannot create XMLHTTP instance');
	return false;
	}
	var url ='dcook.php';
	var pmeters = 'P='+ encodeURI(id);
	HttPRequest.open('POST',url,true);
	
	HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	HttPRequest.setRequestHeader("Content-length", pmeters.length);
	HttPRequest.setRequestHeader("Connection", "close");
	HttPRequest.send(pmeters);
}
//-----------------------
function deletepro(id)
{
	alert(id);
}

</script>



addtocart

Code (PHP)
<?
ob_start();
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<?
	include('connect.inc.php');
?>
<body>
<?
	$pid=$_POST["Pid"];
	
	$strsql = "select productid,prodname,catname,unitprice from products where productid='$pid' ";
	$objquery = mysql_query($strsql) or die ("error query [".$strsql."]");
	
	while($objResult = mysql_fetch_row($objquery))
	{
		echo $objResult[0];
		echo "<br>";
		echo $objResult[1];
		echo "<br>";
		echo $objResult[2];
		echo "<br>";
		echo $objResult[3];
		echo "<br>";
		
	//set ใส cookie
	setcookie("cart[$numproduct]",$objResult[0],0);
	setcookie("cartprice[$numproduct]",$objResult[3],0);
	$numproduct++;
	setcookie("numproduct",$numproduct);
	
	}
	mysql_close();
?>
</body>
</html>
<?
ob_end_flush();
?>


shopajax.php
Code (PHP)
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<?
	include('connect.inc.php');
	include('shop.inc.php');
?>
<body>
<?
	$strsql = "select productid,prodname,catname,unitprice from products where categoryid='01' ";
	$objquery = mysql_query($strsql) or die ("error query [".$strsql."]");
?>
<table width="400" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td>รายการสินค้า</td>
  </tr>
  	<?
	while($objResult = mysql_fetch_row($objquery))
	{
	?>
  <tr>
    <td>
    <?=$objResult[0];?>&nbsp;:&nbsp;<?=$objResult[1];?><br />
    ประเภท&nbsp;<?=$objResult[2];?><br />
    ราคา&nbsp;<?=$objResult[3];?><br />
    <a href="#" onclick="javascript:addtocart('<?=$objResult[0]?>');">addtocart</a>
    </td>
    <?
	}
	?>
  </tr>
</table>
<?
/*สามารถทำแบบนี้ก็ได้
	while($objResult = mysql_fetch_row($objquery))
	{
		echo("<tr>");
		echo("<td>");
		echo("$objResult[0] : $objResult[1]<br>");
		echo("ประเภท : $objResult[2]<br>");
		echo("ราคา : $objResult[3] <br>");
		echo("<a href='#' onclick='javascript:addtocart('$objResult[0]);')'>addtocart</a> ");
		echo("</td>");
		echo("</tr>");
  	}
*/
?> 
</body>
</html>


dcook.php
Code (PHP)
<?
ob_start();
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
<?
setcookie("numproduct");
?>
</body>
</html>
<?
ob_end_flush();
?>



showcook.php
Code (PHP)
<?
ob_start();
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<?
	include('shop.inc.php');
?>
<body>
<strong>showcook</strong><br />
<?
	$a=1;
for($i=0;$i<$numproduct;$i++)
{
	echo "รายการที่ ",$a,"<br>";
	echo "สินค้าที่สั่งซื้อ = ",$_COOKIE["cart"][$i],"<br>";
	echo "ราคาสินค้า = ",$_COOKIE["cartprice"][$i],"<br>";	
	echo "<a onClick=\"deletepro('",$_COOKIE["cart"][$i],"');\">ลบ</a>";
	echo "<br>";
	$sumprice += $_COOKIE["cartprice"][$i];
	$a++;
}
	echo "<hr>";
	echo "สินค้าทั้งหมด = ",$_COOKIE["numproduct"],"<br>";
	echo "ราคารวม = ",$sumprice;
?>
</body>
</html>
<?
ob_end_flush();
?>


ส่วนตอนนี้ผมต้องไปทำความเข้าใจกับ cookie ผมก่อน ว่าทำไม คนล่ะ subfoder มันไม่บันทึกค่าให้
(ผมพลาดในส่วนไหนไปหรือเปล่าเนี้ย)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-17 23:30:27 By : vissarud
 


 

No. 5



โพสกระทู้ ( 110 )
บทความ ( 0 )



สถานะออฟไลน์


ปัญหา ณ ตอนนี้ น่าจะแก้ปัญหาตรง ค่าตัวแปรได้แล้ว จากที่ คุณ อ้นคุง ได้แนะนำ
https://www.thaicreate.com/php/forum/060320.html#2
เท่าที่ลองมีการ + จำนวนสินค้าแล้ว น่าจะแก้ปัญหา ตัวแปรได้แล้ว
https://www.thaicreate.com/php/php-register_global-on-off.html
แต่ตอนนี้ต้องดูต่อว่า คุกกี้ทำไมถึงไม่บันทึก
แล้วจะมารายงานต่อไปจบข่าวช่วงเที่ยงวัน อิๆ
ผม vissarud รายงาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-18 13:04:13 By : vissarud
 


 

No. 6



โพสกระทู้ ( 110 )
บทความ ( 0 )



สถานะออฟไลน์


สถานะการล่าสุด ณ ตอนนี้ ได้แก้ไขปัญหาได้แล้วครับ
ใครที่ติดปัญหา แนวๆผม ลองไปศึกษาดูครับ
https://www.thaicreate.com/php/php-register_global-on-off.html

ขอบคุณ ความมั่วของผม ,คุณ PlaKriM , คุณ อ้นคุง, บุญที่พาผมไปเปิดดูกระทู้อื่นๆ
สุดท้าย www.thaicreate.com
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-18 14:01:20 By : vissarud
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปัญหาบันทึก cookie บน host ค่าตัวแปรไม่บวกค่าให้ลองที่เครื่องตัวเองไม่เป็นไรครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่