Solved

Sending HTTP POST thru fsockopen?

Posted on 2011-03-23
2
389 Views
Last Modified: 2012-05-11
The task seems simple. I want to use fsockopen to post variables to another page.

Just to give you an idea how I want it to work... This is being used for adding user accounts into two separate databases on different websites. The user fills out a form, the $_POST variables are used to create a user account in the main database, then I want to send those variables to another page (through fsocket) to setup the account on the secondary databse.

Here's what I have so far (I will provide all pieces that I'm using for testing):

The Form:
<form action="testprocess.php" method="post">
First Name: <input type="text" name="first_name" size="20"><br /><br />
Last Name: <input type="text" name="last_name" size="20"><br /><br />
<input type="submit" value="Submit">
</form>

Open in new window



Main Processing Script  "testprocess.php"
<?
$first_name = urlencode($_POST['first_name']);
$last_name = urlencode($_POST['last_name']);

// Here would be all my functions that I want my script to do before sending the post variables to the other web site. 

$req = "first_name=".$first_name;
$req .= "&last_name=".$last_name;

// post back to PayPal system to validate
$header .= "POST /insertacct.php HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('demo.mysite.com', 80, $errno, $errstr, 30);
fputs ($fp, $header . $req);
fclose ($fp);

header("location: test.php?chk=1");
?>

Open in new window



Insert Account Page
(this is the "behind-the-scenes" page that will be on a different website)
<?
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];

  mysql_query(" INSERT INTO `users`  (`last_name` , `first_name`)  VALUES ('$last_name','$first_name')") or die(mysql_error());
?>

Open in new window




The address of my script would be:
http://ecafe.mydomain.com/insertacct.php
Hopefully, it doesn't matter that it is a Subdomain.

0
Comment
Question by:tonyhhisc
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 3

Accepted Solution

by:
WebCricket earned 500 total points
ID: 35200437
If you want to use fsocket open, I would use this script http://www.php.net/manual/en/function.fsockopen.php#101872 but I highly recommend using cURL for this sort of operation. CURL can handle all the heavy lifting for you.
0
 

Author Closing Comment

by:tonyhhisc
ID: 35210445
Thanks I used CURL
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

When it comes to write a Context Sensitive Help (an online help that is obtained from a specific point in state of software to provide help with that state) ,  first we need to make the file that contains all topics, which are given exclusive IDs. …
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

617 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