kamran_14 0 ارسال شده در مهر 98 سلام خسته نباشید این متد برای ثبت اطلاعات در سرور هست. مشکلی در این کد نیست. فقط چرا نمیشه با متد GET اطلاعات رو فرستاد؟ مگه متد GET برای ارسال اطلاعات نیست؟ من GET وقتی مینویسم عمل نمیکنه private void sendInfo(final String email, final String username, final String password, final String mobile) { String Url="http://192.168.43.3/shop/register.php"; StringRequest stringRequest=new StringRequest ( Request.Method.POST, Url, new Response.Listener<String> () { @Override public void onResponse(String response) { Log.i ( TAG, "onResponse: " ); try { JSONObject jsonObject=new JSONObject ( response ); String resualt=jsonObject.getString ( "response" ); if (resualt.matches ( "ok" )) Toast.makeText ( getContext (), "Successfully is Registred", Toast.LENGTH_SHORT ).show (); else Toast.makeText ( getContext (),"Faild",Toast.LENGTH_LONG ).show (); } catch (JSONException e) { e.printStackTrace (); } } }, new Response.ErrorListener () { @Override public void onErrorResponse(VolleyError error) { Toast.makeText ( getContext (), error+"", Toast.LENGTH_SHORT ).show (); } } ){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String> params=new HashMap<> ( ); params.put ( "email",email ); params.put ( "username",username ); params.put ( "password",password ); params.put ( "mobile",mobile ); return params; } }; stringRequest.setRetryPolicy (new DefaultRetryPolicy (10000,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT) ); Volley.newRequestQueue ( getContext () ).add ( stringRequest ); } نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در مهر 98 در در 9 مهر 1398 در 09:33، kamran_14 گفته است : سلام خسته نباشید این متد برای ثبت اطلاعات در سرور هست. مشکلی در این کد نیست. فقط چرا نمیشه با متد GET اطلاعات رو فرستاد؟ مگه متد GET برای ارسال اطلاعات نیست؟ من GET وقتی مینویسم عمل نمیکنه private void sendInfo(final String email, final String username, final String password, final String mobile) { String Url="http://192.168.43.3/shop/register.php"; StringRequest stringRequest=new StringRequest ( Request.Method.POST, Url, new Response.Listener<String> () { @Override public void onResponse(String response) { Log.i ( TAG, "onResponse: " ); try { JSONObject jsonObject=new JSONObject ( response ); String resualt=jsonObject.getString ( "response" ); if (resualt.matches ( "ok" )) Toast.makeText ( getContext (), "Successfully is Registred", Toast.LENGTH_SHORT ).show (); else Toast.makeText ( getContext (),"Faild",Toast.LENGTH_LONG ).show (); } catch (JSONException e) { e.printStackTrace (); } } }, new Response.ErrorListener () { @Override public void onErrorResponse(VolleyError error) { Toast.makeText ( getContext (), error+"", Toast.LENGTH_SHORT ).show (); } } ){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String> params=new HashMap<> ( ); params.put ( "email",email ); params.put ( "username",username ); params.put ( "password",password ); params.put ( "mobile",mobile ); return params; } }; stringRequest.setRetryPolicy (new DefaultRetryPolicy (10000,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT) ); Volley.newRequestQueue ( getContext () ).add ( stringRequest ); } سلام، متد Get معمولاً روشی برای درخواست اطلاعات هست نه ارسال! هرچند برای ارسال هم استفاده میشه اما اگر شما میخواهید اطلاعاتی مثل همین کدی که میبینم رو در قالب کوئری نه url ارسال کنید بهتره متد رو به Post تغییر بدین. خیلی ساده بخوام توضیح بدم هرجا که قرار بود مقادیری رو به عنوان کوئری به سمت سرور ارسال کنید حتماً از Post استفاده کنید. در این صورت لازم نیست پارامترها رو در قالب url ارسال کنید. مثالی هم که زدین متد Post هست، اگر دقت کنید نوع params داره چند تا نوع با مقدار رو ارسال میکنه. سمت سرور هم مثلاً با Php با در نظر گرفتن نوع درخواست از Post به این شکل میتونید مقدار رو بگیرید. $email = $_POST["email"]; $username = $_POST["username"]; $password = $_POST["password"]; $mobile = $_POST["mobile"]; echo $email; ... ..... ...... 1 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kamran_14 0 ارسال شده در مهر 98 (ویرایش شده) ممنون از جوابتون ولی من میخواستم بدونم با متد GET چطوری میشه اطلاعاتو ارسال کرد؟ یعنی میتوان همین برنامه رو طوری تغییر داد که به جای post ما از get استفاده کرد؟ ویرایش شده در مهر 98 توسط kamran_14 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در مهر 98 در ۱ ساعت قبل، kamran_14 گفته است : ممنون از جوابتون ولی من میخواستم بدونم با متد GET چطوری میشه اطلاعاتو ارسال کرد؟ یعنی میتوان همین برنامه رو طوری تغییر داد که به جای post ما از get استفاده کرد؟ چرا گیر دادی به متد Get؟ در این متد زمانی میتونید پارامتری رو ارسال کنید که در قالب url باشه. برای مثال به این شکل: http://www.domain.com/request.php?username=myname&email=myemail در این صورت دیگه نمیتونید کوئریهای سفارشیِ خارج از url ارسال کنید. 1 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kamran_14 0 ارسال شده در مهر 98 چون میخواستم تفاوتشون رو عملی ببینم. ولی قبلا گفته شده بود استاندارد get,post در همه ی زبانهان یکسانه ولی در html میشد به سرور اطلاعات فرم رو فرستاد. خودش در آدرس بار نشون میداد و ما کویری استرینقها رو ما نمینویشتیم نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در مهر 98 در 1 دقیقه قبل، kamran_14 گفته است : چون میخواستم تفاوتشون رو عملی ببینم. ولی قبلا گفته شده بود استاندارد get,post در همه ی زبانهان یکسانه ولی در html میشد به سرور اطلاعات فرم رو فرستاد. خودش در آدرس بار نشون میداد و ما کویری استرینقها رو ما نمینویشتیم همینطوره خب، منم اشاره کردم مثالش رو که تحت Get باید پارامترها رو در Url بیاری. توی اندروید و مثالی که زدی تابع getParams اضافه هست و صرفاً در روش Post به درد میخوره. با توجه به مثال خودت همچین کاری کافی هست : String Url="http://192.168.43.3/shop/register.php?username=name&email=mymail"; 1 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kamran_14 0 ارسال شده در مهر 98 در ۱ ساعت قبل، فرهاد شیری گفته است : البته این متد getParams مربوط به کلاس volly هست که چه برای post چه برای get بایدoverride بشه! آقای شیری خیلی ممنون. پس میشه از نوشته ی شما فهمید که از سمت اندروید هم میتوان با متد GET به سرور اطلاعات فرستاد یعنی با کمک کلاس والی. آقای شیری ممنون میشم اگر مثال ساده ای بزنید که بتوان اطلاعات را با متد GET به سرور اطلاعات فرستاد. من در این کد بالا که فرستادم وقتی به جای POST از متد GET استفاده میکنم خطا میدهد. چرا؟ مگر هر دو کار ارسال اطلاعات به سرور را انجام نمیدهند؟ در حالی که در HTML وقتی میخواستیم با GET اطلاعات رو بفرستیم خودمان دستی در نوار آدرس نمینوشتیم. ببخشید که سوالمو دوباره پرسیدم چون از من خواسته شده در مورد GET تحقیق کنم نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر