Solved

Need PHP help parsing CGI response...

Posted on 2008-10-17
4
297 Views
Last Modified: 2012-05-05
http://pastie.org/294866

I have a form that submits to a PHP script which in turn does a shell_exec to a perl script written by someone else, which calls an API to validate the form data. The pastie is the exact response I am given when a user is not authenticated. This should be very easy for someone to figure out, but I'm on a time crunch to get this done by end of day so I need to know how to parse out each field.

Specifically, at the bottom of the response is a 'data' => '0' -- it could potentially be '1' but that shouldn't matter for these purposes. However, I want to be able to know what that value is. I also want to know what the value of the errors[{'messages'}] is *if* it exists (sometimes it won't be there, that's ok).

So in essence, I want to be able to say if (blah['data'] == '0') then do something otherwise do something else.

TIA,
Jen
<?php

$output = shell_exec('login.pl test test');

// echo $output gives: 

$VAR1 = bless( {

  'warnings' => [],

  'errors' => [

    {

      'data' => '',

      'message' => 'Customer/password combination is invalid',

      'code' => '1997'

    }

  ],

  '_warn_table' => undef,

  '_err_table' => undef,

  'multicall' => 0,

  'data' => '0'

}, 

'VWH::API::Return');

?>

Open in new window

0
Comment
Question by:jenjenut233
  • 3
4 Comments
 
LVL 19

Accepted Solution

by:
NerdsOfTech earned 500 total points
ID: 22765837
Bless is not a PHP function - it is a PERL/CGI function

http://us.php.net/manual/en/arrayobject.construct.php

Try array function instead:
<?php

$output = shell_exec('login.pl test test');

// echo $output gives: 

$VAR1 = array( {

  'warnings' => [],

  'errors' => [

    {

      'data' => '',

      'message' => 'Customer/password combination is invalid',

      'code' => '1997'

    }

  ],

  '_warn_table' => undef,

  '_err_table' => undef,

  'multicall' => 0,

  'data' => '0'

}, 

'VWH::API::Return');

?>

Open in new window

0
 
LVL 19

Expert Comment

by:NerdsOfTech
ID: 22765859
$VAR1 ['data'];

$value_data = array_search('data', $VAR1);
if ($value_data == 1){
// DATA == 1
} else {
// DATA == NOT 1
}
0
 
LVL 19

Expert Comment

by:NerdsOfTech
ID: 22765862

$value_data = array_search('data', $VAR1);

if ($value_data == 1){

// DATA == 1

} else {

// DATA == NOT 1

}

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Consider the following scenario: You are working on a website and make something great - something that lets the server work with information submitted by your users. This could be anything, from a simple guestbook to a e-Money solution. But what…
Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

947 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now