|
Posted by shimmyshack on 05/16/07 09:30
On May 16, 6:05 am, kenoli <kenol...@gmail.com> wrote:
> There is a form on the page with a post method and some submit
> buttons, however, none of them are triggered here. The script is
> called using an <a>tag with this kind of thing:
>
> <a href = "<? echo 'http://' . $_SERVER['PHP_SELF'] . '?pid=' .
> $row[id]; ?>" >Delete</a>
>
> It just leaves the page and starts again at the top of the script. It
> works fine. What caused me to catch it is that I was using:
>
> if (!isset($_POST))
>
> to set a switch variable in the case that the data had not been sent
> via a post submit. It wasn't working so I checked and found the
> $_POST variable was sure enough set, but empty.
>
> What would be setting the $_POST variable if the form wasn't
> triggered.
>
> --Kenoli
>
> On May 15, 5:24 pm, Mike P2 <sumguyovrt...@gmail.com> wrote:
>
> > On May 15, 7:38 pm, kenoli <kenol...@gmail.com> wrote:
>
> > > I have a script that submits form data via a "post" method to another
> > > script. I have an href link in the destination script that links back
> > > to itself for processing form data on that page with some "get" data
> > > appended to the URL. I noticed that after clicking on that link and
> > > sending the action back to itself, a check of isset($_POST) returns
> > > true while displaying the content of $_POST displays an empty array.
> > > I had expected isset($_POST) to return false, thinking the script
> > > would unset the $_POST array when the <a> link sent it back to
> > > itself. Instead, it leaves $_POST set but empty.
>
> > > What is the convention here?
>
> > > --Kenoli
>
> > You should check if some variable from the posting form is set instead
> > of the entire $_POST. The submit button or something like that. If the
> > variables are the same for some reason, you can add a hidden field in
> > the posting form and check if that is set.
>
> > -Mike PII
try it with GET, COOKIE, REQUEST, FILES, SESSION, all will be set but
empty (if you arent populating them).
they are superglobals, always set in the current scope.
[Back to original message]
|