habibn

مشکل در ارسال یوزر به دیتابیس پی اچ پی در اندروید

3 ارسال در این موضوع قرار دارد

سلام من پروژه ای ساختم که ارتباط با سرور پی اچ پی هست پروزه در حالت عادی با فایل رابط پی اچ پی در سرور اتصال می شود و فایل res خالی نیست ولی با تغییر کد به شکل زیر که اطلاعات را از فایل اندروید به فایل رابط پی اچی پی برای اعتبارسنجی می فرستد، هنگامی که روی دکمه ایی که در layot کلیک می کنم متغیر res خالی نشان می دهد لطفا کد هایم رو چک کنید مشکل کجاست با تشکر

صفحه main:

[shcode=java]

package com.example.testi;

import android.support.v7.app.ActionBarActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.Toast;

public class Main extends ActionBarActivity {

    public static String res="";

   

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

       

        Button  btn=(Button)findViewById(R.id.btn1);

   

    new getdata("http://samsung.shoptablets.ir/new.php", "habib").execute();

   

   

    btn.setOnClickListener(new OnClickListener() {

       

        public void onClick(View arg0) {

           

       

               

                Toast.makeText(getApplicationContext(), res, Toast.LENGTH_LONG).show();

       

        }

    });

    }

}

[/shcode]

صفحه getdata:

[shcode=java]

package com.example.testi;

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.net.URL;

import java.net.URLConnection;

import java.net.URLEncoder;

import android.os.AsyncTask;

public class getdata extends AsyncTask {

    private String Link="";

    private String User="";

   

   

    public getdata(String link,String user){

        Link=link;

       

        User=user;

       

       

       

       

    }

   

    protected String doInBackground(Object... arg0) {

       

       

        try{

           

            String data=URLEncoder.encode("Username","UTF8")+"="+URLEncoder.encode(User,"UTF8");

           

           

            URL mylink=new URL(Link);//تبدیل به ادرس اینترنتی ابجیکت لینک

            URLConnection connect=mylink.openConnection();//ادرس اینترنتی را به شیوه ایی که بشه ازش استتفاده کرد باز می کنیم

           

            connect.setDoInput(true);//از کانکت می خواهم خروججی بگیریم

            OutputStreamWriter wr=new OutputStreamWriter(connect.getOutputStream());

            wr.write(data);

            wr.flush();

            BufferedReader reader=new BufferedReader(new InputStreamReader(connect.getInputStream()));

           

            StringBuilder sb=new StringBuilder();

            String line=null;

            while((line=reader.readLine()) !=null){

               

               

                sb.append(line);//دو رشته را می چسباند

       

            }

           

            Main.res=sb.toString();

           

           

           

           

        }catch(Exception e){

           

           

           

        }

       

   

       

       

       

        return "";

    }

}

[/shcode]

فایل رابط پی اچ پی

[shcode=java]

<?php

$con=mysql_connect("localhost","**********","*******");

$database=mysql_select_db("storetab_dbshop",$con);

$user=$_POST['username'];

$sql="select * from Users where Username='$user'  ";

$result=mysql_Query($sql);

$row=mysql_fetch_array($result);

if($row[0])

echo $row[1];

else

echo "no user";

mysql_close($con);

?>

[/shcode]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

دوست عزیز

getdata رشته بر میگردونه !! و وقتی هم برمیگردونه خالیه این کد return ""

این که خالی برمیگردونه که هیچ اما res که شما تعریف کردید باز هم خالی است ! اصلا کاری با res نکردید که مقداری بگیره !!

همون "" که تعریف کرده اید رو نشون میده :)

موفق  باشید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

دوست عزیز

getdata رشته بر میگردونه !! و وقتی هم برمیگردونه خالیه این کد return ""

این که خالی برمیگردونه که هیچ اما res که شما تعریف کردید باز هم خالی است ! اصلا کاری با res نکردید که مقداری بگیره !!

همون "" که تعریف کرده اید رو نشون میده :)

موفق  باشید

سلام ولی من با استفاده از این دستور             Main.res=sb.toString();

متغیر res را مقدار دهی کردم و چون  متغیر res برای اکتیوتی main هم است خودش مقداردهی می شه.

کاری که من تو این دو صفحه کردم این بود که از اکتیوتی main ادرس و یوزری که در mysql استفاده کردم را به getdata می فرستم و getdata هم اون رو به فایل رابط پی اچی پی می فرسته الان من باید چیکار کنم کار کنه اخه همین تو یه فایل اموزشی بود کار کرد و مشکلی نداشت!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری