마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드랑 php관련 질문입니다. 꼭 부탁드립니다.

0 추천
안녕하세요 제가 네이버에서 소스를 보면서 구현해가고 있는데

else문으로 넘어가네요 회원가입 실패(중복일수도있습니다.)
php나 sql을 보면 데이터는 저장이 되는데 왜 완료라고 뜨지 않을까요?? 
조언좀 부탁드립니다. 계속 해보고있는데 도저히 감이 잡히질않네요 
부탁드립니다.(__)



안드로이드 부분
package com.example.iamapainter;

import java.io.InputStream;
import java.net.URL;
import java.net.URLEncoder;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class joinActivity extends Activity {
 Button joinOk;
 EditText edtname, edtid, edtpass;
 private static final String SERVER_ADDRESS = "http://192.168.0.126:80";

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.join);

  StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
    .permitAll().build();
  StrictMode.setThreadPolicy(policy);

  joinOk = (Button) findViewById(R.id.joinOk);

  edtname = (EditText) findViewById(R.id.edtname);
  edtid = (EditText) findViewById(R.id.edtid);
  edtpass = (EditText) findViewById(R.id.edtpass);

  joinOk.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    if (edtname.getText().toString().equals("")
      || edtid.getText().toString().equals("")
      || edtpass.getText().toString().equals("")) {
     Toast.makeText(joinActivity.this, "입력오류입니다",
       Toast.LENGTH_SHORT).show();
     return;
    }
    runOnUiThread(new Runnable() {
     public void run() {

      String name = edtname.getText().toString();
      String id = edtid.getText().toString();
      String password = edtpass.getText().toString();

      try {
       URL url = new URL(SERVER_ADDRESS + "/sos.php?"
         + "&name="
         + URLEncoder.encode(name, "UTF-8") + "&id="
         + URLEncoder.encode(id, "UTF-8")
         + "&password="
         + URLEncoder.encode(password, "UTF-8"));

       url.openStream();

       String result = getXmlData("insertresult.xml",
         "result");

       if (result.equals("1")) {
        Toast.makeText(joinActivity.this,
          "가입완료! 로그인하세요", Toast.LENGTH_SHORT)
          .show();

        edtname.setText("");
        edtid.setText("");
        edtpass.setText("");
        
        startActivity(new Intent(joinActivity.this,
          MainActivity.class));
        finish();

       } else
        Toast.makeText(joinActivity.this,
          "회원 가입 실패(ID 중복일 수 있습니다.)",
          Toast.LENGTH_SHORT).show();

      } catch (Exception e) {
       Log.e("Error", e.getMessage());
      }
     }
    });
   }
  });

 }

 private String getXmlData(String filename, String str) {
  String rss = SERVER_ADDRESS + "/";
  String ret = "";

  try {
   XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
   factory.setNamespaceAware(true);
   XmlPullParser xpp = factory.newPullParser();
   URL server = new URL(rss + filename);
   InputStream is = server.openStream();
   xpp.setInput(is, "UTF-8");

   int eventType = xpp.getEventType();

   while (eventType != XmlPullParser.END_DOCUMENT) {
    if (eventType == XmlPullParser.START_TAG) {
     if (xpp.getName().equals(str)) {
      ret = xpp.nextText();
     }
    }
    eventType = xpp.next();
   }
  } catch (Exception e) {
   Log.e("Error", e.getMessage());
  }
  return ret;
 }

}


sos.php
<?php
$connect = mysql_connect("127.0.0.1:3306","root","apmsetup");

mysql_selectdb("first");
mysql_query("set names utf8");

$name = $_REQUEST[name];
$id = $_REQUEST[id];
$password = $_REQUEST[password];

$qry = "insert into memjoin(name,id,password) values ('$name', '$id', '$password');";
$result = mysql_query($qry);

$xmlcode = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$xmlcode .= "<reuslt>$result</result>\n";

$dir = "C:/APM_Setup/htdocs";

$filename = $dir."/insertresult.xml";

file_put_contents($filename, $xmlcode);
?>

 

maedduk (180 포인트) 님이 2015년 7월 16일 질문

1개의 답변

0 추천
해당 라인이 문제라면
String result = getXmlData("insertresult.xml","result");
먼저 확인해보셔야할 듯한데요.
result에 들어오는 값이 "1" 인지요.
 

 

컴러기 (22,230 포인트) 님이 2015년 7월 17일 답변
...