отправка http-запроса методом post в php в мобильное приложение, использующее цель C (.xcode) - PullRequest
0 голосов
/ 27 марта 2011

Я работаю над проектом, который получает данные из приложения voiceXML, а затем приложение voiceXML отправляет переменную, содержащую данные, в .php, и я завершаю эту часть, но проблема в том, когда я хочу отправитьотправив запрос HTTP POST из .php в мобильное приложение, которое установлено на iphone и написано с использованием целевого языка программирования C с расширением (.xcode), я столкнулся с проблемой получения переменной в мобильном приложении

Итак, что я пытался сделать в течение пары месяцев - сначала отправить переменную в другой .php, и, если она будет работать со мной, я постараюсь исправить проблему с мобильным приложением.

Я использовал httpRequest () Class - метод 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;
}


?>

Я использовал базу данных в качестве буфера, так как я работаюng на разных сеансах, которые находятся между .VXML и первым .php или первым .php и вторым .php

. form.php содержит следующее, которое просто отображает белую страницу и не печатает переменную, котораяисходит из первого .php:

<?php

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

Итак, что мне нужно сделать, чтобы правильно получить переменную и отобразить ее во втором php?

Я ценю вашу помощь.

С уважением, Геба

1 Ответ

0 голосов
/ 27 марта 2011

Если ваша переменная содержит конфиденциальные данные, я бы использовал сеанс.Если нет, вы можете просто использовать 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'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...