出現 Warning: count(): Parameter must be an array or an object that implements Countable in K:\backup\drink - BACKUP\receive.php on line 65
在接收頁的62~70行
<?php
if ($_POST['ITEM'] !=null)
{
for ($i = 0 ; $i < count($_POST['ITEM']);$i++)
{
echo $_POST['ITEM'][$i]." ";
}
}
?><br>
請問該如何解決?
傳送頁
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by TEMPLATED
http://templated.co
Released for free under the Creative Commons Attribution License
Name : Stratagem
Description: A two-column, fixed-width design with dark color scheme.
Version : 1.0
Released : 20130707
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery-2.1.3.js" type="text/javascript"></script>
<script src="highcharts.js" type="text/javascript"></script>
<script src="jquery.highchartTable.js" type="text/javascript"></script>
<title>飲料自助吧</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" media="all" />
<link href="fonts.css" rel="stylesheet" type="text/css" media="all" />
<style type="text/css">
.map {
width: 600px;
height: 800px;
margin-left: auto;
margin-right: auto;
}
</style>
<!--[if IE 6]>
<link href="default_ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
</head>
<body>
<form action="receive.php" name="from" method="POST">
<div id="wrapper">
<div id="menu-wrapper">
<div id="menu" class="container">
<ul>
<li><a href="index.html">首頁</a></li>
<li><a href="news.html">最新消息</a></li>
<li><a href="menu.html">菜單</a></li>
<li class="current_page_ITEM"><a href="onlinebuy.php">線上訂購</a></li>
<li><a href="contactus.html">聯絡我們</a></li>
</ul>
</div>
</div>
<div id="header-wrapper">
<div id="header" class="container">
<div id="logo">
<h1>飲料自助吧</h1>
<marquee scrollamount="5"><font face="標楷體"><font color="white">最便利的線上飲品訂購外送服務 最新優惠 一觸即發</font></font></marquee>
</div>
</div>
</div>
<div class=" left">
訂貨人:<input type="text" name="name"><br>
電話:<input type="text" name="phone"><br>
地址:<input type="text" name="address"><br>
---------------------------------------------------------<br>
鮮榨果汁
<tr>
<td><P></td>
</tr>
<tr>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="大紅西瓜,40">大紅西瓜</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="小玉西瓜,40">小玉西瓜</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="綜合水果,40">綜合水果</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="奇異果汁,40">奇異果汁</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="火龍果汁,40">火龍果汁</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="金桔檸檬,40">金桔檸檬</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="香蕉芭樂,40">香蕉芭樂</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="鳳梨蘋果,50">鳳梨蘋果</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="葡萄水梨,50">葡萄水梨</td>
</tr>
</table>
</div>
<div class="float">
特級茗茶
<tr>
<td><P></td>
</tr>
<tr>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="凍頂烏龍,40">凍頂烏龍</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="烏龍綠茶,40">烏龍綠茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="玉露綠茶,40">玉露綠茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="四季青茶,40">四季青茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="錫蘭紅茶,40">錫蘭紅茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="正山紅茶,40">正山紅茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="特級普洱,40">特級普洱</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="鐵觀音茶,50">鐵觀音茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="情人果茶,50">情人果茶</td>
</tr>
</table>
</div>
<div class="float">
混搭牛奶
<tr>
<td><P></td>
</tr>
<tr>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="烏龍牛奶,40">烏龍牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="綠茶牛奶,40">綠茶牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="木瓜牛奶,40">木瓜牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="香蕉牛奶,40">香蕉牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="可可牛奶,40">可可牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="紅茶牛奶,40">紅茶牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="黑糖牛奶,40">黑糖牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="豆沙牛奶,50">豆沙牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="翡翠牛奶,50">翡翠牛奶</td>
</tr>
</table>
</div>
<div class="float">
好料飲品
<tr>
<td><P></td>
</tr>
<tr>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="珍珠紅茶,40">珍珠紅茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="珍珠綠茶,40">珍珠綠茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="珍珠烏龍,40">珍珠烏龍</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="布丁紅茶,40">布丁紅茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="布丁綠茶,40">布丁綠茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="布丁烏龍,40">布丁烏龍</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="蒟蒻紅茶,40">蒟蒻紅茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="蒟蒻綠茶,50">蒟蒻綠茶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="蒟蒻烏龍,50">蒟蒻烏龍</td>
</tr>
</table>
</div>
<div class="float">
期間限定
<tr>
<td><P></td>
</tr>
<tr>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="花生牛奶,40">花生牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="芋頭牛奶,40">芋頭牛奶</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="紅豆桂花,40">紅豆桂花</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="薑汁桂圓,40">薑汁桂圓</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="薑汁檸檬,40">薑汁檸檬</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="抹茶紅豆,40">抹茶紅豆</td>
</tr>
<tr>
<td><input TYPE=CHECKBOX NAME=ITEM VALUE="香蕉芭樂,40">香蕉芭樂</td>
</tr>
</table>
<tr>
</tr>
</div>
<input TYPE="submit" value="送出" onClick="receive.php">
<input TYPE="reset" value="重寫">
<div id="banner" class="container"> <a href="#" class="image"></a></div>
</div>
</form>
<div id="copyright" class="container">
<p>© TAIWAN. All rights reserved. | Photos by <a href="login.html">紅色布丁狗</a> | Design by <a href="login.html" rel="nofollow">藍色布丁狗</a>.</p>
</div>
</body>
</html>
接收頁
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset = utf-8" />
<script src="jquery-2.1.3.js" type="text/javascript"></script>
<script src="highcharts.js" type="text/javascript"></script>
<script src="jquery.highchartTable.js" type="text/javascript"></script>
<title>飲料自助吧</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" media="all" />
<link href="fonts.css" rel="stylesheet" type="text/css" media="all" />
<style type="text/css">
.map {
width: 600px;
height: 800px;
margin-left: auto;
margin-right: auto;
}
</style>
<!--[if IE 6]>
<link href="default_ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
</head>
<body>
<div id="wrapper">
<div id="menu-wrapper">
<div id="menu" class="container">
<ul>
<li><a href="index.html">首頁</a></li>
<li><a href="news.html">最新消息</a></li>
<li><a href="menu.html">菜單</a></li>
<li class="current_page_item"><a href="onlinebuy.php">線上訂購</a></li>
<li><a href="contact us.html">聯絡我們</a></li>
</ul>
</div>
</div>
<div id="header-wrapper">
<div id="header" class="container">
<div id="logo">
<h1>確認訂單</h1>
<marquee scrollamount="5"><font face="標楷體"><font color="white">最便利的線上飲品訂購外送服務 最新優惠 一觸即發</font></font></marquee>
</div>
</div>
</div>
<form>
<?php
$con = mysqli_connect("127.0.0.1","root1","123456","test");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"SELECT * FROM `data`");
mysqli_query($con,"INSERT INTO `data`(name,phone,address,ITEM) VALUES ('".$_POST["name"]."','".$_POST["phone"]."','".$_POST["address"]."','".$_POST["ITEM"]."')");
mysqli_close($con);
?>
訂貨人姓名:<?php echo $_POST['name'];?><br>
電話:<?php echo $_POST['phone'];?><br>
地址:<?php echo $_POST['address'];?><br>
訂單:<?php
if ($_POST['ITEM'] !=null)
{
for ($i = 0 ; $i < count($_POST['ITEM']);$i++)
{
echo $_POST['ITEM'][$i]." ";
}
}
?><br>
</form>
<div id="banner" class="container"> <a href="#" class="image"></a> </div>
</div>
<div id="copyright" class="container">
<p>© TAIWAN. All rights reserved. | Photos by <a href="#">紅色布丁狗</a> | Design by <a href="#" rel="nofollow">藍色布丁狗</a>.</p>
</div>
</body>
</html>
不要傳遞無效的參數給count(),先用isset()驗證參數是否存在。另外使用for不要反覆呼叫count(),應該先用count()取出陣列最大值在進行。若要明確設定條件為null,最好使用$_POST['ITEM'] === null或者is_null()判斷,否則可能會產生其他結果。
<?php
if (isset($_POST['ITEM']) && $_POST['ITEM'] != null) {
$count = count($_POST['ITEM']);
for ($i = 0 ; $i < $count;$i++) {
echo $_POST['ITEM'][$i];
}
}
?>
if ($_POST['ITEM'] !=null)
{
for ($i = 0 ; $i < count($_POST['ITEM']);$i++)
{
echo $_POST['ITEM'][$i]." ";
}
}
改成
if (is_array($_POST['ITEM']))
{
foreach($_POST['ITEM'] AS $_item){
echo $_item;
}
}