Web-Seite in native app convertieren mit Android Studio

Dimax

Top Contributor
Guten Tag;
Ich habe eine Web Seite die ich gerne in eine native App konvertieren möchte.Eigentlich habe ich die Seite konvertiert ,nur beim Senden von Anmeldedaten sollte der Benutzer auf eine php-seite umgeleitet werden.Stattdessen wird aber der source -code von der php-Seite angezeigt.
Begrüssungseite mit Login Fenster ist eine html-seite und die Anmeldedaten werden mit der Post-methode an die php-Seite weitergeleitet.
Woran kann es liegen, dass anstatt php-seite wird der source-code von der Seite angezeigt?

Danke im Voraus.
 
K

kneitzel

Gast
Weil eine php Seite nun einmal eine php Seite ist und keine HTML Seite?

Und ohne zu wissen, was Du wie gemacht hast, ist da keine Aussage möglich. Vermutlich sind alle Requests einfach lokal (was aber bei einer Anmeldung ggf. keinen Sinn macht) und Du willst den Request zum Server schicken?
 

Dimax

Top Contributor
Das ist die Start-Seite
index.html
HTML:
.......
<form  id="login" action="loginDaten.php" method="POST" autocomplete="on">
<table border="0" align=center>
   <tr>
      <td><b>Username</b> &#9786;</td><td> </td> </tr>
   <tr>
     <td><input type="text" name="username" autocomplete="username"><br /></td>
   </tr>
   <tr>
      <td><b>Passwort</b> &#9911;</td><td></td> </tr>
   <tr>
     <td><input type="password" name="passwort" autocomplete="off"/><br /></td>
   </tr><tr><td>   </td><td>   </td></tr><tr><td>   </td><td>   </td></tr>
   <tr>
     <td><input type="button" value = "Einloggen" onclick="submit()"/><br /></td>
   </tr>
  </table>
  </form>

Das ist die Seite ,wo der Request empfangen wird und je nachdem wird der Benutzer weitergeleitet.

loginDaten.php
Code:
<?php
    include 'utility.php';
    $myname = 'loginDaten.php';
    $urlhost = config::urlhost;
    $baseurl = config::baseurl;
   
     if ($_SERVER['REQUEST_METHOD'] == 'POST')
     {
    
      $userid = $_POST['username'];
      $passwort = rtrim($_POST['passwort']);
      $filter = "userid='$userid'";
      $passph = tblookup("userdb", "encryptable", "passphrase");
      $var    = "AES_DECRYPT(pwencr, '$passph')";

       $pwtab = tblookup("userdb", "ptab", $var, $filter);

      $p_id = tblookup('gggg','ggg_personal','pnr',"userid='$userid'");


      if ($passwort == $pwtab && $userid !='')
       {
       $sessionid = newsessionid($userid);
       header("Location: http://$baseurl/startInsert.php?sid=$sessionid&p=$p_id");
       }
      else
      {
       logsatz($myname, "Login-ERROR $userid Falsches PW");
       header("Location: http://$baseurl/loginfehler.php?s=1");
      }
     }
     else
     {
       header("Location: http://$urlhost/loginpw.html");
     }
?>
Beim clicken auf einlogen-button auf der index.html wird der source-code von loginDaten.php angezeigt.
 
K

kneitzel

Gast
Das sind nur die Seiten aber sagen nichts darüber aus, wie du daraus eine Android Applikation machen wolltest ....

Aber php Seiten benötigen einen PHP Interpreter, der dann bei einem Aufruf die php Seite abarbeitet. Wenn der Code angezeigt wird, dann ist der nicht da (würde mich auch stark wundern. PHP bezüglich Android Applikation wäre mir etwas ganz Neues....

Es gibt zwar diverse Anleitungen, aber was ich so gesehen habe, geht es da immer nur um den Bau von Client-Server Applikationen mit Android (Java/Kotlin) App und PHP Seiten auf dem Server.

Und wenn man sich die Seite selbst anschaut: action="loginDaten.php" bedeutet, dass das lokale loginDaten.php aufgerufen wird, also rein lokal.

Das Alles kann also so aus meiner Sicht schlicht nicht funktionieren.
 
K

kneitzel

Gast
Was mir gerade durch den Kopf geht: Hast Du evtl. einfach nur eine Android App gebaut mit einem WebView Control auf der MainActivity und da hast Du dann als Start-URL einfach eine URL vorgeben? Sprich: Du hast nur ein App gebaut, die als Webbrowser fungiert mit einer von Dir vorgegebenen Startseite?

Dann wäre das Problem nicht die App sondern dann dürfte dieses Problem generell bestehen (Also die URL einfach mal in einem Browser aufrufen). Dann müsste Serverseitig PHP konfiguriert / aktiviert werden, damit php Seiten nicht einfach angezeigt sondern ausgeführt werden.
 

Dimax

Top Contributor
Und wenn man sich die Seite selbst anschaut: action="loginDaten.php" bedeutet, dass das lokale loginDaten.php aufgerufen wird, also rein loka
ja ,die Datei ist ja local auf dem Smartphone installiert,wenn ich aber action="http://meinServer/loginDaten.php" eingebe dann öffnet sich der Browser und alles leuft wie gehabt auf dem Server und nicht mehr in der app.

Ich habe Node.js Cordova und Android Studio installiert.Dann habe ich mit cordova ein neues Projekt erstellt und den source ordner mit allen dateien importiert.Dann habe ich mit cordova build android daraus eine main.apk gebaut und auf dem von Android Studio erstellten emulator installiert.Wie es aus dem loginDaten.php zu sehen ist, sollte die app vom Server die Bunutzerdaten zum Vergleich holen .Die zeigt aber den source-code an.
 

Dimax

Top Contributor
Ich frage nur ob es eine Lösung gibt die Dateien in php zu behalten ,wenn nicht dann baue ich die Dateien in java um.
 
K

kneitzel

Gast
Also Cordova baut lediglich einen Rahmen um eine HTML / CSS / JS Applikation. Da ist kein PHP Interpreter drin.
 

Neue Themen


Oben