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

سلام دوستان

من میخام با متد پست post تعدادی داده بفرستم ب سرور و میخام ریسپانسی که برام برمیگردونه یک json array باشه نه یک string.

این داده هایی که باید فرستاده باشن باید به صورت json object باشن؟؟

کسی تا حالا کار کرده ک راهنمایی کنه؟؟؟

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


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

من با hash mao دیتا رو پست میکنم اما هیچی پست نمیشه اونور

اینا کدهای من هستن

کجاها


import android.app.ProgressDialog;
import android.content.Context;
import android.widget.Toast;

import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;

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

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Lecturer {

    Context context;
    ProgressDialog progressDialog;
    String name;
    String lastname;
    String star_date;
    String end_date;


    public LecturerReport(Context context,final String name, final String lastname,
                          final String star_date, final String end_date ){

        this.context=context;
        this.name=name;
        this.lastname=lastname;
        this.star_date=star_date;
        this.end_date=end_date;
    }

    public void  getpost(final LecturerReport.onpost onpost)
    {

       final String url="http://localhost/local/user_report.php";
        
        

        progressDialog=new ProgressDialog(context);
        progressDialog.setMessage("در حال دریافت اطلاعات از سرور...");
        progressDialog.show();

        JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.POST, url, null, new Response.Listener<JSONArray>() {

            @Override
            public void onResponse(JSONArray response) {

        
                if (response.length()==0){
                    Toast.makeText(context,"empty",Toast.LENGTH_LONG).show();
                    progressDialog.dismiss();
                }

                List<GetSetReportUser> data=new ArrayList<>();

                for (int i=0;i<response.length();i++){

                    //get data

                        progressDialog.dismiss();
                    }

                    catch (JSONException e) {
                        e.printStackTrace();
                    }

                    data.add(getSetReportUser);
                }
                onpost.onpost(data);

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

                progressDialog.dismiss();

                android.support.v7.app.AlertDialog.Builder alertDialogBuilder=new  android.support.v7.app.AlertDialog.Builder(context);
                alertDialogBuilder.setMessage("خطا در برقراری ارتباط...");
                alertDialogBuilder.show();
                Toast.makeText(context, error+"", Toast.LENGTH_SHORT).show();

            }
        })
        {

            @Override
            protected Map<String,String> getParams()  {

                HashMap<String,String> hashMap=new HashMap<>();
                hashMap.put("name",name);
                hashMap.put("lastname",lastname);
                hashMap.put("star_date",star_date);
                hashMap.put("end_date",end_date);
                return hashMap;
            }
        };

        jsonArrayRequest.setRetryPolicy(new DefaultRetryPolicy(10000,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

        Volley.newRequestQueue(context).add(jsonArrayRequest);
    }

    public  interface onpost
    {
        void onpost(List<GetSetReportUser> data);
    }

}

مشکل داره؟؟

از سمت اندروید اروری نداره، فقط اینکه داده های هش مپ پست نمیشن به سرور

 

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


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

دو مورد:

1- حتما دیتاهای ورودی رو echo بگیرید که آیا دیتا ارسال شدهاست یا خیر

2-آیا Headerنیاز ندارد برای سمت سرور ؟

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


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

دیتاها ارسال نمیشن ب سرور.

 

این کدهای سمت سروره

<?php

 include "config.php";
 
  
 $name=$_POST['name'];
 $lastname=$_POST['lastname'];
 $star_date=$_POST['star_date'];
 $end_date=$_POST['end_date'];
 
   mysqli_query($con,"SET CHARSET UTF8");
    
    	$sql = 'SELECT * FROM view_user_search  WHERE name LIKE '%."$name".%'  AND lastname
        LIKE '%."$lastname".%' AND date BETWEEN '$star_date' AND '$end_date' ';

	 file_put_contents('a_test.txt',$sql); 
               
 $result=$con->query($sql);
 $array_list=array();
 $array=$result->fetch_all(MYSQLI_ASSOC);
 echo json_encode($array);
         
 ?>

به هدر نیازی ندارم.

اینم محتوای کوئری ک نشون میده مقادیر پست شده خالی هستن.

SELECT * FROM view_user_search  WHERE name LIKE '%%'  AND lastname LIKE '%%' AND date BETWEEN '' AND ''

 

 

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


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

آدرس رو اشتباه نوشتید

"http://localhost

نباید localhost بزارید.. باید بدین صورت بزارید

 final String url="http://127.0.0.1/local/user_report.php";

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


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

اینم درست کردم ولی نشد

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


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

آیا دیباگ کردید کدتون رو و وارد onErrorResponse نمیشه؟

 

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


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

نه واردش این متد نمیشه و در دیباگ داده ها در hash map هستن

داده ها null میرن ب سرور

 

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط MaHdI-09
      سلام.چطوری میشه از volley تو  rxandroid
      (rxjava) استفاده کرد..؟
      لطفا خیلی پایه ای توضیح بدید.ممنون 
    • توسط taleb
      سلام دوستان
      مخواستم یه کلاس بنویسم که یک فایل و یه سری داده ی رشته ای رو به وب سرویس ارسال کنم 
      اینکه یک فایل رو به سرور آپلود کنم مشکلی نیس ولی اینکه همراه اون یه سری اطلاعات بفرستم نمیدونم چجوریه
      لطفا اگه ممکنه یه راهنمایی کلی کنید ممنونم
    • توسط مهندس
      سلام دوستان.
      من یه اپلیکیشن تحت وب دارم که از سمت سرور رو با php نوشتم.
      بنظر شما باید در فایل های php خودم از سشن استفاده کنم؟؟
      ممکنه راهنمایی کنید؟
      خود وب سرویس و کتابخونه ی والی مگر امنیت رو تضمین اپ نمیکنند؟؟
    • توسط مهندس
      سلام دوستان.
      من با متد get در کتابخونه والی یکسری داده رو میگیرم ، url من اینجوریه
      final String url=String.format("http://localhost/test/user.php?name=%1$s&lastname=%2$s&star_date=" +"%3$s&end_date=%4$s",name,lastname,star_date,end_date) ; تو بعضی گوشی ها داده ها درست ب سرور ارسال میشن ولی تو بعضی گوشی ها داده ها اینجوری بصورت ???? هستن.
      البته من در سمت سرور utf8 رو ست کردم و احتمالا باید گیر از سمت جاوا باشه.
      این مشکل در متد get اتفاق میفته و در متد post هیچ مشکلی ندارم و داده ها درست ارسال میشن.
      دوستان مشکلش چیه؟؟؟؟؟؟؟؟
    • توسط مهندس
      سلام دوستان.
      یکسری اطلاعات دارم در برنامه ک قراره ب سمت سرور ارسال بشه، از کتابخونه ی volley استفاده میکنم، اطلاعات با موفقیت در دیتابیس phpmyadmin ذخیره میشه، اما موقعی ک میخام  select where بگیرم ک چنین رکوردی  با فلان ستون و فلان اطلاعاتذخیره شده یا نه؟ برای بعضی از ستونها کوئری جواب داره ولی برای بعضی ستونها میگه null هست در حالیکه اون ستون مقدار داره، و وقتی خودم دستی در دیتابیس بهمون ستون مقدار میدم، کوئری مقدار برمیگردونه.
      این مشکلش چیه؟؟؟
      فکر نمیکنم مشکل از برنامه نویسی اندروید باشه.
      کدهای php رو ضمیمه کردم، لطفا راهنمایی کنید.
       
      <?php if($_SERVER['REQUEST_METHOD']=='POST'){ include "config.php"; $name=$_POST['name']; $code=$_POST['code']; $clas=$_POST['clas']; $day=$_POST['day']; $clock=$_POST['clock']; $college=$_POST['college']; $semester=$_POST['semester']; $year=$_POST['year']; $cycle=$_POST['cycle']; $mobile=$_POST['mobile']; mysqli_query($con,"SET CHARSET UTF8"); $sql="SELECT count(*) FROM tbl_lesson WHERE name_lesson='".$name."' and code_lesson='".$code."' and name_class='".$clas."' AND day='".$day."' AND clock='".$clock."' AND college='".$college."' AND semester='".$semester."' AND year='".$year."' AND cycle='".$cycle."' AND user_mobile='".$mobile."'"; file_put_contents('test.txt',$sql); $result= mysqli_query($con,$sql); $check=mysqli_fetch_array($result); if($check[0]>0){ echo 'This Lesson last Saved In Database'; } else{ $sql="insert into tbl_lesson (name_lesson,code_lesson, name_class, day, clock, college, semester, year,cycle,user_mobile) VALUES (' $name', '$code', '$clas', '$day', ' $clock', '$college', '$semester', ' $year','$cycle','$mobile')"; mysqli_query($con,"SET CHARSET UTF8"); if(mysqli_query($con,$sql)){ echo "Success Save"; } else{ echo "Failed Save"; } } } ?>  

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios
  • فایل