processing 2 things in one form. is it possible?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
hi all,

i am creating a form that returns to itself like this:
<form name="form1" action="<?php echo $_REQUEST['PHP_SELF']; ?>"

Upon clicking submit, I want the form to return to "itself" (does the
input fields validation). If the validation is false, the initial input
values are displayed on the fields. If the validation is correct, it
should go to an external file (on different server) and does the rest
of the processing such as sending mail or writing to a file, etc (could
be anything). There are basically 2 tasks here. Is this achievable in a
single form. I tried to include external file after validation but it
fails to call a function inside that file as the file resides on a
different server.

Can someone show me the right direction?


Re: processing 2 things in one form. is it possible? wrote:

Quoted text here. Click to load it

{ the form
elseif post
   validate the post vars
   if success
          use the header() function to jump the external page
         show the form again, you'll still have
         the $_POST array hanging around to initialize
         the form elements with, so the form looks
         like it did just before the first submit

Re: processing 2 things in one form. is it possible?

Quoted text here. Click to load it

The only problem I see with that is that the OP probably wants to take data
along to the new script(on different server) and header won't do that by
itself afaik. You may need to use curl to repost your data to the other

Re: processing 2 things in one form. is it possible?

One solution is to use fsockopen to post the data to the other server.
Create a function which takes as input a URL to post to, and an array
of variables to be posted. This function could then connect the URL,
post the data, and return the response. Note that the response will
contain all data return from the server (including headers). Therefore,
the remote server's page should echo results in an easily parsable
form. I usually do something along the lines of:


This way you can easily cut off the headers, and look at the actual
result of the operation. Here is a code snippet of using fsockopen:

    $request.="POST ".$URL_Info["path"]." HTTP/1.1\r\n";
    $request.="Host: ".$URL_Info["host"]."\r\n";
    $request.="Referer: $referrer\r\n";
    $request.="Content-type: application/x-www-form-urlencoded\r\n";
    $request.="Content-length: ".strlen($data_string)."\r\n";
    $request.="Connection: close\r\n";

    $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
    fputs($fp, $request);
    while(!feof($fp)) {
        $result .= fgets($fp, 128);

Quoted text here. Click to load it

Site Timeline