使用php中的方法post向使用objective C(.xcode)的移动应用程序发送http请求
我正在进行一个项目,该项目从voiceXML应用程序获取数据,然后voiceXML应用程序将包含数据的变量发送到.php中,我已经完成了这一部分,但问题是当我想通过从.php向iphone上安装的移动应用程序发送HTTP POST请求来发送变量时这是使用带有扩展名(.xcode)的objective C编程语言编写的,我在移动应用程序上接收变量时遇到了一个问题 所以我花了几个月的时间试图先将变量发送到另一个.php,如果它对我有效,我将尝试修复移动应用程序的问题 我使用httpRequest()类-方法post来发送变量,但问题是我不知道在另一个.php文件上写什么来接收这个变量,然后显示它 这是全部代码:使用php中的方法post向使用objective C(.xcode)的移动应用程序发送http请求,php,iphone,xcode,Php,Iphone,Xcode,我正在进行一个项目,该项目从voiceXML应用程序获取数据,然后voiceXML应用程序将包含数据的变量发送到.php中,我已经完成了这一部分,但问题是当我想通过从.php向iphone上安装的移动应用程序发送HTTP POST请求来发送变量时这是使用带有扩展名(.xcode)的objective C编程语言编写的,我在移动应用程序上接收变量时遇到了一个问题 所以我花了几个月的时间试图先将变量发送到另一个.php,如果它对我有效,我将尝试修复移动应用程序的问题 我使用httpRequest()
<?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。因此,它不需要支持状态的协议。