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
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 <?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; } ?>
Merci pour votre aide
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; ?>
Partager