0
我有一个页面,其中有一个表单,用户可以在其上添加对象。逐个。当用户发送表单时,将向当前页面发布POST以使用新对象更新$objects
。这是代码。在访问对象变量的属性时尝试获取非对象的属性
<?php
include ('header.php');
include ('dbc.php');
include ('object.php');
$objects = array();
if(isset($_POST['flag']))
{
$objects = unserialize($_POST['objects']);
$name = mysql_fix_string($_POST['name']);
$quantity = mysql_fix_string($_POST['quantity']);
$observation = mysql_fix_string($_POST['observation']);
$object = new Object();
$object->name = $name;
$object->quantity = $quantity;
$object->observation = $observation;
$objects[] = $object;
}
var_dump($objects);
?>
<body>
<div class="leftContainer">
<div class="upperContainer">
<div class="ContainerTitle">
Imagem do produto:
</div>
<div style="height: 200px;" class="upperContainerImageDiv"></div>
</div>
<div class="bottomContainer">
<div class="bottomContainerRequestsDiv">
<un>
<li class="listItem">
<?php
foreach ($object as $product)
{
$counter = 1;
?>
<div class="listItemInnerDiv">
//error here <span class="listItemInnerDivText"><?php echo $counter ." ". $product->name ?></span>
</div>
<?php
$counter + 1;
}
?>
</li>
</un>
</div>
</div>
</div>
<div class="rightContainer">
<form action="" method="POST">
<table style="margin-left: auto; margin-right: auto;">
<thead>
<div class="ContainerTitle">
Adicionar produto:
</div>
</thead>
<tbody>
<tr>
<td><span class="tdTitle">Produto:</span></td>
<td>
<select class="input" name="name" onchange="ImageUpdater(this.value);">
<option>Selecione</option>
<?php
$query = "SELECT g_id, name FROM `group`";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
?><optgroup label="<?php echo $row[1] ?>"><?php
$query = "SELECT name FROM `object` WHERE g_id='$row[0]'";
$secondaryResult = mysql_query($query);
while($secondaryRow = mysql_fetch_array($secondaryResult))
{
?><option><?php echo $secondaryRow[0] ?></option><?php
}
}
?>
</select>
</td>
</tr>
<tr>
<td><span class="tdTitle">Quantidade:</span></td>
<td>
<input class="input" type="number" name="quantity">
</td>
</tr>
<tr>
<td><span class="tdTitle">Observações:</span></td>
<td>
<input class="input" type="text" name="observation">
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="flag" value="1"/>
<input type="hidden" name="objects" value="<?php echo htmlentities(serialize($objects)) ?>"/>
<center><input name="addbutton" type="submit" value="Adicionar"/></center>
</form>
</div>
</body>
</html>
的问题,当我试图通过我的对象重复,以获取他们的价值观,并把它们名单上时,我得到Trying to get property of non-object
。
这是我Object
类的代码:
<?php
class Object
{
public $name;
public $quantity;
public $observation;
}
?>
什么我错在这里做什么,这是为什么错误出现?
结束你的数组被称为的 'S''$ objects';你的foreach循环是从'$ object'生成的 - 我认为后者需要's'结尾 – andrewsi 2013-04-26 18:23:43
确实。不能相信我没有看到。发布它作为答案,我会将其标记为已回答。 – 2013-04-26 18:25:48
我想我们都做过这样的事情。很高兴有帮助。 – andrewsi 2013-04-26 18:28:16