Undifined Index, $_POST, PHP

  • Antworten:8
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 5

13.07.2016, 08:18:07 via Website

Hallo Leute,
ich habe ein kleines Problem mit meinem PHP Skript, bzw. der Übergabemethode, dass ich irgendwie nicht schaffe, trotz ausgiebiger Suche, selbst zu lösen. Eventuell hat einer einen Lösungsvorschlag?

Ich versuche ein paar Variablen aus meiner App über PHP an den Server zu senden, die dann eine query starten. Allerdings bekomme ich die Variable aus der App nicht in PHP reingeprügelt. :(.
Davon abgesehen, bekomme ich eine Antwort von PHP, das Problem liegt also nur an der Variablen!

Übergabe aus App:
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}

    @Override
    protected String doInBackground(String... params) {

        JSON_url="xxx";

        String method = params[0];
        String Unterrichtsfach = params[1];
        Unterrichtsfach="0";
        String Preis = params[2];
        String Lehrerart = params[3];
        String Unterrichtsort = params[4];
        String Unterrichtsart = params[5];
        String Plz = params[6];
        String Umkreis = params[7];

        try {
            URL url = new URL(JSON_url);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setDoInput(true);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));


            String data = URLEncoder.encode("Unterrichtsfach", "UTF-8") + "=" + URLEncoder.encode(Unterrichtsfach, "UTF-8") + "&" +

PHP
// $db_name="x1";

$link = mysql_connect('xxxx', 'xxxx', '');

$Unterrichtsfach = $_POST['Unterrichtsfach'];
//$Unterrichtsfach=$_POST["Unterrichtsfach"];

Danke im voraus!

Antworten
  • Forum-Beiträge: 5

13.07.2016, 08:19:55 via Website

Kann leider keine Bilder hochladen:

-->Um Spam in unserem Forum zu vermeiden, können neue Mitglieder vorerst keine Links auf externe Webseiten veröffentlichen.
Vorschau<--

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.177

13.07.2016, 08:50:39 via App

Dein Code sieht irgendwie nicht komplett aus..
Versuch im PHP mal ein var_dump($_POST) um alles auszugeben. Ich glaube die Post Parameter müssen vor dem öffnen des Streams gesetzt werden.
Wenn du keine Lust hast das selber zu programmieren, dann empfehle ich dir eine Http lib zu benutzen bsp. OkHttp oder Ion oder Volley.

LG Pascal //It's not a bug, it's a feature. :) ;)

Dimitri Uljanow

Antworten
  • Forum-Beiträge: 5

13.07.2016, 09:25:10 via Website

Hmmmmm, es werden in der Tat keine Parameter empfangen ! ... (thinking). Zumindest habe ich schon mal einen Ansatz, danke für den Tipp! Für weitere bin ich dankbar ! :P

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.167

13.07.2016, 11:24:03 via App

Hallo Dimitri Uljanow,

herzlich willkommen hier im Forum (*)

dir fehlt der DataOutputstream schau mal https://www.numetriclabz.com/android-post-and-get-request-using-httpurlconnection/

Edit siehe swa00

— geändert am 13.07.2016, 15:00:46

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

Dimitri Uljanow

Antworten
  • Forum-Beiträge: 2.907

13.07.2016, 14:27:04 via Website

Hallo Dimitri,

schau mal hier

     URL urlToRequest = new URL(Link);
     HttpURLConnection urlConnection = (HttpURLConnection)urlToRequest.openConnection();
     urlConnection.setDoOutput(true);
     urlConnection.setRequestMethod("POST");
     urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");


     // Raus  damit
     String postParameters = "value1=" +"irgendwas" + "&value2=" +"irgendwas";
     PrintWriter outp = new PrintWriter(urlConnection.getOutputStream());
     outp.print(postParameters);
     outp.close();

     urlConnection.setFixedLengthStreamingMode(postParameters.getBytes().length);
     urlConnection.connect();



     // Response
     BufferedReader rd = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
     String line;
     while ((line = rd.readLine()) != null)
     {
         Log.d(TAG,"RESPONSE :" + line );//+ "- "+Integer.toString(Link.length()));

     }

— geändert am 13.07.2016, 15:34:28

Liebe Grüße - Stefan
[ App - Entwicklung ]

Dimitri UljanowLudy

Antworten
  • Forum-Beiträge: 5

13.07.2016, 15:07:36 via Website

Oh man .... Danke ;). IRgendwann man sieht man den Wald vor lauter Bäume nicht mehr... (silly)

Antworten
  • Forum-Beiträge: 2.907

13.07.2016, 15:32:02 via Website

Gern geschehen - Viel Erfolg

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten

Empfohlene Artikel