German Frage zu HttpUtils2

Andie

Member
Licensed User
Longtime User
Ich möchte Werte an ein php-Script senden. Also habe ich die HttpUtils2 eingebunden und dann Folgendes gemacht:
B4X:
    Sub Activity_Create(FirstTime As Boolean)
Dim j As HttpJob
    j.Initialize("Send_Job", Me)

    j.Download2("http://example.net/adressbuch.php", _
        Array As String("name", "Andie", "wohnort", "Berlin"))
End Sub

In meiner adressbuch.php steht:
PHP:
    $name = $_Get["name"];
    $wohnort = $_Get["wohnort"];

Aber die Variablen $name und $wohnort sind leer. Was mache ich da falsch?
 

DonManfred

Expert
Licensed User
Longtime User
B4X:
Dim Job As HttpJob
Job.Initialize("Send_Job", Me)
Job.JobName = "Send_Job"
Job.download2("http://example.net/adressbuch.php", Array As String( _
"action", "Send_Job", _
"name", "Andie", _
"wohnort", "Berlin, _
))

Hmm... It´s not other than yours... Yours must fit then i suppose... Maybe something wrong with your phpcode? Post it here

Tschuldigung... Ich kann ja Deutsch ;)

Also, hmm, mein Code ist am ende deinem gleich. Aber ich weiss von meinem Beispiel dass es SO funktioniert.
Das Problem liegt vielleicht in deiner PHP-Datei? Lade mal das komplette Script hoch hier.
 
Last edited:

Andie

Member
Licensed User
Longtime User
Vielen Dank für Deine Anwort, DonManfred. Hier ist das php-Script. Ich muss noch dazu sagen, dass ich damit Notifications senden will. Aber das ändert nichts an dem Problem, dass in den Variablen $rcv und $msg nichts steht.
PHP:
<?php

function sendGCM($UserID, $message) {

$databasehost = "...";
$databasename = "...";
$databaseusername = "...";
$databasepassword = "...";

$db = mysqli_connect($databasehost,$databaseusername,$databasepassword,$databasename);

if(!$db)
{
exit("Fehler: " .mysqli_connect_error());
}
// $abfrage = "SELECT id FROM c2dm WHERE name LIKE 'lgandi'";
$abfrage = "SELECT id FROM c2dm WHERE name LIKE '$UserID'";

$ergebnis = mysqli_query($db, $abfrage);
$row = mysqli_fetch_object($ergebnis);

  
    // Replace with real BROWSER API key from Google APIs
    $apiKey = "xyzXYZ";
  
    // Replace with real client registration IDs
    $registrationIDs = array( $row->id );
      
    // Set POST variables
    $url = 'https://android.googleapis.com/gcm/send';
  
    $fields = array(
                    'registration_ids'  => $registrationIDs,
                    'data'              => array( "data" => $message ),
                    );
  
    $headers = array(
                        'Authorization: key=' . $apiKey,
                        'Content-Type: application/json'
                    );
  
    // Open connection
    $ch = curl_init();
  
    // Set the url, number of POST vars, POST data
    curl_setopt( $ch, CURLOPT_URL, $url );
  
    curl_setopt( $ch, CURLOPT_POST, true );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
  
    curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
  
    // Execute post
    $result = curl_exec($ch);
  
    // Close connection
    curl_close($ch);
}

?>


<?php
    $rcv = $_Get["name"];  
    $msg = $_Get["msg"];
  sendGCM($rcv, $msg);  

?>
 

DonManfred

Expert
Licensed User
Longtime User
PHP:
$rcv = $_Get["name"];
$msg = $_Get["msg"];

kann nicht funktionieren. Das Array heisst nicht $_Get sondern $_GET

probiers mit

PHP:
$rcv = $_GET["name"];
$msg = $_GET["msg"];

Sorry. Ist mir in deinem ersten Post so nicht aufgefallen...
 

Andie

Member
Licensed User
Longtime User
Oh super, DonManfred, Du hast mir das Wochenende gerettet. Genau das war der Fehler; hätte ich niemals rausgekriegt. Ich bin noch ziemlich neu auf dem php-Gebiet (komme halt von der Basic-Seite). Ich muss in Zukunft daran denken: Groß- und Kleinschreibung beachten und die Semikolons nicht vergessen. - Have a nice weekend!
 
Top