TargetSms in database verwerken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dept Attila

Dept Attila

19/10/2012 15:53:05
Quote Anchor link
Hoi,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?

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


?>
 
PHP hulp

PHP hulp

07/05/2024 00:41:35
 
Frank WD

Frank WD

19/10/2012 16:15:50
Quote Anchor link
In mijn voorbeeld script staat de INSERT TO net voor de echo 45000;
Dat is ook de plek waar alles gelukt is en de melding richting TargetSMS server verstuurd word.
 
Jeroen VD

Jeroen VD

19/10/2012 16:43:27
Quote Anchor link
variabelen buiten quotes halen in de query.
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.
 
- SanThe -

- SanThe -

19/10/2012 18:30:25
Quote Anchor link
Dit is geen correct format voor de database: $tijd = date("H:i") en $datum = date("d-M-Y");
Maak één veld DATETIME en gebruik NOW().
 
Dept Attila

Dept Attila

23/10/2012 09:03:06
Quote Anchor link
Echo 45000 is het getal dat de server van target sms wil terug krijgen om te kijken of alles werkt

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?

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 ?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.