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!
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…