使用php中的方法post向使用objective C(.xcode)的移动应用程序发送http请求

使用php中的方法post向使用objective C(.xcode)的移动应用程序发送http请求,php,iphone,xcode,Php,Iphone,Xcode,我正在进行一个项目,该项目从voiceXML应用程序获取数据,然后voiceXML应用程序将包含数据的变量发送到.php中,我已经完成了这一部分,但问题是当我想通过从.php向iphone上安装的移动应用程序发送HTTP POST请求来发送变量时这是使用带有扩展名(.xcode)的objective C编程语言编写的,我在移动应用程序上接收变量时遇到了一个问题 所以我花了几个月的时间试图先将变量发送到另一个.php,如果它对我有效,我将尝试修复移动应用程序的问题 我使用httpRequest()

我正在进行一个项目,该项目从voiceXML应用程序获取数据,然后voiceXML应用程序将包含数据的变量发送到.php中,我已经完成了这一部分,但问题是当我想通过从.php向iphone上安装的移动应用程序发送HTTP POST请求来发送变量时这是使用带有扩展名(.xcode)的objective C编程语言编写的,我在移动应用程序上接收变量时遇到了一个问题

所以我花了几个月的时间试图先将变量发送到另一个.php,如果它对我有效,我将尝试修复移动应用程序的问题

我使用httpRequest()类-方法post来发送变量,但问题是我不知道在另一个.php文件上写什么来接收这个变量,然后显示它

这是全部代码:

<?php

//----------------------- Get the variable from .vxml file -----------------------------

$serverVariable = $_GET["spelling"];

//----------------------- Creation of the Database as a buffer -------------------------

$dbhost = 'localhost';
$dbuser = 'root';
$ReceivedFlag=0;
$ReadFlag=0;

$conn = mysql_connect($dbhost, $dbuser);
$table= mysql_select_db('storagedb',$conn);

//************************** Request Table (Insertion)***************************

$getUser_sql=" INSERT INTO request VALUES (6,$serverVariable,1,0)";
$result=mysql_query($getUser_sql,$conn);


//************************** Request Table (Selection)**************************

//$ReceivedFlag="SELECT ReceivedFlag FROM request";
//$ReadFlag="SELECT ReadFlag FROM request";

while(($ReceivedFlag==1) && ($ReadFlag==0))
{

    $postUser_sql= "SELECT Message FROM request";
    $result1=mysql_query($postUser_sql,$conn);

    echo "<TABLE BORDER=4>"; 
    echo "<TR><TH>Message</TH></TR>";

     // format results by row 
    while ($row = mysql_fetch_array($result1)) 
    {
       $Message = $row["Message"]; 
       echo "<TR><TD>$Message</TD></TR>"; 
    } 

   echo "Response</TABLE>";

    $query = "UPDATE request SET ReadFlag=1 WHERE ReceivedFlag=1";
    $result2=mysql_query($query,$conn);
}

//-------------- post the server variable to the other client -----------------------

$r = new HttpRequest('http://localhost/form.php', HttpRequest::METH_POST);
$r->addPostFields(array('user' => $Message ));

try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}


?>


我使用数据库作为缓冲区,因为我正在处理不同的会话,这些会话位于.VXML和first.php或first.php和second.php之间

php包含以下内容,只显示一个白色页面,不打印 来自第一个.php的变量:

<?php

$clientVariable=$_POST['Message']; //to print out the data
print ($clientVariable);
?>

那么,为了正确接收变量并在第二个php中显示它,我必须做些什么呢

我感谢你的帮助

问候,,
Heba

如果变量包含敏感数据,我将使用会话。如果没有,您只需使用GET:

使用会话:

session_start();
$_SESSION['myvariable'] = 'Insert variable here';
然后在php2中:

session_start();
echo $_SESSION['myvariable'];
或者您可以使用GET:

header("Location: /php2.php?myvar=insertcontent");
然后在php2中:

echo $_GET['myvar'];

是的。PHP会话通常在服务器端存储数据,并在用户计算机上放置包含会话ID的cookie。因此,它不需要支持状态的协议。