Dear all,
Je suis entrain de chercher la solution comme mon code USSD peut envoyer le donner introduit via le telephone a la base de donnee voila mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
 
$data = file_get_contents("php://input"); 
$line = "\n-------------------------------------------------------------\n";
file_put_contents("logs/ussdgw.txt", $data."\n", FILE_APPEND);	
 
$dataDecoded = json_decode($data);	
 
 
$uri = array_reverse(explode("/", $_SERVER["REQUEST_URI"]));
$usid = $uri[1];
$action = $uri[0];
 
$defaultmenu = array(
	"shouldClose" => false,
	"ussdMenu" => "Welcome to USSD demo!: \n 1.Register \n 2.Login \n 3.Next Step \n 4.Exit",
	"responseExitCode" => 200,
	"responseMessage" => ""
);
 
switch($action)
{
	case 'response':	
 
			switch($dataDecoded->text) 
			{
				case 1:
					$ussdMenu = "Your Leave due date it will be on the ";
				break;
				case 2:
					$ussdMenu = "Your Overtime due date it will be on the ";
				break;
				case 3:
				    $ussdMenu = "Your Medical Aid Date will be sent via SMS";
				break;
 
			}	
		$response = array(
			"shouldClose" => true, 
			"ussdMenu" => $ussdMenu,
			"responseExitCode" => 200,
			"responseMessage" => ""
		);
		$r_encoded = json_encode($response);
		echo $r_encoded;
	break;
 
	case 'status':
		$sessions = file_get_contents("logs/sessions.txt");
			$sessionsActive = explode("\n", $sessions);
				if(in_array($usid, $sessionsActive))
					$sessionActive = true;
				else 
					$sessionActive = false;
 
 
				$end = array(
					"sessionActive" => $sessionActive,
					"responseExitCode" => 200,
					"responseMessage" => ""
				);
			$endEncoded = json_encode($end);
			echo $endEncoded;	
	break;
 
	case 'start':
		echo json_encode($defaultmenu);
		file_put_contents("logs/sessions.txt", $usid."\n", FILE_APPEND);	
	break;
 
	case 'end':
 
		$sessions = file_get_contents("logs/sessions.txt");
			$sessionsActive = explode("\n", $sessions); 
				unset($sessionActive[$usid]); 
			$sessionsModified = implode("\n", $sessionActive); 
			file_put_contents("logs/sessions.txt", $sessionsModified); 
 
 
		$end = array(
			"responseExitCode" => 200,
			"responseMessage" => "Connection ended"
		);
		$endEncoded = json_encode($end);
		echo $endEncoded;
	break;
}
?>
et j'aimerais qu'elle soit a peut pres comme celui la

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
 
header('Content-type: text/plain');
 
include "func/functions.php";
 
$applicationName = $_GET['application'];
$uri = "http://ussd1.infobip.com:8080/appcore/access/rest/v2/application/$applicationName/session/start";
 
$host = "ussd1.infobip.com:8080";
 
/* local db configuration */
$dsn = 'mysql:dbname=iteammob_database;host=localhost;'; //database name
$user = 'iteammob_mzo'; // your mysql user 
$password = 'mzokhona23'; // your mysql password
 
//  Create a PDO instance that will allow you to access your database
try {
    $dbh = new PDO($dsn, $user, $password);
}
catch(PDOException $e) {
    //var_dump($e);
    echo("PDO error occurred");
}
catch(Exception $e) {
    //var_dump($e);
    echo("Error occurred");
}
 
 
 
$phone = $_GET['phoneNumber'];
$session_id = $_GET['sessionId'];
$service_code = $_GET['*120*21662*119672#'];
$ussd_string= $_GET['text'];
 
//set default level to zero
$level = 0;
 
$ussd_string_exploded = explode ("*",$ussd_string);
 
// Get menu level from ussd_string reply
$level = count($ussd_string_exploded);
 
if($level == 1 or $level == 0){
 
    display_menu(); // show the home/first menu
}
 
if ($level > 1)
{
 
    if ($ussd_string_exploded[0] == "1")
    {
        // If user selected 1 send them to the registration menu
        register($ussd_string_exploded,$phone, $dbh);
    }
 
  else if ($ussd_string_exploded[0] == "2"){
        //If user selected 2, send them to the about menu
        about($ussd_string_exploded);
    }
}
 
 
function ussd_proceed($ussd_text){
    echo "CON $ussd_text";
}
 
 
function ussd_stop($ussd_text){
    echo "END $ussd_text";
}
 
//This is the home menu function
function display_menu()
{
    $ussd_text =    "\n 1.Register \n 2.Login "; 
    ussd_proceed($ussd_text);
}
 
// Function that hanldles About menu
function about($ussd_text)
{
    $ussd_text =    "This is a sample registration application";
    ussd_stop($ussd_text);
}
 
// Function that handles Registration menu
function register($details,$phone, $dbh){
    if(count($details) == 2)
    {
 
        $ussd_text = "Please enter your Full Name, Phone Number and your Employee Number, each separated by commas:";
        ussd_proceed($ussd_text); // ask user to enter registration details
    }
    if(count($details)== 3)
    {
		$ussd_text = "\n 1.Leave Due \n 2.Overtime Due \n 3.Next Medical \n 4.Exit";
 
        if (empty($details[1])){
                $ussd_text = "Sorry we do not accept blank values";
                ussd_proceed($ussd_text);
        } else {
        $input = explode(",",$details[1]);//store input values in an array
        $full_name = $input[0];//store full name
        $number = $input[1];//store number
        $phone_number =$phone;//store phone number 
 
        // build sql statement
        $sth = $dbh->prepare("INSERT INTO ussd (full_name, number, phone) VALUES('$full_name','$number','$phone_number')");
        //execute insert query   
        $sth->execute();
        if($sth->errorCode() == 0) {
            $ussd_text = $full_name." your registration was successful. Your employee number is ".$number." and phone number is ".$phone_number;
            ussd_proceed($ussd_text);
        } else {
            $errors = $sth->errorInfo();
        }
    }
}
}
# close the pdo connection  
$dbh = null;
?>
Merci pour votre aide