Re: php bug?
On 28/09/2010 20.47, Rob Richards wrote:
On 9/28/10 7:56 AM, mcberta2 wrote:
On 27/09/2010 13.29, Rob Richards wrote:
On 9/27/10 4:06 AM, mcberta2 wrote:
On 9/26/2010 6:34 PM, Adam Trachtenberg wrote:
On Sun, Sep 26, 2010 at 12:36 AM, mcberta2<
[email protected]>
wrote:
Hello everyone.
The following is an extract of a routine returning error messages
from a
xml file:
function title($index)
{
$xml = simplexml_load_file("lingo.xml");
return $xml->message[$index];
}
The problem is that if I call the routine with a value [ex.
title(6)] I
receive the message, whereas if I call the routine with a variable
[ex.
title($value) where $value=6] there is no way I can receive the
message.
I tried in many different ways but it looks like it's a bug of
simple_xml.
This isn't too helpful, but I'm 99.94% it's something in your code.
Simplify your code until you find the shortest piece that works and
then add
back lines until you find your error.
-adam
Thank you for coming to help.
That's what I did.
The routine can't get shorter than that. I attach now the xml file
(shortest version). Just to be clear:
<?xml version="1.0" encoding="utf-8"?>
<messages>
<message id="0">About us</message>
<message id="1">Nothing has been ordered!</message>
<message id="2">Continue shopping</message>
<message id="3">Shopping cart</message>
<message id="4">Contact us</message>
<message id="5">News</message>
<message id="6">Welcome</message>
</messages>
Am I referencing the nodes incorrectly?
Thank you
Andrea
How about the full script as you don't include how/what you are passing
to the title function.
Rob
Ok. I made a mistake.
I forgot to mention that the variable used for calling the function
title comes from an INPUT tag of a form. Ex:
<?php
function title( $index )
{
$xml = simplexml_load_file( 'lingo.xml' ) ;
return $xml->message[$index] ;
}
$param = $_POST['msgs'] ; //'msgs' coming from an INPUT tag of a form
$value = title( $param ) ;
echo( $value ) ;
?>
While before the function returns the message stored in the xml file,
now it return no value.
Any idea why?
Cast it to a int otherwise $param is being set as a string which then
causes simplexml to look for attributes by name on the first message
element.
Rob
Thanks a lot Rob.
I really overlooked that.
Thank you for coming to help.
Andrea
Thread (7 messages)