2016-04-10 16 views
1

アンドロイドからオンラインデータベースにデータを挿入しようとしていますが、私のアプリはそれを修正することができないため、私のアプリはローカルホストに接続していて、データは正常に表示されますが、オンラインデータベースにデータを挿入しようとすると機能しません。誰かが間違って何を言っているのですか? 私のコードを見てみる前に、私は自分のホスティング情報を見てほしいと思っています。アンドロイドからオンラインデータベースにデータを挿入

Main Domain securekid.base.pk 
FTP hostname: ftp.base.pk 
FTP username: basep_**** 
MySQL hostname: sql104.base.pk 
MySQL username: basep_**** 
Hosting Volume vol14_2 

私のDB接続ファイル:

<?php 
$host = "sql104.base.pk"; 
$user = "basep_****"; 
$password = "******"; 
$db = "basep_*****_android"; 
$con = mysqli_connect($host, $user, $password, $db); 
if($con) 
{ 
    echo "successful"; 
} 
else 
{ 
    die("error" . mysqli_connect_error()); 
} 

?> 

register.php

<?php 
require "db_connect.php"; 
$username =$_POST["username"]; 
$password =$_POST["password"]; 
$phone_no =$_POST["phone_no"]; 
$mysql_qry = "insert into user(username,password,phone_no) values('$username', '$password', '$phone_no')"; 

if($con->query($mysql_qry) === TRUE) 
{ 
    echo "Registration Successful"; 
} 
else{ 
    echo "failed"; 
} 
?> 

は、これがそのコードであなたの避難所」表示されますbackground.javaファイル

class backgroundTask extends AsyncTask<String,Void,String> { 
    AlertDialog alertDialog; 
    Context ctx; 
    // Globals session_id = Globals.getInstance(); 
    // Globals session_id_child = Globals.getInstance(); 
    backgroundTask(Context ctx) { 
     this.ctx = ctx; 
    } 

    String reg_url; 

    @Override 
    protected void onPreExecute() { 
     reg_url = "http://securekid.base.pk/app/register.php"; 
    } 

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

     String method = args[0]; 

     if (method.equals("register")) { 
      String username = args[1]; 
      String password = args[2]; 
      String phone_no = args[3]; 
      try { 
       URL url = new URL(reg_url); 
       HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); 
       httpURLConnection.setRequestMethod("POST"); 
       httpURLConnection.setDoOutput(true); 
       httpURLConnection.setDoInput(true); 
       OutputStream OS = httpURLConnection.getOutputStream(); 
       BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS, "UTF-8")); 
       String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8") + "&" + 
         URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8") + "&" + 
         URLEncoder.encode("phone_no", "UTF-8") + "=" + URLEncoder.encode(phone_no, "UTF-8"); 
       bufferedWriter.write(data); 
       bufferedWriter.flush(); 
       bufferedWriter.close(); 
       OS.close(); 
       InputStream IS = httpURLConnection.getInputStream(); 
       IS.close(); 
       //httpURLConnection.connect(); 
       httpURLConnection.disconnect(); 
       return "Registration Successful"; 
      } catch (MalformedURLException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

答えて

0

ですあなたがブラウザであるかどうかをチェックしていますJavaScriptをサポートしています。 Android HttpURLConnectionはJavaScriptを処理しないため、リクエストは失敗します。私はそのコードを生成し、あなたのサイトの一部を見て、APIクライアントではJavaScriptを処理するために期待されることはありませんでしょうので、あなたのAPIファイルのためにそれを無効にすることをお勧めし

<html> 
    <body> 
     <script type="text/javascript" src="/aes.js" ></script> 
     <script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f 
      <d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("b9a6c9d5cb703e2906de146c3bad1187");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; document.cookie="referrer="+escape(document.referrer); location.href="http://securekid.base.pk/app/register.php?ckattempt=1"; 
      </script> 
      <noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript> 
     </body> 
    </html> 

:あなたが得る結果がこれです。

+0

私はチュートリアルに従いました。彼は – user3149023

+0

とうまく動作しています。私のウェブサイトには何も持っていません。サーバーのアプリケーションをサーバーにアップロードしてサーバーにアップロードすることはできません。 – user3149023

+0

@ user3149023申し訳ありませんが、あなたは確かに他のコードを実行しています。あなたのクッキーをクリアし、あなたのブラウザーであなた自身のURL「http:// securekid.base.pk/app/register.php」にアクセスし、どこで終わるかを見てください。あなたは 'http://securekid.base.pk/app/register.php?ckattempt = 1'にいるはずです。次に、リダイレクトされたコードがどこにあるのか自分に尋ねます。 – Chris

関連する問題