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,027

HOME > PHP > PHP Forum > มี error Warning: Invalid argument supplied for foreach() ขึ้นครับ ไม่ทราบว่าต้องแก้ไขยังไงครับ



 

มี error Warning: Invalid argument supplied for foreach() ขึ้นครับ ไม่ทราบว่าต้องแก้ไขยังไงครับ

 



Topic : 111062



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



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




Code (PHP)
<?PHP
	session_start();
    include("connect.php");
	$_SESSION['cart'] = $_GET['p_id'];  

	if($_REQUEST['act']=='add' && !empty($_REQUEST['p_id']))
	{
		if(isset($_SESSION['cart'][$_REQUEST['p_id']]))
		{
			$_SESSION['cart'][$_REQUEST['p_id']]++;
		}
		else
		{
			$_SESSION['cart'][$_REQUEST['p_id']]=1;
		}
	}

	if($_REQUEST['act']=='remove' && !empty($_REQUEST['p_id']))
	{
		unset($_SESSION['cart'][$_REQUEST['p_id']]);
	}

	if($_REQUEST['act']=='update')
	{
		foreach($_POST['qty'] as $p_id=>$qty)
		{
			$_SESSION['cart'][$p_id]=$qty;
		}
	}
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
.style1 {
	color: #003399;
	font-weight: bold;
}
-->
</style>
<form id="frmcart" name="frmcart" method="post" action="?act=update" onsubmit="return check();" >
  <table width="600" border="0" align="center" class="square">
    <tr>
      <td colspan="5" bgcolor="#CCCCCC">
      <span class="style1">ตะกร้าสินค้า</span></td>
    </tr>
    <tr>
      <td bgcolor="#EAEAEA">สินค้า</td>
      <td align="center" bgcolor="#EAEAEA">ราคา</td>
      <td align="center" bgcolor="#EAEAEA">จำนวน</td>
      <td align="center" bgcolor="#EAEAEA">รวม/รายการ</td>
      <td align="center" bgcolor="#EAEAEA">remove</td>
    </tr>
<?PHP
	$total=0;
  	if(!empty($_SESSION['cart']))
  	{
		foreach($_SESSION['cart'] as $p_id=>$qty)
		{
			$sql	= " select * from product where p_id = $p_id ";
			$query	= mysql_query($sql) or die("error=$sql");
			$row	= mysql_fetch_array($query);
			$sum	= $row['p_price']*$qty;
			$total	+= $sum;
?>
    <tr>
      <td width="334"><?php echo $row['p_name'] ?>&nbsp;</td>
      <td width="46" align="right"><?php echo $row['p_price'] ?></td>
      <td width="57" align="right"><input type="text" id="qty" name="qty[<?php echo $p_id?>]"
      value="<?php echo $qty?>" size="2" /></td>
      <td width="93" align="right"><?php echo $sum ?>&nbsp;</td>
      <td width="46" align="center">
      <a href="cart.php?p_id=<?PHP echo $p_id?>&act=remove">remove</a>
      </td>
    </tr>
<?PHP    }   ?>
    <tr>
      <td colspan="3" bgcolor="#CEE7FF">Total</td>
      <td align="right" bgcolor="#CEE7FF"><?php echo $total ?>&nbsp;</td>
      <td align="left" bgcolor="#CEE7FF">&nbsp;</td>
    </tr>
    <tr>
      <td><a href="product.php">Back to product</a> </td>
      <td colspan="4" align="right">
      <input type="submit" name="button" id="button" value="update" />
      <input type="button" name="Submit2" value="checkout" 
      onclick="window.location='confirm.php';" /></td>
    </tr>
<?PHP
	}else
	{
		echo "<tr><td colspan='5' align='center'>
			Cart is empty  >>> <a href='product.php'>view product</a><<<
			</td></tr>";	
	}
?>
  </table>
  <script language="javascript">

function check() {
if(document.frmcart.qty.value=="") {
alert("กรุณากรอกจำนวนสินค้าด้วยค่ะ") ;
document.frmcart.qty.focus() ;
return false ;
}
else if(isNaN(document.frmcart.qty.value)) {
alert("กรุณากรอกเฉพาะตัวเลข!!!") ;
document.frmcart.qty.focus() ;
return false ;
}
else 
return true ;
}

  </script>
</form>



จากโค้ดนี้ครับ ตอนแรกรันใน โฮสปกติดีนะครับ

คราวนี้ผมก็นำมันมารัน บน xampp ครับแล้วมันก็ error

Fatal error: Call to undefined function session_register() in C:\xampp\htdocs\banbondoi\member\shop\cart.php on line 4

ผมเลยเปลี่ยน session_register("cart"); เป็น $_SESSION['cart'] = $_GET['p_id'];

แล้วมันก็ error

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\banbondoi\member\shop\cart.php on line 57

แบบนี้แทนอะครับ T^T



Tag : PHP, MySQL, HTML/CSS, JavaScript, jQuery









ประวัติการแก้ไข
2014-09-03 18:18:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-09-03 17:52:53 By : nest12345 View : 1154 Reply : 1
 

 

No. 1



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



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

ค่าในนี้ $_GET['p_id']; คงไม่ได้ส่งมาเป็นอาร์เรย์ จึงไม่สามารถใช้กับคำสั่ง foreach ได้กระมังครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-03 19:57:58 By : {Cyberman}
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มี error Warning: Invalid argument supplied for foreach() ขึ้นครับ ไม่ทราบว่าต้องแก้ไขยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่