رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

سلام من پروژه ای ساختم که ارتباط با سرور پی اچ پی هست پروزه در حالت عادی با فایل رابط پی اچ پی در سرور اتصال می شود و فایل 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 هم اون رو به فایل رابط پی اچی پی می فرسته الان من باید چیکار کنم کار کنه اخه همین تو یه فایل اموزشی بود کار کرد و مشکلی نداشت!

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...