TargetSms in database verwerken
Ik heb een sms-to-web dienst opgezet bij targetsms zodanig
dat ik een smswall kan maken. Nu heb ik een beetje zitten
experimenteren met phpcode om alles weg te schrijven in
een database, maar bij het vesturen van een sms blijft
de database leeg... De database connectie werkt ...
Hieronder vinden jullie de code terug die ik gebruik.
Kan iemand mij vertellen of ik iets verkeerd doe ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?
include("config.php");
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
//Ipadres van TargetSMS, zo kan je voor de test ook je eigen IPadres toevoegen.
$ipadressen = array (
'195.140.234.120'
);
if($_SERVER['REQUEST_METHOD'] == "GET")
{
//Iemand roept ons aan met een aantal GET variabelen! Wie is het?
$ipadres = $_SERVER['REMOTE_ADDR'];
//We laten alleen bepaalde ipadressen toe...
if(in_array($ipadres, $ipadressen))
{
//We verwachten dat er een 6-tal parameters worden meegestuurd.
if(!empty($_GET['MO_MessageId']) && !empty($_GET['ShortCode']) && !empty($_GET['MO_ShortKey']) && !empty($_GET['Message']) && !empty($_GET['SendTo']) && !empty($_GET['operator']))
{
//Controleer (enkele!) parameters
if(ctype_digit($_GET['MO_MessageId']) && ctype_digit($_GET['ShortCode']) && ctype_digit($_GET['SendTo']))
{
//Alle variabelen die ik verwacht zijn binnen en correct!
$berichtID = $_GET['MO_MessageId']; //Het unieke id van het bericht.
$shortcode = $_GET['ShortCode']; //De SMS shortcode waarop het bericht binnenkwam, bijvoorbeeld 3010.
$shortkey = $_GET['MO_ShortKey']; //Het keyword van uw dienst.
$bericht = $_GET['Message']; //Het volledige bericht van de consument.
$afzender = $_GET['SendTo']; //Het telefoonnummer van de afzender in het formaat 31612345678.
$operatorcode = $_GET['operator']; //De operatorcode van de afzender. Bijvoorbeeld: 02f480.
$tijd = date("H:i");
$datum = date("d-M-Y");
$query = "INSERT INTO digipl1a_sms (MO_MessageId, ShortCode, MO_ShortKey , Message, SendTo, operator, tijd, datum ) VALUES ('$berichtID', '$shortcode', ' $shortkey', '$bericht', '$afzender', '$operatorcode', '$tijd', '$datum')";
mysql_query($query);
mysql_close(); //mysql sluiten
if(!empty($operators[$operatorcode]))
{
$operator = $operators[$operatorcode];
}else{
$operator = 'Onbekend';
}
//Alles is gelukt, de enige output die TargetSMS verwacht is 45000.
echo 45000;
}
}
}
}
// database input
?>
include("config.php");
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
//Ipadres van TargetSMS, zo kan je voor de test ook je eigen IPadres toevoegen.
$ipadressen = array (
'195.140.234.120'
);
if($_SERVER['REQUEST_METHOD'] == "GET")
{
//Iemand roept ons aan met een aantal GET variabelen! Wie is het?
$ipadres = $_SERVER['REMOTE_ADDR'];
//We laten alleen bepaalde ipadressen toe...
if(in_array($ipadres, $ipadressen))
{
//We verwachten dat er een 6-tal parameters worden meegestuurd.
if(!empty($_GET['MO_MessageId']) && !empty($_GET['ShortCode']) && !empty($_GET['MO_ShortKey']) && !empty($_GET['Message']) && !empty($_GET['SendTo']) && !empty($_GET['operator']))
{
//Controleer (enkele!) parameters
if(ctype_digit($_GET['MO_MessageId']) && ctype_digit($_GET['ShortCode']) && ctype_digit($_GET['SendTo']))
{
//Alle variabelen die ik verwacht zijn binnen en correct!
$berichtID = $_GET['MO_MessageId']; //Het unieke id van het bericht.
$shortcode = $_GET['ShortCode']; //De SMS shortcode waarop het bericht binnenkwam, bijvoorbeeld 3010.
$shortkey = $_GET['MO_ShortKey']; //Het keyword van uw dienst.
$bericht = $_GET['Message']; //Het volledige bericht van de consument.
$afzender = $_GET['SendTo']; //Het telefoonnummer van de afzender in het formaat 31612345678.
$operatorcode = $_GET['operator']; //De operatorcode van de afzender. Bijvoorbeeld: 02f480.
$tijd = date("H:i");
$datum = date("d-M-Y");
$query = "INSERT INTO digipl1a_sms (MO_MessageId, ShortCode, MO_ShortKey , Message, SendTo, operator, tijd, datum ) VALUES ('$berichtID', '$shortcode', ' $shortkey', '$bericht', '$afzender', '$operatorcode', '$tijd', '$datum')";
mysql_query($query);
mysql_close(); //mysql sluiten
if(!empty($operators[$operatorcode]))
{
$operator = $operators[$operatorcode];
}else{
$operator = 'Onbekend';
}
//Alles is gelukt, de enige output die TargetSMS verwacht is 45000.
echo 45000;
}
}
}
}
// database input
?>
Dat is ook de plek waar alles gelukt is en de melding richting TargetSMS server verstuurd word.
controleer of je query is gelukt op regel 39, als het fout gaat krijg je dan als het goed is een foutmelding, en kun je wat.
en wat is echo 45000? je mag alleen variabelen of strings echoen, geen directe integer.
Maak één veld DATETIME en gebruik NOW().
Toevoeging op 23/10/2012 09:03:40:
@ -San The- In de database zelf dan en niet via php code ?
Toevoeging op 23/10/2012 09:11:58:
Hoi,
Ik heb nu men code aangepast naar de volgende, maar toch krijg ik nog niets binnen in mijn database ...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?
include("config.php");
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
//Ipadres van TargetSMS, zo kan je voor de test ook je eigen IPadres toevoegen.
$ipadressen = array (
'195.140.234.120'
);
if($_SERVER['REQUEST_METHOD'] == "GET")
{
//Iemand roept ons aan met een aantal GET variabelen! Wie is het?
$ipadres = $_SERVER['REMOTE_ADDR'];
//We laten alleen bepaalde ipadressen toe...
if(in_array($ipadres, $ipadressen))
{
//We verwachten dat er een 6-tal parameters worden meegestuurd.
if(!empty($_GET['MO_MessageId']) && !empty($_GET['ShortCode']) && !empty($_GET['MO_ShortKey']) && !empty($_GET['Message']) && !empty($_GET['SendTo']) && !empty($_GET['operator']))
{
//Controleer (enkele!) parameters
if(ctype_digit($_GET['MO_MessageId']) && ctype_digit($_GET['ShortCode']) && ctype_digit($_GET['SendTo']))
{
//Alle variabelen die ik verwacht zijn binnen en correct!
$berichtID = $_GET['MO_MessageId']; //Het unieke id van het bericht.
$shortcode = $_GET['ShortCode']; //De SMS shortcode waarop het bericht binnenkwam, bijvoorbeeld 3010.
$shortkey = $_GET['MO_ShortKey']; //Het keyword van uw dienst.
$bericht = $_GET['Message']; //Het volledige bericht van de consument.
$afzender = $_GET['SendTo']; //Het telefoonnummer van de afzender in het formaat 31612345678.
$operatorcode = $_GET['operator']; //De operatorcode van de afzender. Bijvoorbeeld: 02f480.
if(!empty($operators[$operatorcode]))
{
$operator = $operators[$operatorcode];
}else{
$operator = 'Onbekend';
}
$query = "INSERT INTO digipl1a_sms (MO_MessageId, ShortCode, MO_ShortKey , Message, SendTo, operator) VALUES ($berichtID, $shortcode, $shortkey, $bericht, $afzender, $operatorcode)";
mysql_query($query);
mysql_close(); //mysql sluiten
//Alles is gelukt, de enige output die TargetSMS verwacht is 45000.
echo 45000;
}
}
}
}
// database input
?>
include("config.php");
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
//Ipadres van TargetSMS, zo kan je voor de test ook je eigen IPadres toevoegen.
$ipadressen = array (
'195.140.234.120'
);
if($_SERVER['REQUEST_METHOD'] == "GET")
{
//Iemand roept ons aan met een aantal GET variabelen! Wie is het?
$ipadres = $_SERVER['REMOTE_ADDR'];
//We laten alleen bepaalde ipadressen toe...
if(in_array($ipadres, $ipadressen))
{
//We verwachten dat er een 6-tal parameters worden meegestuurd.
if(!empty($_GET['MO_MessageId']) && !empty($_GET['ShortCode']) && !empty($_GET['MO_ShortKey']) && !empty($_GET['Message']) && !empty($_GET['SendTo']) && !empty($_GET['operator']))
{
//Controleer (enkele!) parameters
if(ctype_digit($_GET['MO_MessageId']) && ctype_digit($_GET['ShortCode']) && ctype_digit($_GET['SendTo']))
{
//Alle variabelen die ik verwacht zijn binnen en correct!
$berichtID = $_GET['MO_MessageId']; //Het unieke id van het bericht.
$shortcode = $_GET['ShortCode']; //De SMS shortcode waarop het bericht binnenkwam, bijvoorbeeld 3010.
$shortkey = $_GET['MO_ShortKey']; //Het keyword van uw dienst.
$bericht = $_GET['Message']; //Het volledige bericht van de consument.
$afzender = $_GET['SendTo']; //Het telefoonnummer van de afzender in het formaat 31612345678.
$operatorcode = $_GET['operator']; //De operatorcode van de afzender. Bijvoorbeeld: 02f480.
if(!empty($operators[$operatorcode]))
{
$operator = $operators[$operatorcode];
}else{
$operator = 'Onbekend';
}
$query = "INSERT INTO digipl1a_sms (MO_MessageId, ShortCode, MO_ShortKey , Message, SendTo, operator) VALUES ($berichtID, $shortcode, $shortkey, $bericht, $afzender, $operatorcode)";
mysql_query($query);
mysql_close(); //mysql sluiten
//Alles is gelukt, de enige output die TargetSMS verwacht is 45000.
echo 45000;
}
}
}
}
// database input
?>
Is er dan nog iets verkeerd ?