我在表单选择上有一个标签,我用$ _POST得到了这个值:
$gallery = array($_POST['gallery']);
并将该值放在此处:
$image = $sitemap->gallery[$gallery]->addChild('image');
问题是给我的错误如下:
Fatal error: Call to a member function addChild() on a non-object in
我不明白,如果我把一个值直接放在我身上就像这样:
$gallery = 0;
$Image = $sitemap->gallery[$gallery]->addChild('image');
我做得好,发生的事情是我希望用户选择, 有点奇怪,因为它可能会解决。
答案 0 :(得分:0)
使用它:
$gallery = $_POST['gallery'];
而不是:
$gallery = array($_POST['gallery']);
传递未正确索引的数组
或者你可以这样试试:
$gallery = array('gallery' => $_POST ['gallery']);
或
$image = $sitemap->gallery[$gallery[0]]->addChild('image');
无论哪种方式都应解决问题
答案 1 :(得分:0)
非常感谢,但我测试了这个并且给了我同样的错误
$gallery=array('gallery'=>$_POST['galeria']);
$image = $sitemap->gallery[$gallery]->addChild('image');
我不明白我的选择表格如下:
<select id="textfield" name="galeria">
<option id="textfield" value="">Escoger de la Lista</option>
<?php
$source = 'content.xml';
// load as string
$xmlstr = file_get_contents($source);
$sitemap = new SimpleXMLElement($xmlstr);
// load as file
$sitemap = new SimpleXMLElement($source,null,true);
//$bar_count = $sitemap->gallery->count();
//for($i=0;$i<$bar_count;$i++){
$contador="0";
foreach($sitemap->gallery as $content) {
$atributo = $content->attributes();
echo "<option id='textfield' value='".$contador."'>".$atributo['Name']. "</option>";
//}
$contador++;
}
?>
</select>
无论如何,我已经尝试过做了一个回声,我得到了结果,不明白
答案 2 :(得分:0)
了解数组:
$gallery = array($_POST['gallery']);
echo "Gallery Array: <pre>".print_r($gallery,true)."</pre><br />";
输出:
Array
(
[0] => 'value in array'
)
如何从数组中获取值:
echo "Get Array Value: ".$gallery[0]."<br />"; // You should be displaying the array index 0
添加自定义索引
$gallery = array('gallery' => $_POST['gallery']);
echo "Gallery Array: <pre>".print_r($gallery,true)."</pre><br />";
输出: 阵列
(
[gallery] => 'value in array'
)
从客户索引数组中获取值
echo "Get Array Value: ".$gallery['gallery']."<br />"; // You should be displaying the array index gallery