in reply to Re: link to outside script
in thread link to outside script

I do not understand how to reformat this into a readable format here, please help me learn what I need to do? Here is a line of code that exits my script, goes to ikobo, processes the payment, & returns "RESP=OK" ...

print " - <A HREF=$ENV{'SCRIPT_NAME'}\?action=paypal_login\&ALIAS=$for +m{'ALIAS'}\&balance=$balance> PayPal </A>" if ($config{'allowpaypal'} + != 0);

... I need to find out how to return to the script the same place it exited???
Can you help?

20050204 Janitored by Corion: Added code tags

Replies are listed 'Best First'.
Re^3: link to outside script
by efret (Initiate) on Feb 04, 2005 at 07:40 UTC

    Ok, Lets try this? These lines of display a "Buy Now" Link:

    <print "<B>Payment Options</B>"; print "<P><A HREF=$ENV{'SCRIPT_NAME'}?action=buynow&category=&item=$fo +rm{'item'}>Buy Now</A></FONT>" if (($buyit ne "") & ($bid < $buyit)); >

    but when I put this line of code before the "Buy Now" link, It goes to Ikobo, processes my payment, returns "RESP=0", and does not process the next line:

    < print " - <A HREF=$ENV{'SCRIPT_NAME'}\?action=paypal_login\&ALIAS +=$form{'ALIAS'}\&balance=$balance> PayPal </A>" if ($config{'allowpay +pal'} != 0); >

    20050204 Janitored by Corion:

    • Added HTML formatting: <p>...</p> around what the author seemed to want to be paragraphs
    • Added <code>...</code> around what the author seemed to want to be code

      OK, lets try again: This is ikobo's 3rd party perl script:
      #!/usr/bin/perl print "Content-type: text/html\n\n"; print( "RESP=OK\r\n" ); print "<BR><a href='http://www.efret.com'>efret</a><BR>"; my ($category, $item) = &read_item_file($form{'category'},$form{'item' +}); #print "<P><A http://efret.com/cgi-bin/member215.pl?action=buynow&cate +gory=$form{'category'}&item=$form{'item'}>Buy Now</A></FONT>" if (($b +uyit ne "") & ($bid < $buyit)); #print "<P><A HREF=http://efret.com/cgi-bin/member215.pl?action=buynow +&category=$category&item=$item>Buy Now</A></FONT>" if (($buyit ne "") + & ($bid < $buyit)); print "<P><A HREF=http://efret.com/cgi-bin/member215.pl?action=buynow& +category=&item=$form{'item'}>Buy Now</A></FONT>" if (($buyit ne "") & ($bid < $buyit)); sub read_item_file { my ($cat, $item) = @_; # verify the category exists return '' unless ($cat) and ($item); &oops('The category may not contain any non-word characters.') if +$cat =~ /\W/; return '' unless $category{$cat}; # verify the item exists &oops('The item number may not contain any non-numeric characters. +') if $item =~ /\D/; # return '' unless (-T "$config{'basepath'}$cat/$item.dat") #and (- +R "$config{'basepath'}$cat/$item.dat"); # Replaced above 2 lines with following line to add speed return '' unless 0||#1>>noconfuse(ea;-) open FILE, "$config{'basepath'}$cat/$item.dat"; my ($title, $reserve, $inc, $desc, $image, $buyit, @bids) = <FILE> +; close FILE; chomp ($title, $reserve, $inc, $desc, $image, $buyit, @bids); return ($title, $reserve, $inc, $desc, $image, $buyit, @bids); } #-#############################################
        print " $stuff" if ($config{'allowpaypal'} != 0); but does not return to the next line of code: print "$more_stuff" if (($buyit ne "") & ($bid < $buyit));
        OK, so my hunch is that one of $buyit or $bid is being used uninitialized. It's hard for me to tell, since the code you were having problems with doesn't seem to exist in the longer snippet, but if you're basing your script on that I'm guessing that you're not using strict or warnings.
        Perhaps if you follow the fifth of the PerlMonks Commandments (was: Seven Deadly Sins) the errors will become more clear.
        There's more info on this in Use strict and warnings.

        You can also add a few simple 'print "now i'm on line X\n" markers to watch the script progress, or try Using the Perl Debugger

        Also, if you click on the title of one of your own posts, you can edit it, rather than posting a bunch of replies to yourself. Many monks mark changes to posts with update to make the changes clearer.