Problem bei Zugriff auf php Datei

  • Antworten:22
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 17:29:09 via Website

Hallo Leute,

und zwar folgendes Problem,

ich hab diese Tutorial nachgemacht :

und habe nun folgendes Problem:

Der Code funktioniert alles nur habe ich anstatt einen Webserver einen Apache Server verwendet unter XAMPP. Ich habe eine Login.php Datei und eine Register.php Datei unter Htdocs hinterlegt habe alle Ports freigegeben usw. Nun möchte ich in diesem Code Abschnitt darauf zugreifen:

 public class RegisterRequest extends StringRequest {
    private static final String REGISTER_REQUEST_URL = **"192.168.x.xxx/Register.php";**
    private Map<String, String> params;

    public RegisterRequest(String name, String username, int age, String password, Response.Listener<String> listener) {
        super(Method.POST, REGISTER_REQUEST_URL, listener, null);
        params = new HashMap<>();
        params.put("name", name);
        params.put("age", age + "");
        params.put("username", username);
        params.put("password", password);
    }

    @Override
    public Map<String, String> getParams() {
        return params;
    }
}

Das sich die IP ständig ändert ist mir relativ egal, da es nur zu Testzwecken ist, eine DynDNS kann ich auch noch später erstellen usw.
Nun kommt folgende Fehlermeldung:

E/Volley: [110] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL 192.168.2.102/Register.php
      java.lang.RuntimeException: Bad URL 192.168.2.102/Register.php
          at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144)
          at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)
       Caused by: java.net.MalformedURLException: no protocol: 192.168.2.102/Register.php
          at java.net.URL.<init>(URL.java:589)
          at java.net.URL.<init>(URL.java:486)
          at java.net.URL.<init>(URL.java:435)
          at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102)
          at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96)
          at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 

Wie erreiche ich das ich Lokal, oder per Internet auf diese Php Dateien zugreifen kann, damit die Daten in die Datenbank gespeichert werden.
Führe ich die php Datei normal aus ohne Android Programm funktioniert es, also muss es ja an dem Zugriff zu diesen Dateien fehlschlagen. Woran das liegt weiß ich leider nicht, da ich mich mit XAMPP nicht so genau auskenne...

Danke schon einmal für die Hilfe
LG Patrick

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

28.10.2016, 17:32:13 via Website

Bad URL 192.168.2.102/Register.php

Vllt hilft "http://"?

if all else fails, read the instructions.

Ludy

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 17:41:14 via Website

Also dann kommt ein anderer Fehler mit einem JSON Object, aber daran kann es ja nicht liegen:

Ich hab einen Kumpel gefragt, er kam über runbars.myvnc.com auf den Überordner der Dateien drauf.
Wenn ich jedoch selbst den Link aufrufe komme ich nur auf die Telekom Router Seite wo ich das Passwort eingeben muss.
Dieser Link ist jetzt über noip.com

— geändert am 28.10.2016, 17:41:39

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

28.10.2016, 17:45:25 via Website

Hallo Patrick,

herzlich willkommen hier im Forum (*)

nach deinen Code-Zeilen zu beurteilen, verwendest du eine Lokale-IP. Du sprichst aber hier von DynDNS, wenn das so ist musst du statt der IP die DynDNS-Adresse einfügen und das http nicht vergessen, wie Klaus dir schon mitgeteilt hat.

Gruß Ludy (App Entwickler)

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

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 17:48:34 via Website

Ja ich habe eine DynDns Adrese eingegen jetzt, und dann kommt folgender Fehler:

E/Volley: [128] BasicNetwork.performRequest: Unexpected response code 404 for (hier noch der Link der Adresse, kann ich leider nicht übernehmen da neues Mitglied)

praktisch sieht es jetzt so aus :

public class RegisterRequest extends StringRequest {
    private static final String REGISTER_REQUEST_URL = "http runbars.myvnc.com/Register.php";
    private Map<String, String> params;

    public RegisterRequest(String name, String username, int age, String password, Response.Listener<String> listener) {
        super(Method.POST, REGISTER_REQUEST_URL, listener, null);
        params = new HashMap<>();
        params.put("name", name);
        params.put("age", age + "");
        params.put("username", username);
        params.put("password", password);
    }

    @Override
    public Map<String, String> getParams() {
        return params;
    }
}

— geändert am 28.10.2016, 17:52:37

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

28.10.2016, 17:51:32 via Website

Das Unexpected response code 404 sagt, dass er die Seite nicht gefunden hat. Gibt die Seite doch einfach mal im Browser ein dann wird das gleiche rauskommen.

Gruß Ludy (App Entwickler)

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

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 18:03:27 via Website

Ich versteh einfach nicht warum, meine Freunde kommen auf die Seite drauf, nur die App nicht und ich auch nicht^^....

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

28.10.2016, 18:05:12 via Website

REGISTER_REQUEST_URL = "http runbars.myvnc.com/Register.php";

Wie gesagt, dass heißt "http://...."

User uploaded photo

if all else fails, read the instructions.

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 18:06:05 via Website

ja ich hab das :// weggelassen weil ich hier im Forum keine Links reinschreiben darf, weil ich neu angemeldet bin^^ das hab ich schon richtig so^^

was bedeutet diese meldung : D/NetworkSecurityConfig: No Network Security Config specified, using platform default ?

— geändert am 28.10.2016, 18:10:10

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

28.10.2016, 18:10:27 via Website

Also dein Browser stellt die Seite auch nicht da?

D/NetworkSecurityConfig: No Network Security Config specified, using platform default ?

Wo hast du das jetzt her?

— geändert am 28.10.2016, 18:12:48

Gruß Ludy (App Entwickler)

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

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 18:13:51 via Website

Nein, bei mir kommt die Fehlermeldung wie oben erwähnt...
Wenn ich über ein USB Kabel die App ausführe und übers Wlan eingeloggt bin bekomme ich folgende Meldung:

E/Volley: [1508] BasicNetwork.performRequest: Unexpected response code 404 for HIER STEHT DER LINK

Und wenn ich ohne Wlan über das normale Internet reingehe von meinem 1&1 Anbieter bekomme ich diese Meldung:

W/IInputConnectionWrapper: finishComposingText on inactive InputConnection

das liegt dann wohl daran das ich hier im Dorf kein Internet reinbekomme.

Also könnte es eigentlich mit normalem Internet von außerhalb funktionieren?

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 18:14:58 via Website

Ludy

Also dein Browser stellt die Seite auch nicht da?

D/NetworkSecurityConfig: No Network Security Config specified, using platform default ?

Wo hast du das jetzt her?

Das kommt wenn ich mein eigenes Handy verwende

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 18:49:07 via Website

Also ich bin jetzt nicht daheim mit dem externen Internet ging es , habe auch mal eine Registrierung durchgeführt, schaue nachher mal ob es in der Datenbank drin ist. Es funktioniert nur nicht wenn ich im eigenen Netz bin....

Antworten
Patrick Schies
  • Forum-Beiträge: 13

28.10.2016, 22:24:02 via Website

Update: Also es geht von außerhalb, ich kann lediglich nicht über mein eigenes Netz zugreifen, woran das liegt weiß ich nicht, hat jemand evtl eine Idee?

Antworten
swa00
  • Forum-Beiträge: 3.704

28.10.2016, 23:34:50 via Website

Hallo Patrick

hast du denn auch die erforderlichen Anpassungen in XAMPP in der apache- conf vorgenommen ?

z.b.

Directory "C:/Program Files/*/www">
Order allow, deny
Allow from all

http://stackoverflow.com/questions/21952263/how-to-access-virtual-hostname-xampp-in-local-network-lan

— geändert am 28.10.2016, 23:37:40

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

Antworten
Patrick Schies
  • Forum-Beiträge: 13

29.10.2016, 01:04:43 via Website

Also habe das drin stehen, jedoch wenn ich order allow, deny auskommentier startet der apache nicht. Nach wie vor keine Änderung. In der Firwall hab ich das Programm bereits zugelassen...

AllowOverride All
Require all granted
#Order allow, deny
Allow from all

Was ich auch komisch finde das der Error nur kommt wenn ich auf runbars.myvnc.com/Register.php gehe, wenn ich auf runbars.myvnc.com gehe werde ich an meine Router Loginseite: speedport.ip/html/login/index.html weitergeleitet

— geändert am 29.10.2016, 01:06:33

Antworten
swa00
  • Forum-Beiträge: 3.704

29.10.2016, 01:14:04 via Website

Hallo Patrick,

Was ich auch komisch finde das der Error nur kommt wenn ich auf runbars.myvnc.com/Register.php gehe, wenn ich auf runbars.myvnc.com gehe werde ich an meine Router Loginseite: speedport.ip/html/login/index.html weitergeleitet

es tut mir ja leid, da hast du ordentlich was daneben configuriert - dein Routing stimmt wahrscheinlich auch nicht

P.S das codeschnipsel war nur ein Beispiel um dir den Hinweis zu geben , wo du suchen musst.
Da müsstest du dich in Apache einlesen

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

Antworten
Patrick Schies
  • Forum-Beiträge: 13

29.10.2016, 01:20:15 via Website

Naja ich hab nur die Ports von Xampp von meinen Router an meinen Pc weitergeleitet bzw freigegeben und sonst in xampp eigentlich nichts umgestellt, das ist alles noch so wie es nach der Installation war

— geändert am 29.10.2016, 01:20:34

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.10.2016, 19:32:00 via Website

Halo,
also wenn ich auf die angegebene Seite (runbars.myvnc.com) gehe dann werden mir 2 Php dateien angezeigt.
nur beide bringen einen PHP fehler mit SQLI connect. Also die DB existiert nicht.
PS: Verwende in PHP die SQL PDO Methode, damit kannst du dich leichter vor SQL injections sichern.

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

Antworten
Patrick Schies
  • Forum-Beiträge: 13

29.10.2016, 19:54:17 via Website

Also ich habe die Verbindung jetzt hinbekommen, funktioniert alles soweit, nur ein Fehler:
Wenn ich auf registrieren drücke speichert er in jedes Feld die richtigen Werte ein, nur nicht in Username, da landet jedesmal eine 0 drin und es kommt folgender Fehler:

W/System.err: org.json.JSONException: Value Great of type java.lang.String cannot be converted to JSONObject
W/System.err:     at org.json.JSON.typeMismatch(JSON.java:111)
W/System.err:     at org.json.JSONObject.<init>(JSONObject.java:160)
W/System.err:     at org.json.JSONObject.<init>(JSONObject.java:173)
W/System.err:     at login.run_ba.RegisterActivity$2$1.onResponse(RegisterActivity.java:54)
W/System.err:     at login.run_ba.RegisterActivity$2$1.onResponse(RegisterActivity.java:50)
W/System.err:     at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
W/System.err:     at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30)
W/System.err:     at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
W/System.err:     at android.os.Handler.handleCallback(Handler.java:751)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err:     at android.os.Looper.loop(Looper.java:154)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6119)
W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

Das ist der Codeschnipsel dazu:

bRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String name = etName.getText().toString();
                final String username = etUsername.getText().toString();
                final int age = Integer.parseInt(etAge.getText().toString());
                final String password = etPassword.getText().toString();

                Response.Listener<String> responseListener = new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            JSONObject jsonResponse = new JSONObject(response);
                            boolean success = jsonResponse.getBoolean("success");

                            if(success) {
                                Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
                                RegisterActivity.this.startActivity(intent);
                            } else {
                                AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                                builder.setMessage("Register Failed")
                                        .setNegativeButton("Retry", null)
                                        .create()
                                        .show();
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                };

                RegisterRequest registerRequest = new RegisterRequest(name, username, age, password, responseListener);
                RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
                queue.add(registerRequest);
            }

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.10.2016, 20:02:34 via Website

Deine Response also Serverantwort scheint kein Json zu sein.
Was kommt denn als String zurück?

— geändert am 29.10.2016, 20:02:47

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

Antworten
Patrick Schies
  • Forum-Beiträge: 13

29.10.2016, 20:07:44 via Website

Ich bin so doof... ich hatte ein echo "Great work" drin und dadurch wurde der Fehler ausgelöst, jetzt habe ich die Zeile rausgeschmissen, es funktioniert, aber der username wird leider immer noch nicht übernommen. Denke da wird dann irgendwas am Konstruktor nicht stimmen...^^

Antworten