OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
php-general Digest 28 Sep 2007 06:31:05 -0000 Issue 5042

php-general-digest-helplists.php.net
Date: Fri Sep 28 2007 - 01:31:05 CDT


php-general Digest 28 Sep 2007 06:31:05 -0000 Issue 5042

Topics (messages 262527 through 262549):

Re: counting with leading zeros
        262527 by: tedd
        262546 by: brian

Re: languages and PHP
        262528 by: Per Jessen
        262531 by: Colin Guthrie
        262536 by: Edward Vermillion
        262537 by: Per Jessen
        262538 by: Per Jessen
        262539 by: mike
        262540 by: Edward Vermillion
        262541 by: Per Jessen

Re: problems with donwload
        262529 by: Jim Lucas

Re: simple product selection guide
        262530 by: tedd

Re: PDOStatement execute memory issue?
        262532 by: Carlton Whitehead
        262535 by: Carlton Whitehead

Conditional jump menu
        262533 by: Steve Marquez
        262534 by: Jay Blanchard

want to learn about zend
        262542 by: Gonzalo PHPFan
        262544 by: Tijnema

Curl Timeout causing Firefox to Download PHP File ?!?
        262543 by: Rahul Sitaram Johari

SimpleXMLElement is not Simple
        262545 by: Jeffery Fernandez
        262547 by: Nathan Nobbe
        262548 by: Jeffery Fernandez

trigger_error() problems
        262549 by: Alexander A Miroch

Administrivia:

To subscribe to the digest, e-mail:
        php-general-digest-subscribelists.php.net

To unsubscribe from the digest, e-mail:
        php-general-digest-unsubscribelists.php.net

To post to the list, e-mail:
        php-generallists.php.net

----------------------------------------------------------------------

attached mail follows:


At 10:39 PM -0400 9/26/07, brian wrote:
>Now you're obviously just trying to be a dickhead.

While someone is, it's not Rob.

Cheers,

tedd

--
-------
http://sperling.com http://ancientstones.com http://earthstones.com

attached mail follows:


tedd wrote:
> At 3:58 PM -0400 9/26/07, brian wrote:
>
>> Well, this is almost precisely the same thing i have, save for
>> using POSIX character classes, str_pad instead of sprintf(), and
>> incrementing elsewhere. What i was really wondering is if there was
>> a *much simpler* way to do this, not just re-arranging things.
>
> Rob just gave you code that works better than what you did and you're
> bitching about it?
>
> Look, none of us are on your payroll so appreciate what you're given.
>
> My advice, says thanks and if the code doesn't meet your expectations
> then learn how to better phrase your question next time.
>
> tedd
>

I wasn't bitching! And i *thought* that my numerous attempts at
explaining such would have been enough. Obviously not, but wtf can you
do with people who seem to want only to stir up shit?

Jim Lucas wrote:
> Well, I didn't want to get into the middle of this cat fight, but now
> that the talks have completely gotten off topic. I will
> interject...
>

Perfect timing, then.

> Here is a function that is a bit simpler then either of yours.
>
> Now, if you plan to delete any images in the list, this will not
> work.

There's a daemon that locks the dir, zips up the contents, moves it
elsewhere, then removes everything at once.

> <?php
>
> function getNextImage($path, $prefix) { $filelist =
> glob("${path}${prefix}*") or return '01'; return
> str_pad(((int)count($filelist)+1), 2, '0', STR_PAD_LEFT); }
>
> ?>

Sweet! Thanks much!

brian

attached mail follows:


David Christopher Zentgraf wrote:

> Your biggest problem will be if you accept any kind of user input
> which could be in any kind of language.
> Depending on your server configuration you'll probably have some
> serious cleaning and filtering to do.
> I often have to employ this line for example:
> foreach (array_keys($_POST) as $key) $clean[$key] =
> mb_convert_encoding($_POST[$key], "UTF-8");
>
> Trying to make sure that you'll receive UTF-8 helps as well:
> <form action="form.php" method="post" enctype="multipart/form-data"
> accept-charset="utf-8">

I work almost exclusively in UTF-8 (language irrelevant), but I've never
had to do any of the above. The mb_convert_encoding() from UTF-8 to
UTF-8 doesn't seem to make much sense?

/Per Jessen, Zürich

attached mail follows:


Per Jessen wrote:
> David Christopher Zentgraf wrote:
>
>> Your biggest problem will be if you accept any kind of user input
>> which could be in any kind of language.
>> Depending on your server configuration you'll probably have some
>> serious cleaning and filtering to do.
>> I often have to employ this line for example:
>> foreach (array_keys($_POST) as $key) $clean[$key] =
>> mb_convert_encoding($_POST[$key], "UTF-8");
>>
>> Trying to make sure that you'll receive UTF-8 helps as well:
>> <form action="form.php" method="post" enctype="multipart/form-data"
>> accept-charset="utf-8">
>
> I work almost exclusively in UTF-8 (language irrelevant), but I've never
> had to do any of the above. The mb_convert_encoding() from UTF-8 to
> UTF-8 doesn't seem to make much sense?

I agree. Provided you HTML is dished out with UTF-8 in the doctype
definiton etc. then all forms are automatically sent in UTF-8....

Also for multilingual content (labels etc.) in PHP have a look at the
gettext extension. This will let you code in your default language with
a minimal wrapper and translate to other languages with catalog files.

Be careful about breaking strings tho' as the xgettext crawler file will
not be able to extract strings properly. Also do not use variable
substituion but rather use printf/sprintf e.g.:
  $var = sprintf(_('Here is %d example of a translatable string.'), 1);

That way the string you translate is nice and standard.(here _() is the
name of the gettext function which is quite common).

You may leave this up to your templating engine (e.g. no labels in
code), so it may not matter.

Also if you are writing modular code, ensure you think about the gettext
domains first and you'll probably want to pass the domain in with
*every* string in your system to ensure it's modular design (e.g. each
module has it's own gettext domain). If you want a good example of
modular gettext usage, I'd recommend looking at the source of gallery2.

HTH.

Col

attached mail follows:


On Sep 27, 2007, at 10:09 AM, Colin Guthrie wrote:

> Per Jessen wrote:
>> David Christopher Zentgraf wrote:
>>
>>> Your biggest problem will be if you accept any kind of user input
>>> which could be in any kind of language.
>>> Depending on your server configuration you'll probably have some
>>> serious cleaning and filtering to do.
>>> I often have to employ this line for example:
>>> foreach (array_keys($_POST) as $key) $clean[$key] =
>>> mb_convert_encoding($_POST[$key], "UTF-8");
>>>
>>> Trying to make sure that you'll receive UTF-8 helps as well:
>>> <form action="form.php" method="post" enctype="multipart/form-data"
>>> accept-charset="utf-8">
>>
>> I work almost exclusively in UTF-8 (language irrelevant), but I've
>> never
>> had to do any of the above. The mb_convert_encoding() from UTF-8 to
>> UTF-8 doesn't seem to make much sense?
>
> I agree. Provided you HTML is dished out with UTF-8 in the doctype
> definiton etc. then all forms are automatically sent in UTF-8....
>

But what happens if you get data that's *not* UTF-8? Just because
your html/form is set to UTF-8 doesn't mean that all your incoming
data will be UTF-8.

Ed

attached mail follows:


Colin Guthrie wrote:

> Per Jessen wrote:
>> I work almost exclusively in UTF-8 (language irrelevant), but I've
>> never had to do any of the above. The mb_convert_encoding()
>> fromUTF-8 to UTF-8 doesn't seem to make much sense?
>
> I agree. Provided you HTML is dished out with UTF-8 in the doctype
> definiton etc. then all forms are automatically sent in UTF-8....

Quite so.

> Also for multilingual content (labels etc.) in PHP have a look at the
> gettext extension. This will let you code in your default language
> with a minimal wrapper and translate to other languages with catalog
> files.

I haven't done much with gettext yet - I use apache language content
negotiation, separate source-files per language, and try hard to keep
my PHP code language neutral.

/Per Jessen, Zürich

attached mail follows:


Edward Vermillion wrote:

> But what happens if you get data that's *not* UTF-8? Just because
> your html/form is set to UTF-8 doesn't mean that all your incoming
> data will be UTF-8.

Yes it does. If your HTML page was sent in UTF-8, any request
originating from that page will also be in UTF8.

/Per Jessen, Zürich

attached mail follows:


On 9/27/07, Edward Vermillion <evermilliondoggydoo.net> wrote:

> But what happens if you get data that's *not* UTF-8? Just because
> your html/form is set to UTF-8 doesn't mean that all your incoming
> data will be UTF-8.

just my experience, but as long as it has the meta tag w/ utf-8 in it,
the browser sends (and receives) utf-8. i can store the strings in
mysql without modification or character set conversion, it works like
a charm.

the only thing that might need help then is doing string modifications
like urlencoding, or replacement on the utf-8 characters... i haven't
had to do that yet, but otherwise the end-to-end utf-8 solution has
worked like a charm for me.

but yes, it does require browsers+utf8, running it out of that context
may or may not work depending on what you're trying to do with the
data..

attached mail follows:


On Sep 27, 2007, at 1:49 PM, Per Jessen wrote:

> Edward Vermillion wrote:
>
>> But what happens if you get data that's *not* UTF-8? Just because
>> your html/form is set to UTF-8 doesn't mean that all your incoming
>> data will be UTF-8.
>
> Yes it does. If your HTML page was sent in UTF-8, any request
> originating from that page will also be in UTF8.
>
>

... and you can guarantee that any data coming into your site comes
from your form?!? WOW!!!

;)

So back to my original question, what breaks if you're *expecting*
UTF-8 and you don't *get* UTF-8?

Ed

attached mail follows:


Edward Vermillion wrote:

> ... and you can guarantee that any data coming into your site comes
> from your form?!? WOW!!!
>
> ;)
>
> So back to my original question, what breaks if you're *expecting*
> UTF-8 and you don't *get* UTF-8?

As long as my server isn't vulnerable to it, I couldn't care less. I'm
certainly not going to be that defensive and write my code to deal with
such situations. If someone POSTs or GETs something not in UTF-8 from
outside my site, and I can't deal with it, it's their problem, not
mine.

And with PHP being the solid platform it is, it wouldn't dream of taking
down my server just because I get KOI8-R when I expected UTF-8 :-)

/Per Jessen, Zürich

attached mail follows:


Hulf wrote:
> Under the results there are 3 files to download. Some users are getting an
> uable to read or corrupt message.
>
> http://vps.aztechost.co.uk/~trisco/index.php
>
>
> and 3 here
>
> http://vps.aztechost.co.uk/~trisco/rankings.php
>
>
> The upload script is similar
>
>
> if(isset($_POST['_upload']) && $_FILES['userfile']['size'] > 0)
> {
>
>
> $fileName = $_FILES['userfile']['name'];
> $tmpName = $_FILES['userfile']['tmp_name'];
> $fileSize = $_FILES['userfile']['size'];
> $fileType = $_FILES['userfile']['type'];
>
> $fp = fopen($tmpName, 'r');
> $content = fread($fp, filesize($tmpName));
> $content = addslashes($content);
> fclose($fp);
>
> if(!get_magic_quotes_gpc())
> {
> $fileName = addslashes($fileName);
> }
>
>
> $id= $_POST['id'];
> /*$query = "UPDATE results SET title='$title', file_name='$fileName',
> size='$fileSize', type='$fileType', content='$content',
> last_updated=CURDATE() WHERE id=$id";*/
>
> $query ="INSERT INTO results (title, content, file_name, size, type,
> last_updated) VALUES ('$title', '$content', '$fileName', '$fileSize',
> '$fileType', CURDATE())";
>
> mysql_query($query);
> echo mysql_error();
>
> }
>
>
> and the download....
>
> <?php
> if(isset($_GET['id']))
> {
> // if id is set then get the file with the id from database
> include("/home/trisco/public_html/secure/scripts/connect.php");
>
> $id = $_GET['id'];
> $query = "SELECT file_name, type, size, content FROM results WHERE id =
> '$id'";
>
> $result = mysql_query($query) or die(mysql_error());;
> list($file_name, $type, $size, $content) =

here you set a variable called $file_name

> mysql_fetch_array($result);
>
> /*echo $file_name;
> echo $type;
> echo $size;*/
>
>
> header("Content-Type: $type");
> header("Content-Disposition: attachment; filename=$file_name");

here you are using $file_name

> header("Content-Length: ".filesize($file));

here you are using $file

Isn't this something that someone pointed out earlier in the week?

from the input script, it looks like you should be using $size instead of filename($file)

> header("Accept-Ranges: bytes");
> header("Pragma: no-cache");
> header("Expires: 0");
> header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
> header("Content-transfer-encoding: binary");
>
> echo $content;
> exit;
>
> }
>
> ?>
> Thanks,

--
Jim Lucas

    "Some men are born to greatness, some achieve greatness,
        and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
     by William Shakespeare

attached mail follows:


At 12:07 PM -0400 9/26/07, David wrote:
>This is probably pretty basic but : I'd like to create a page where the end
>result is the product(s) listed based on certain criteria selected by the
>user, so I would like a drop down menu or other means that they select from
>and based on that selection a second list apears and then a third list, and
>then from those criteria have the product or products listed.... I have a
>php/mysql host. What would you recomend to develop this. Thanks.

A lot of work in both php and mysql.

Here's an example:

http://ancientstones.com

It's quite involved.

Good luck, it can be done.

Cheers,

tedd

--
-------
http://sperling.com http://ancientstones.com http://earthstones.com

attached mail follows:


The problem is isolated to PDO ODBC -- old school ODBC works fine.
Below are my test cases.

Plain old ODBC:

<?php
// lobtestOdbc.php
$res = odbc_connect('fmarchive_mssql', 'change', 'me');
if (!$res) { die ('failed to connect'); }

$stp = 'SELECT attdata FROM fm_faxin_att WHERE id = 119085913400004 AND
attid = 0'; // statement to prepare
$ps = odbc_prepare($res, $stp);
if (!$res) { die ('failed to prepare statement'); }

$execResult = odbc_execute($ps);
echo var_export($execResult, true);

?>

The output from the plain old ODBC test case is: true
(indicating that odbc_execute succeeded, see
http://www.php.net/manual/en/function.odbc-execute.php).

Next up, PDO ODBC:

<?php
// lobtestPdoOdbc.php
try
{
    $db = new PDO('odbc:fmarchive_mssql', 'change', 'me');
   
    $stp = 'SELECT attdata FROM fm_faxin_att WHERE id = 119085913400004
AND attid = 0'; // statement to prepare
    $ps = $db->prepare($stp);
    $execResult = $ps->execute();
    var_export($execResult, true);
}
catch (PDOException $e)
{
    die($e->getMessage());
}

?>

When running lobtestPdoOdbc.php, I get the same old error:

*Fatal error*: Out of memory (allocated 262144) (tried to allocate
4294967295 bytes) in *C:\Inetpub\wwwroot\FMarchive\lobtestPdoOdbc.php*
on line *9*

I tried removing the try-catch blocks with no change in output (still
gets the exact same Fatal Error) -- not like that would be an acceptable
solution anyway.

It appears this is a problem with PDO. I'm starting to really get out
of my league now. How can I go about fixing this?

Regards,
Carlton Whitehead

Larry Garfield wrote:
> On Wednesday 26 September 2007, Carlton Whitehead wrote:
>
>
>> Could this be some bug in the way PHP, PDO, ODBC, and/or MS SQL are
>> communicating? Maybe 'image' columns aren't being handled correctly?
>> I'm fairly certain my code is correct. I appreciate all of your comments.
>>
>> Has anyone even tried querying an 'image' type column out of MS SQL 2005
>> using PDO ODBC?
>>
>> Regards,
>> Carlton Whitehead
>>
>
> Try isolating the problem. If you have a literal query through PDO that
> fails, in isolation, try the same query using the old-skool odbc routines;
> just a trivial test script. If that works but the same test script converted
> to minimal PDO fails, you've found a bug. If it fails in both cases, I'd
> start blaming something else.
>
>

attached mail follows:


Hi Colin,

The MS documentation says the image type can hold up to 2GB: http://technet.microsoft.com/en-us/library/ms187993.aspx

It appears someone beat me to filing a bug report about this: http://bugs.php.net/bug.php?id=42765

I guess that's that for now until this gets fixed.

Regards,
Carlton Whitehead

----- Original Message -----
From: "Colin Guthrie" <gmanecolin.guthr.ie>
To: php-generallists.php.net
Sent: Thursday, September 27, 2007 4:04:53 AM (GMT-0500) America/New_York
Subject: [PHP] Re: PDOStatement execute memory issue?

Carlton Whitehead wrote:
> Is something causing the memory allocation
> to loop until it reaches this maximum value?

I don't think so as the 4GB value is mentioned in the error message.
Usually when memory is exhausted in a loop it will say "(tried to
allocate 100 bytes)" - e.g. a little amount.

This appears to do it in one chunk.

I wonder if this is trying to allocate memory for the maximum potential
size of your field in the DB? Perhaps read up on PDO/ODBC/MSSQL and how
they treat BLOBs.... (I don't know myself).

Col

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

attached mail follows:


Does anyone know how to create a field based on a menu choice?

When the menu is selected, then another field is created with an associated
number.

For instance:

Selection = Collie Field = 1
Selection = Akita Field = 2

And so on...

Thanks,

--
Steve M.

attached mail follows:


[snip] Does anyone know how to create a field based on a menu choice?

When the menu is selected, then another field is created with an
associated
number.

For instance:

Selection = Collie Field = 1
Selection = Akita Field = 2
[/snip]

Javascript, DHTML, and AJAX

attached mail follows:


hello people anyone know a good tutorial to learn the basics of zend, how it
works and how to use?

Regards,
Gonzalo

attached mail follows:


On 9/27/07, Gonzalo PHPFan <gonzalophpfangmail.com> wrote:
> hello people anyone know a good tutorial to learn the basics of zend, how it
> works and how to use?
>
> Regards,
> Gonzalo
>

Google: "Zend Basics"
First result: Understanding the Zend Framework, Part 1: The basics
www.ibm.com/developerworks/opensource/library/os-php-zend1

Tijnema

--
If this is a mailing list: DO NOT TOP POST! why?:
http://www.caliburn.nl/topposting.html

Vote for PHP Color Coding (aka Syntax Highlighting) in Gmail! ->
http://gpcc.tijnema.info

attached mail follows:


Ave,

I¹m not sure what¹s causing the problem, but I have a feeling that its¹ a
timeout issue.
I have a curl function that retrieves specific data from a remote webpage.
The script works fine on my localhost, but when I upload it to my remote
server, the script tries to execute, but 10 ­ 15 seconds into it, Firefox
gives me an option to download the PHP script. Googling it I found that the
Curl function taking too long might cause a timeout, which Firefox
interprets by giving a Download option for the script. Safari on the other
hand says ³Could not load data from script². Again, same script works on
localhost on both browsers.

I don¹t know if that¹s the real cause or if something is wrong with my
script. Note that latest PHP & Curl are enabled and working on the remote
server, and other PHP pages & curl functions run on that remote server, so
that¹s not an issue.

Here¹s my curl function:

<?php
# Gather cookies in a Jar
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, ³path-to-cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.mywebsite.com");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
ob_start(); // prevent any output
curl_exec ($ch); // execute the curl command
ob_end_clean(); // stop preventing output
curl_close ($ch);
unset($ch);

# Login with your Cookie Jar
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "usr=usrname&pwd=password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, path-to-cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.mywebsite.com");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec ($ch);
curl_close ($ch);

# Get the text in the middle of ...
function get_middle($source, $beginning, $ending, $init_pos) {
    $beginning_pos = strpos($source, $beginning, $init_pos);
    $middle_pos = $beginning_pos + strlen($beginning);
    $ending_pos = strpos($source, $ending, $beginning_pos + 1);
    $middle = substr($source, $middle_pos, $ending_pos - $middle_pos);
    return $middle;
}

# trim result and get what you need ...
$share_ratio = get_middle($result, 'Share ratio', '</tr>', 0);
$share_ratio2 = trim(ereg_replace("[\n\r\t]", "", $share_ratio));
$share_ratio3 = substr($share_ratio2, 25, 5);
echo "Ratio: <STRONG>$share_ratio3</STRONG>";
?>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rahul Sitaram Johari
CEO, Twenty Four Seventy Nine Inc.

W: http://www.rahulsjohari.com
E: sleepwalkerrahulsjohari.com

³I morti non sono piu soli ... The dead are no longer lonely²

attached mail follows:


I am having nightmares with this bit off code.

The following code work perfectly fine:

$soap_request_string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:Gateway_Proxy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<env:Body>
  <ns1:make_proxy_payment env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
    <payment_id>61ecc268-1cd0-f468</payment_id>
    <payment_amount>15495</payment_amount>
    <callback_query_string>&amp;payment_id=61ecc268-1cd0-f468</callback_query_string>
    <transaction_note>Order from Student Library Fees with Payment Id: 61ecc268-1cd0-f468</transaction_note>
  </ns1:make_proxy_payment>
</env:Body>
</env:Envelope>
XML;

$xml = new SimpleXMLElement($soap_request_string, NULL, false, 'http://www.w3.org/2003/05/soap-envelope');
print_r($xml);
$ns = $xml->getNamespaces(true);
//print_r($ns);

foreach ($xml->children($ns['env']) as $body)
{
    //printf("%s<br />", $body->getName());
       
        foreach ($body->children($ns['ns1']) as $function)
        {
            printf("function %s()<br />", $function->getName());
           
            foreach ($function->children() as $parameters)
            {
                    printf("%s => \"%s\"<br />", $parameters->getName(), $parameters);
            }
        }
}

However when the XML string is coming from the database it does not work. The Field and table have a collation of "utf8_unicode_ci"

$soap_request_string = trim(str_replace(array("\n"), '', $record['SoapRequestEnvelope']));
$xml = new SimpleXMLElement($soap_request_string, NULL, false, 'http://www.w3.org/2003/05/soap-envelope');
print_r($xml);

The above code is supposed to print out the following (for me to proceed further):

SimpleXMLElement Object
(
    [Body] => SimpleXMLElement Object
        (
        )
)

but only returns:
SimpleXMLElement Object
(
)

The XL string from the database looks exactly like this (after replacing new lines):

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:Gateway_Proxy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:make_proxy_payment env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><payment_id>5ce30dcc-7df7-04e8</payment_id><payment_amount>10</payment_amount><callback_query_string>&amp;payment_id=5ce30dcc-7df7-04e8</callback_query_string><transaction_note>Order from Student Library Fees with Payment Id: 5ce30dcc-7df7-04e8</transaction_note></ns1:make_proxy_payment></env:Body></env:Envelope>

I can't figure out whats wrong with the code. Any suggestions?

cheers,
Jeffery
--
Internet Vision Technologies
Level 1, 520 Dorset Road
Croydon
Victoria - 3136
Australia

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBG/Eb+5WXEviRz51oRAoY+AJ0diqwdy/bomgnfm6857VwgE246hACgl80c
yDrJVSwZg+wOFatT5fV83lg=
=6PYC
-----END PGP SIGNATURE-----

attached mail follows:


just curious, what database are you using?

-nathan

On 9/27/07, Jeffery Fernandez <jefferyivt.com.au> wrote:
>
> I am having nightmares with this bit off code.
>
> The following code work perfectly fine:
>
> $soap_request_string = <<<XML
> <?xml version="1.0" encoding="UTF-8"?>
> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
> xmlns:ns1="urn:Gateway_Proxy" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="
> http://www.w3.org/2003/05/soap-encoding">
> <env:Body>
> <ns1:make_proxy_payment env:encodingStyle="
> http://www.w3.org/2003/05/soap-encoding">
> <payment_id>61ecc268-1cd0-f468</payment_id>
> <payment_amount>15495</payment_amount>
>
> <callback_query_string>&amp;payment_id=61ecc268-1cd0-f468</callback_query_string>
> <transaction_note>Order from Student Library Fees with Payment Id:
> 61ecc268-1cd0-f468</transaction_note>
> </ns1:make_proxy_payment>
> </env:Body>
> </env:Envelope>
> XML;
>
> $xml = new SimpleXMLElement($soap_request_string, NULL, false, '
> http://www.w3.org/2003/05/soap-envelope');
> print_r($xml);
> $ns = $xml->getNamespaces(true);
> //print_r($ns);
>
> foreach ($xml->children($ns['env']) as $body)
> {
> //printf("%s<br />", $body->getName());
>
> foreach ($body->children($ns['ns1']) as $function)
> {
> printf("function %s()<br />", $function->getName());
>
> foreach ($function->children() as $parameters)
> {
> printf("%s => \"%s\"<br />", $parameters->getName(),
> $parameters);
> }
> }
> }
>
>
> However when the XML string is coming from the database it does not work.
> The Field and table have a collation of "utf8_unicode_ci"
>
> $soap_request_string = trim(str_replace(array("\n"), '',
> $record['SoapRequestEnvelope']));
> $xml = new SimpleXMLElement($soap_request_string, NULL, false, '
> http://www.w3.org/2003/05/soap-envelope');
> print_r($xml);
>
>
> The above code is supposed to print out the following (for me to proceed
> further):
>
> SimpleXMLElement Object
> (
> [Body] => SimpleXMLElement Object
> (
> )
> )
>
>
> but only returns:
> SimpleXMLElement Object
> (
> )
>
>
> The XL string from the database looks exactly like this (after replacing
> new lines):
>
> <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="
> http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:Gateway_Proxy"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="
> http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:make_proxy_payment
> env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><payment_id>5ce30dcc-7df7-04e8</payment_id><payment_amount>10</payment_amount><callback_query_string>&amp;payment_id=5ce30dcc-7df7-04e8</callback_query_string><transaction_note>Order
> from Student Library Fees with Payment Id:
> 5ce30dcc-7df7-04e8</transaction_note></ns1:make_proxy_payment></env:Body></env:Envelope>
>
>
> I can't figure out whats wrong with the code. Any suggestions?
>
> cheers,
> Jeffery
> --
> Internet Vision Technologies
> Level 1, 520 Dorset Road
> Croydon
> Victoria - 3136
> Australia
>
>

attached mail follows:


On Friday 28 September 2007 11:09, Nathan Nobbe wrote:
> just curious, what database are you using?

I am using MySQL Ver 14.12 Distrib 5.0.22

cheers,
Jeffery
>
> -nathan
>
> On 9/27/07, Jeffery Fernandez <jefferyivt.com.au> wrote:
> > I am having nightmares with this bit off code.
> >
> > The following code work perfectly fine:
> >
> > $soap_request_string = <<<XML
> > <?xml version="1.0" encoding="UTF-8"?>
> > <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
> > xmlns:ns1="urn:Gateway_Proxy"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="
> > http://www.w3.org/2003/05/soap-encoding">
> > <env:Body>
> > <ns1:make_proxy_payment env:encodingStyle="
> > http://www.w3.org/2003/05/soap-encoding">
> > <payment_id>61ecc268-1cd0-f468</payment_id>
> > <payment_amount>15495</payment_amount>
> >
> >
> > <callback_query_string>&amp;payment_id=61ecc268-1cd0-f468</callback_query
> >_string> <transaction_note>Order from Student Library Fees with Payment
> > Id: 61ecc268-1cd0-f468</transaction_note>
> > </ns1:make_proxy_payment>
> > </env:Body>
> > </env:Envelope>
> > XML;
> >
> > $xml = new SimpleXMLElement($soap_request_string, NULL, false, '
> > http://www.w3.org/2003/05/soap-envelope');
> > print_r($xml);
> > $ns = $xml->getNamespaces(true);
> > //print_r($ns);
> >
> > foreach ($xml->children($ns['env']) as $body)
> > {
> > //printf("%s<br />", $body->getName());
> >
> > foreach ($body->children($ns['ns1']) as $function)
> > {
> > printf("function %s()<br />", $function->getName());
> >
> > foreach ($function->children() as $parameters)
> > {
> > printf("%s => \"%s\"<br />", $parameters->getName(),
> > $parameters);
> > }
> > }
> > }
> >
> >
> > However when the XML string is coming from the database it does not work.
> > The Field and table have a collation of "utf8_unicode_ci"
> >
> > $soap_request_string = trim(str_replace(array("\n"), '',
> > $record['SoapRequestEnvelope']));
> > $xml = new SimpleXMLElement($soap_request_string, NULL, false, '
> > http://www.w3.org/2003/05/soap-envelope');
> > print_r($xml);
> >
> >
> > The above code is supposed to print out the following (for me to proceed
> > further):
> >
> > SimpleXMLElement Object
> > (
> > [Body] => SimpleXMLElement Object
> > (
> > )
> > )
> >
> >
> > but only returns:
> > SimpleXMLElement Object
> > (
> > )
> >
> >
> > The XL string from the database looks exactly like this (after replacing
> > new lines):
> >
> > <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="
> > http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:Gateway_Proxy"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> > http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="
> > http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:make_proxy_paymen
> >t
> > env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><payment_id>5
> >ce30dcc-7df7-04e8</payment_id><payment_amount>10</payment_amount><callback
> >_query_string>&amp;payment_id=5ce30dcc-7df7-04e8</callback_query_string><t
> >ransaction_note>Order from Student Library Fees with Payment Id:
> > 5ce30dcc-7df7-04e8</transaction_note></ns1:make_proxy_payment></env:Body>
> ></env:Envelope>
> >
> >
> > I can't figure out whats wrong with the code. Any suggestions?
> >
> > cheers,
> > Jeffery
> > --
> > Internet Vision Technologies
> > Level 1, 520 Dorset Road
> > Croydon
> > Victoria - 3136
> > Australia

--
Internet Vision Technologies
Level 1, 520 Dorset Road
Croydon
Victoria - 3136
Australia

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBG/Fcr5WXEviRz51oRAl4/AJsFTOhoqBWmmlGTJ09Z6LvhIie/AACfS2GC
nREhS1sKpfSXG3+ShnW+HEc=
=/Yl6
-----END PGP SIGNATURE-----

attached mail follows:


Hi,
my php is 5.2.4 compiled in apache1.3.37 as module
I have some trouble with trigger_error function
code
<?
trigger_error ('error',E_USER_ERROR);
?>
I get 500 error status (Internal server error) and a record in my error log.
And this
<?
ob_flush();
trigger_error ('error',E_USER_ERROR);
?>
returns 200 and I have no message in my error log.
is it ok ?

Thanks.

--
Alexander A Miroch