Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Mobile > Mobile Forum > สอบถามปัญหาการเขียน Android เชื่อมต่อ Server แต่ใน localhost ใช้งานได้ปกติ



 

สอบถามปัญหาการเขียน Android เชื่อมต่อ Server แต่ใน localhost ใช้งานได้ปกติ

 



Topic : 129662



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



ปัญหามีอยู่ว่าผมเขียน Android ให้เชื่อมต่อกับฐานข้อมูล แล้วพอเรากดส่งค่าไปที่ PHP บน Server ให้มันส่งค่ากลับมา ทำไม Server ถึงไม่ส่งค่ากลับมาครับทั้งๆ ที่ PHP ที่อยู่บนเครื่องลองใช้งานผ่าน LOCALHOST ใช้งานได้ปกติ

Code (Android-Java)
package com.example.tfza.ohotime;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Process;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.squareup.picasso.Picasso;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class SchoolResetPasswordActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener
{



    TextView tv1,tv2,tv3;
    ImageView imv;




    private  static final String TAG = "myApp";
    TextView tv;
    EditText TPasswordBe,TPasswordAf,TPasswordAf1;
    String PasswordBe,PasswordAf,PasswordAf1,email,Database,url;

    ProgressDialog pDialog;

    private DrawerLayout mDrawerLayout;
    private ActionBarDrawerToggle mToggle;
    private Toolbar mToolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_school_reset_password);
        nav();
        url= "http://www.test.com/ionicPHP/testandroid/SchoolResetPassword.php";
        email = getIntent().getExtras().getString("email");
        Database = getIntent().getExtras().getString("database");


    }

    private void nav() {
        mToolbar = (Toolbar) findViewById(R.id.nav_action);
        setSupportActionBar(mToolbar);
        ActionBar appbar = getSupportActionBar();
        appbar.setTitle("เปลี่ยนรหัสผ่าน");
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
        mToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.string.open,R.string.close);
        mDrawerLayout.addDrawerListener(mToggle);
        mToggle.syncState();


        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        navigationView.setNavigationItemSelectedListener(this);

    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(mToggle.onOptionsItemSelected(item)){
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }




    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_homepage) {
            // Handle the camera action
            Thread myThread = new Thread(){
                @Override
                public void run(){
                    try {
                        sleep(0);
                        Intent intent = new Intent(getApplication(),SchoolIndexActivity.class);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                        String email = getIntent().getExtras().getString("email");
                        String Database = getIntent().getExtras().getString("database");

                        //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
                        intent.putExtra("database", Database);
                        intent.putExtra("email", email);
                        startActivity(intent);
                        finish();
                    }catch (InterruptedException e){
                        e.printStackTrace();
                    }

                }};
            myThread.start();
        } else if (id == R.id.nav_holiday) //วันหยุด
        {

            Thread myThread = new Thread(){
                @Override
                public void run(){
                    try {
                        sleep(0);
                        Intent intent = new Intent(getApplication(),SchoolHolidayActivity.class);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                        String email = getIntent().getExtras().getString("email");
                        String Database = getIntent().getExtras().getString("database");

                        //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
                        intent.putExtra("database", Database);
                        intent.putExtra("email", email);
                        startActivity(intent);
                        finish();
                    }catch (InterruptedException e){
                        e.printStackTrace();
                    }

                }};
            myThread.start();
        } else if (id == R.id.nav_leave) //ลา
        {

            Intent intent = new Intent(this,SchoolIndexActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }else if (id == R.id.nav_student)//นักเรียน

        {

            Intent intent = new Intent(this,SchoolIndexActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }
        else if (id == R.id.nav_result) //สรุป
        {

            Intent intent = new Intent(this,SchoolIndexActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }
        else if (id == R.id.nav_gradeAdd)//เพิ่มเกรด
        {

            Intent intent = new Intent(this,SchoolIndexActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }
        else if (id == R.id.nav_grade)//เกรด
        {

            Intent intent = new Intent(this,SchoolIndexActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }
        else if (id == R.id.nav_inout) //เวลาเข้าออก

        {

            Intent intent = new Intent(this,SchoolIndexActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }
        else if (id == R.id.nav_password)//เปลี่ยนรหัสผ่าน
        {

            Intent intent = new Intent(this,SchoolResetPasswordActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            String email = getIntent().getExtras().getString("email");
            String Database = getIntent().getExtras().getString("database");

            //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
            intent.putExtra("database", Database);
            intent.putExtra("email", email);
            startActivity(intent);
        }


        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }


    public void btnSave(View view) {
        TPasswordBe =(EditText) findViewById(R.id.edPasswordBe);
        TPasswordAf =(EditText) findViewById(R.id.edPasswordAf);
        TPasswordAf1 =(EditText) findViewById(R.id.edPasswordAf1);
        PasswordBe = TPasswordBe.getText().toString().trim();
        PasswordAf = TPasswordAf.getText().toString().trim();
        PasswordAf1 = TPasswordAf1.getText().toString().trim();

        if(!PasswordBe.isEmpty() && !PasswordAf.isEmpty()&& !PasswordAf1.isEmpty()){
            //requestLogin(userID,passWd);
            if(PasswordAf.equals(PasswordAf1)){
                if(!PasswordBe.equals(PasswordAf)){
                    /*Context context=getApplicationContext();
                    Toast.makeText(context,"ไม่ตรง ",Toast.LENGTH_LONG).show();*/
                    ProcessData(PasswordBe,PasswordAf,email,Database);
                }else {
                    //
                    Context context=getApplicationContext();
                    Toast.makeText(context,"รหัสผ่านเดิมไม่ควรตรงกับรหัสผ่านใหม่ กรุณาตรสจสอบ",Toast.LENGTH_LONG).show();
                }

            }else{
                Context context=getApplicationContext();
                Toast.makeText(context,"ยืนยันรหัสผ่านไม่ตรงกัน กรุณาตรสจสอบ",Toast.LENGTH_LONG).show();
            }

        }else{

            Context context=getApplicationContext();
            Toast.makeText(context,"กรุณากรอก ข้อมูลให้ครบ ",Toast.LENGTH_LONG).show();

        }
    }

    private void ProcessData(String passwordBe, String passwordAf, String email) {
    }

    private void ProcessData(final String passwordBe, final String passwordAf, final String email, final String Database) {
        pDialog =new ProgressDialog(this);
        pDialog.setMessage("กรุณรอสักครู่ ...");
        pDialog.show();
        /*Context context=getApplicationContext();
        Toast.makeText(context,"กรอก สำเร็จ ",Toast.LENGTH_SHORT).show();
*/
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                try {
                    JSONObject jObj = new JSONObject(response);
                    int returnCode = jObj.getInt("code");
                    String returnMsg = jObj.getString("return");
                    //String passwordBe = jObj.getString("passwordBe");
                    //String passwordAf = jObj.getString("passwordAf");
                    Log.d(TAG, String.valueOf(returnCode) + returnMsg);
                    if (returnCode == 1) {

                        Context context=getApplicationContext();
                        Toast.makeText(context,returnMsg,Toast.LENGTH_LONG).show();
                        /*Intent intent = new Intent(getBaseContext(), OrganizationIndexActivity.class);
                        intent.putExtra("email", emailMsg);
                        startActivity(intent);*/
                        Thread myThread = new Thread(){
                            @Override
                            public void run(){
                                try {
                                    sleep(0);
                                    Intent intent = new Intent(getApplication(),SchoolIndexActivity.class);
                                    intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                                    String email = getIntent().getExtras().getString("email");
                                    String Database = getIntent().getExtras().getString("database");

                                    //Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
                                    intent.putExtra("database", Database);
                                    intent.putExtra("email", email);
                                    startActivity(intent);
                                    finish();
                                }catch (InterruptedException e){
                                    e.printStackTrace();
                                }

                            }};
                        myThread.start();
                    } else {
                        Context context=getApplicationContext();
                        Toast.makeText(context,returnMsg,Toast.LENGTH_LONG).show();
                        //tv.setText(returnMsg);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                pDialog.hide();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Context context=getApplicationContext();
                Toast.makeText(context,"OnError : "+error.getMessage(),Toast.LENGTH_SHORT).show();
                pDialog.hide();
            }

        })
        {
            @Override
            protected Map<String,String> getParams(){
                Map<String,String>params=new HashMap<String,String>();
                params.put("passwordBe",passwordBe);
                params.put("passwordAf",passwordAf);
                //params.put("passwordAf1",passwordAf1);
                params.put("email",email);
                params.put("databese",Database);
                return params;

            }


        };
        RequestQueue queue = Volley.newRequestQueue(this);
        queue.add(stringRequest);

    }
}






Code (PHP)
<?php
$passwordBe=$_REQUEST['passwordBe'];
$passwordAf=$_REQUEST['passwordAf'];
//$passwordAf1=$_POST['passwordAf1'];
$email=$_REQUEST['email'];
$databese=$_REQUEST['databese'];
require 'config.php';
mysql_select_db('ohotime_mscan');
$sql = "SELECT * FROM namet WHERE n_mail='$email' ";
$result = mysql_query($sql);
$numrow = mysql_num_rows($result);
$value = mysql_fetch_array($result);

if ($value){
	//$arr["email"] = $value["n_mail"];
	if($passwordBe==$value["n_pass"]){
		$sql1 = "UPDATE namet SET n_pass='$passwordAf' WHERE n_mail='$email'";
		$result1 = mysql_query($sql1);
		if ($result1) { $arr = array('code' =>'1' ,'return' =>'เปลี่ยนรหัสผ่านเรียบร้อย'); }
	}else{	
		$arr = array('code' =>'2' ,'return' =>'รหัสผ่านเดิมของคุณไม่ถูกต้อง');

			}
}else{
	$arr = array('code' =>'2' ,'return' =>'เชื่อมต่อฐานข้อมูลไม่ได้');
}
echo json_encode($arr);

?>


ปล.รันผ่าน Xampp ใช้งานได้ปกติ แต่ บน Server ไม่ส่งค่ากลับมา



Tag : Mobile







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-12-08 09:54:26 By : โปรแกรมเมอร์มือสำรอง View : 1642 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองทดสอบเรียกข้อมูลจาก PHP ด้วยการกำหนด Paramters แล้วเรียกมันตรงๆ ผ่าน URL ครับ ว่ามี Error หรือไม่

Quote:
$passwordBe=$_REQUEST['passwordBe'];
$passwordAf=$_REQUEST['passwordAf'];



Code
$_REQUEST['passwordBe'] = "test"; $_REQUEST['passwordAf'] = "test"; $passwordBe=$_REQUEST['passwordBe']; $passwordAf=$_REQUEST['passwordAf'];







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 13:33:08 By : mr.win
 


 

No. 2



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2017-12-08 13:33:08
รายละเอียดของการตอบ ::
$passwordBe=$_REQUEST['passwordBe'];
$passwordAf=$_REQUEST['passwordAf'];
ตรงนี้ผมให้รับค่ามาจาก android ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 15:26:05 By : โปรแกรมเมอร์มือสำรอง
 

 

No. 3



โพสกระทู้ ( 9,556 )
บทความ ( 2 )



สถานะออฟไลน์


วัตถุประสงค์ของ admin คือให้ทดลองจาก browser ดูก่อนครับ ว่าเรียก จาก server ตรงๆ ได้ไหม
โค๊ด php error หรือเปล่า ถ้าไม่ ก็ค่อยตรวจสอบโค๊ด java ของ android อีกที ว่า error ตรงไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 15:38:27 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-12-08 15:38:27
รายละเอียดของการตอบ ::
ขอบคุณครับ Server ผมอาจจะเสียเองครับ
ถ้าใช้ PHP เรียกยังได้อยู่ครับ
แต่ถ้าส่งข้อมูลมาจาก android มันจะส่งมาได้ แต่จะไม่ตอบกลับครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 15:52:03 By : โปรแกรมเมอร์มือสำรอง
 


 

No. 5



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอบความคิดเห็นที่ : 4 เขียนโดย : โปรแกรมเมอร์มือสำรอง เมื่อวันที่ 2017-12-08 15:52:03
รายละเอียดของการตอบ ::
... แล้วไม่ตอบกลับยังไงครับผม ลอง test ตรงส่วน http ดูครับ ว่า ได้หรือป่าว




















ปล. https://www.thaicreate.com/freelance/006288.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-22 16:37:07 By : heloman
 


 

No. 6



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 5 เขียนโดย : heloman เมื่อวันที่ 2017-12-22 16:37:07
รายละเอียดของการตอบ ::
ผมคาดว่า server ผมคงเสียครับ เพราะตอนนี้ได้แล้วครับ ใช้โค้ดเดิมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-01-03 13:41:45 By : โปรแกรมเมอร์มือสำรอง
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาการเขียน Android เชื่อมต่อ Server แต่ใน localhost ใช้งานได้ปกติ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่