Попытка восстановить сообщения с половиной работы Clickatell - PullRequest
0 голосов
/ 27 марта 2012

Это код, который у меня есть. Может быть, у меня есть гигантская ошибка. Однако система поместит идентификатор API, идентификатор сообщения и отправителя в базу данных под своим собственным списком. ОДНАКО, теперь независимо от того, что я делаю, я не могу заставить его поставить обратный вызов для текста сообщения. Похоже, это не проявляется, и мне интересно, где я ошибаюсь при получении этого.

Большое спасибо. Maurissa

<?php 

//database connection 

$hostname_sCONN = "localhost"; 
$database_sCONN = "XXXXXX";
$username_sCONN = "XXXXX";
$password_sCONN = "XXXXXX"; 
$sCONN = mysql_pconnect($hostname_sCONN, $username_sCONN, $password_sCONN) or trigger_error(mysql_error(),E_USER_ERROR); 



// Declare variables for url string 
//http://www.mysite.com/callback.php?api_id=xxx&apiMsgId=xxx&cliMsgId=xxx&status=xxx&timestamp=xxx&to=xxx&from=xxx&charge=xxx 


//this will pull the query part of the url i.e. api_id=xxx&apiMsgId=xxx&cliMsgId=xxx&status=xxx&timestamp=xxx&to=xxx&from=xxx&charge=xxx 
$url = $_SERVER['QUERY_STRING']; 


//retrieve contents of the url 
$api_id = $_GET['api_id']; 
$from = $_GET['from']; 
$to = $_GET['to']; 
$text = $_GET['text']; 
$dated = $_GET['timestamp']; 
$apiMsgId = trim($_GET['apiMsgId']); 
$status = $_GET['status']; 
$charge = $_GET['charge']; 




mysql_select_db($database_sCONN, $sCONN); 
$sql = "INSERT INTO tbl_messages (msgid, apiMsgId, sender, recipient, dated, message) VALUES ('$api_id', '$apiMsgId', '$from', '$to', '$dated', '$text')"; 
$result = mysql_query($sql, $sCONN) or die(mysql_error()); 

mysql_free_result($rsOutbox); 

mysql_select_db($database_sCONN, $sCONN); 
$sql2 = "SELECT value1 FROM fgusers3 WHERE mobile = '".$from."'"; 
$result2 = mysql_query($sql2, $sCONN) or die(mysql_error());
mysql_free_result($rsOutbox); 

$query4 = "SELECT * FROM `$user` ORDER BY id_user DESC 
                    LIMIT 1";

$result4 = mysql_query($query4);
$row4 = mysql_fetch_array($result4);
$balance = $row4['balance'];


$finalbalance = $result2 + $balance;

$sql3 = "INSERT INTO `$user` (`date`, `credit`, `balance`) VALUES ('$today', '$result2', '$finalbalance')"; 
$result3 = mysql_query($sql, $sCONN) or die(mysql_error());

?>

Ответы [ 2 ]

0 голосов
/ 28 сентября 2017

Вы должны захватить «текст» вместо «сообщение», ключевое слово для получения содержания сообщения - текст.

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

Если вы не получили никакого ответа, это вероятные проблемы.

A.обратный вызов не включается, когда вы отправляете сообщение

пример (обратный вызов может быть 1, 2 или 4)

http://api.clickatell.com/http/sendmsg?session_id=xxx&to=xxxx&text=xxxx&callback=3

B.URL обратного вызова не был отправлен в Clickatell

C.IP-адрес Clickatell

D.Click не может разрешить ваш URL

Пожалуйста, проверьте все вышеперечисленное ... var_dump выводит, тогда мы можем поработать над тем, как вы обновите его для своей базы данных mysql

======Информация о Callbank ========

0 Статус сообщения не возвращен .uses.002, 003, 011

2 Возвращает только окончательные статусы сообщения.004, 005, 006, 007, 008, 010, 012

3 Возвращает как промежуточное, так и конечное состояние сообщения. Все, кроме 001

Спасибо :)

...