Solved

Sending HTTP POST thru fsockopen?

Posted on 2011-03-23
2
376 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
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
The viewer will learn how to count occurrences of each item in an array.

929 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now