Newbie - Problem Two - Ruby and Form Variables, re-loading like PHP_SELF

I am attempting to copy a PHP project I did in Ruby.

I basically have a search form / web page, which looks for matching
records and displays them prior to the search box form.

I reload the page with

<FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST" name =
"Nextrec" >

I then use the isset function to test whether any records have been
displayed and skip the display and go straight to the form. I know
this could have been achieved with javascript, but that was a no no.

I have discovered require cgi and it sems to give me all the info I
need, but how do I replicate the form button action re-loading the page
with all the variables in tact.

Thanks

Richard

If I remember my PHP correctly, $_SERVER['PHP_SELF'] is simply the
name of the currently executing file. The Ruby equivalent is
__FILE__.

regards,
Ed

···

On Thu, Jan 05, 2006 at 07:03:34AM +0900, page77.office@googlemail.com wrote:

<FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST" name =
"Nextrec" >

Actually, you'll also need to call basename(). So,

basename($_SERVER['PHP_SELF'] ) == __FILE__

~ ryan ~

···

On Jan 5, 2006, at 9:03 AM, Edward Faulkner wrote:

On Thu, Jan 05, 2006 at 07:03:34AM +0900, > page77.office@googlemail.com wrote:

<FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST" name =
"Nextrec" >

If I remember my PHP correctly, $_SERVER['PHP_SELF'] is simply the
name of the currently executing file. The Ruby equivalent is
__FILE__.

regards,
Ed

Thanks for the replies, and yes PHP_SELF is the name of the running
current page.

I am sorry to be stupid, but how do I get the form action to execute
basename(__FILE__) as I did with:

<FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST"

Thanks again

Richard

J. Ryan Sobol wrote:

···

Actually, you'll also need to call basename(). So,

basename($_SERVER['PHP_SELF'] ) == __FILE__

~ ryan ~

On Jan 5, 2006, at 9:03 AM, Edward Faulkner wrote:

> On Thu, Jan 05, 2006 at 07:03:34AM +0900, > > page77.office@googlemail.com wrote:
>> <FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST"
>> name =
>> "Nextrec" >
>
> If I remember my PHP correctly, $_SERVER['PHP_SELF'] is simply the
> name of the currently executing file. The Ruby equivalent is
> __FILE__.
>
> regards,
> Ed

basename() is a PHP function, not a Ruby one.

~ ryan ~

···

On Jan 5, 2006, at 5:42 PM, mosscliffe wrote:

Thanks for the replies, and yes PHP_SELF is the name of the running
current page.

I am sorry to be stupid, but how do I get the form action to execute
basename(__FILE__) as I did with:

<FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST"

Thanks again

Richard

J. Ryan Sobol wrote:

Actually, you'll also need to call basename(). So,

basename($_SERVER['PHP_SELF'] ) == __FILE__

~ ryan ~

On Jan 5, 2006, at 9:03 AM, Edward Faulkner wrote:

On Thu, Jan 05, 2006 at 07:03:34AM +0900, >>> page77.office@googlemail.com wrote:

<FORM action="<?php print $_SERVER['PHP_SELF'];?>" method="POST"
name =
"Nextrec" >

If I remember my PHP correctly, $_SERVER['PHP_SELF'] is simply the
name of the currently executing file. The Ruby equivalent is
__FILE__.

regards,
Ed

$ ri -T File::basename
--------------------------------------------------------- File::basename
      File.basename(file_name [, suffix] ) -> base_name

···

On Jan 5, 2006, at 6:22 PM, J. Ryan Sobol wrote:

basename() is a PHP function, not a Ruby one.

------------------------------------------------------------------------
      Returns the last component of the filename given in file_name,
      which must be formed using forward slashes (``/'') regardless of
      the separator used on the local file system. If suffix is given
      and present at the end of file_name, it is removed.

         File.basename("/home/gumby/work/ruby.rb") #=> "ruby.rb"
         File.basename("/home/gumby/work/ruby.rb", ".rb") #=> "ruby"

James Edward Gray II

Thanks James. :slight_smile:

~ ryan ~

···

On Jan 5, 2006, at 8:26 PM, James Edward Gray II wrote:

On Jan 5, 2006, at 6:22 PM, J. Ryan Sobol wrote:

basename() is a PHP function, not a Ruby one.

$ ri -T File::basename
--------------------------------------------------------- File::basename
     File.basename(file_name [, suffix] ) -> base_name
------------------------------------------------------------------------
     Returns the last component of the filename given in file_name,
     which must be formed using forward slashes (``/'') regardless of
     the separator used on the local file system. If suffix is given
     and present at the end of file_name, it is removed.

        File.basename("/home/gumby/work/ruby.rb") #=> "ruby.rb"
        File.basename("/home/gumby/work/ruby.rb", ".rb") #=> "ruby"

James Edward Gray II