2016-06-12 20 views
0

Ich kann nicht herausfinden, warum ich nicht die Werte der Nachricht gesendet $ message_sent und Handynummer $ handynummer erhalten und speichern sie in einer db nach dem Senden der Nachricht mit der Funktion grabdetails wie auf meinem gezeigt Code unten. Jemand bitte leite michPHP Benutzerdefinierte Funktionen Problem

// Code

// fetch values from a database 
$name = $resultarr['name']; 
$amount = $resultarr['amount']; 
$transaction_id = $resultarr['trans_id']; 
$date = $resultarr['time_paid']; 

    //message template 
    $message = "Dear $name we have received $amount from you. MPESA transaction Id $transaction_id on $date."; 

    $mobilenumber = $resultarr['msisdn']; // get mobile number from array 
    $message_sent = $message; 


    $serviceArguments = array(
      "mobilenumber" => $mobilenumber, 
      "message" => $message_sent 
    ); 
     // send message through a web service 
    $client = new SoapClient("http://52.34.63.16:8080/smsengine/smsws?WSDL"); 

    $result = $client->process($serviceArguments); 

    // call function to grab mobile number and message 
     grabdetails($message_sent, $mobilenumber); 
    return $result; 


} 

// the function 
function grabdetails($messagee, $mobno) 
    { 

    $message_sent = $messagee; 
    $mobilenumber = $mobno; 


$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "smsdb"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 
// insert into db 
$sql = "INSERT INTO smsdb (sms_text, receiver_number, time_sent) 
    VALUES 
    ('$message_sent', '$mobilenumber', CURDATE())"; 
+0

1. Sie Ihre SQL-Abfrage '$ sql' ausführen Sie? 2. Wissen Sie, dass 'DATETIME' ein Datentyp ist? 3. Wissen Sie, dass __nothing__ nach der Anweisung "return" ausgeführt wird? –

+0

Hallo, ich habe den Code bearbeitet Immer noch nicht die Werte in einem db ... @u_mulder –

+0

Ich frage noch einmal - Sie __execute__ Ihre Abfrage? –

Antwort

0

Wenn Sie etwas außerhalb Funktionen definieren, müssen Sie „global“ Tag verwenden, um sie innerhalb von Funktionen zu verwenden. Es bedeutet im Grunde, dass Sie globale Variablen innerhalb von Funktionen verwenden.

In diesem Fall alles, was Sie haben, ist hinzuzufügen

global $message_sent,$mobilenumber; 
+0

Welche globalen Variablen sprichst du? –

+0

Hallo, also, wenn ich das globale Schlüsselwort verwende, wenn ich ihre Werte in eine db einfügen will, haben sie den Wert say message_sent = "the message" und $ mobilenumber = "377 ****" bekommen? @Mert –

Verwandte Themen