habibn 1 ارسال شده در ۱۱ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱۱ تیر ۱۳۹۴ سلام من پروژه ای ساختم که ارتباط با سرور پی اچ پی هست پروزه در حالت عادی با فایل رابط پی اچ پی در سرور اتصال می شود و فایل 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] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۱۱ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱۱ تیر ۱۳۹۴ سلام دوست عزیز getdata رشته بر میگردونه !! و وقتی هم برمیگردونه خالیه این کد return "" این که خالی برمیگردونه که هیچ اما res که شما تعریف کردید باز هم خالی است ! اصلا کاری با res نکردید که مقداری بگیره !! همون "" که تعریف کرده اید رو نشون میده موفق باشید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
habibn 1 ارسال شده در ۱۱ تیر ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۱۱ تیر ۱۳۹۴ سلام دوست عزیز getdata رشته بر میگردونه !! و وقتی هم برمیگردونه خالیه این کد return "" این که خالی برمیگردونه که هیچ اما res که شما تعریف کردید باز هم خالی است ! اصلا کاری با res نکردید که مقداری بگیره !! همون "" که تعریف کرده اید رو نشون میده موفق باشید سلام ولی من با استفاده از این دستور Main.res=sb.toString(); متغیر res را مقدار دهی کردم و چون متغیر res برای اکتیوتی main هم است خودش مقداردهی می شه. کاری که من تو این دو صفحه کردم این بود که از اکتیوتی main ادرس و یوزری که در mysql استفاده کردم را به getdata می فرستم و getdata هم اون رو به فایل رابط پی اچی پی می فرسته الان من باید چیکار کنم کار کنه اخه همین تو یه فایل اموزشی بود کار کرد و مشکلی نداشت! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .