You are here: fsockopen and session_start « PHP « IT news, forums, messages
fsockopen and session_start

Posted by Pedro Garre on 03/07/05 16:02

*This message was transferred with a trial version of CommuniGate(tm) Pro*

Hi,

I am using fsockopen to simulate a POST to another page (test_post.php) within
the same server.

Data sent to the socket is:
"POST $uri HTTP/1.1\r\n".
"Host: $host\n". "User-Agent: mandapost\r\n".
"Cookie: ".session_name()."=". session_id()."\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: $contentlength\r\n".
"Connection: close\r\n\r\n".
"$my_post_variables\r\n";

$_SESSION is used to hold some variables.

test_post.php is:
<?php
session_start();
echo "User".$_SESSION["user"];
...


The problem is that session_start creates a new session instead of using the
session_id indicated in the cookie.

A user comment in the online PHP manual says:
"Just for info, session_start() blocks if another PHP using the same session
is still running in background. It seems it's waiting the other PHP to
finish... and sometimes it can be a problem. Create 2 different sessions by
setting 2 different names : session_name() solve the problem."

The above comment seems correct and PHP hangs until some time-out or something
occurs. The previous session is not started anyway.
I tried to change the name with use session_name, to change the ID with
session_regenerate_id, also some tests with session_id, ...
I also tried to send data to the sockect using PHPSESSID and $_COOKIE instead
of session_name and session_id.

This is my current code:
<?php
$previous_name = session_name("MASIVO");
//sessionid($previous_name);

session_start();
//session_regenerate_id();

echo "##".$previous_name."##".$_COOKIE[$previous_name]."##"; // (1)
echo "User".$_SESSION["user"];

(1) It is correct: ##PHPSESSID##09a169b69eccbf2dd49407c5d4cc84aa##

And this is what the socket returns:
HTTP/1.1 200 OK Date: Mon, 07 Mar 2005 13:43:51 GMT Server: Apache/1.3.28
(Unix) PHP/4.3.3 mod_ssl/2.8.15 OpenSSL/0.9.7c X-Powered-By: PHP/4.3.3
Set-Cookie: MASIVO=79241c1fb5309b6487f689eb30c65caa; path=/ Expires: Thu, 19
Nov 1981 08:52:00 GMT Cache-Control: private, max-age=10800, pre-check=10800
Last-Modified: Mon, 7 Mar 2005 13:38:57 GMT Connection: close
Transfer-Encoding: chunked Content-Type: text/html c7
##PHPSESSID##09a169b69eccbf2dd49407c5d4cc84aa##
Notice: Undefined index: user in ... etzetera

I am running out of ideas. Could anyboy help ?

Thanks,

Pedro.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация