آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکلی عجیب در ارسال و دریافت مقدار به سمت سرور !

محمدرضا طبری  9 سال پیش  9 سال پیش
0 0

سلام. من با استفاده از این کد میخوام یک مقداری رو به سمت سرور بفرستم و اونجا با استفاده از این مقدار یک مقدار دیگری رو بهم برگردونه ( آی دی رو میفرستم و در php بین مقادیر در دیتابیس میگرده و مثلا سن رو برمیگردونه ) . من آی دی رو با استفاده از کد زیر میفرستم :

URLConnection conn = url.openConnection();
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setDoOutput(true);

OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(getdata);
wr.flush();


و اینم کد پی اچ پیم هست

 <?php
$connect=new mysqli("...");
$connect->set_charset('utf8');

$id = $_POST['id'];

  
$sql_query="SELECT sen FROM table WHERE id = '$id'"; 

$result = mysqli_query($connect, $sql_query);
          $persons = mysqli_fetch_array($result);

$array["counter"]=array(

array(
"th" => $persons['dlcount']
)


);

echo json_encode($array);
  
  
  
  
 
 ?>


اما موقعی که دارم با استفاده از ایمپوت استریم مقدار رو میگیرم null رو برمیگردونه !   الان تو کد php به جای   $id = $_POST['id'];  وقتی عدد آی دی مورد نظر رو میزارم قشنگ خروجی سن رو میده ! و در برنامه اندرویدی هم مطمئن هستم که آی دی صحیح رو تا زمان رایت شدن در سرور میفرسته. مشکل کجاست ؟؟؟! 

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
علی  9 سال پیش
0 0

فکر کنم باید اینجوری تعریف کنید در وب سرویستون :

    OutputStream os = connect.getOutputStream();
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
                writer.write(params);
                writer.flush();
                writer.close();
                os.close();
0 0
بازم درست نشد !!! عجیبه :-( (9 سال پیش)
0 0
سلام یه جای $_POST از $_REQUEST استفاده کنید ببینید حل نمیشه (9 سال پیش)
پاسخ به سوال 
محمدرضا طبری  9 سال پیش
0 0

مشکل فکر کنم اینجاست که در php مقادیر ارسالی رو نمیگیره !! نمیفهمم کجای کار تو php مشکل داره

0 0
کد فایل php را بزار این جوری نمیشه گفت (9 سال پیش)
0 0
ببینین اینجوری که خودت شما هم دارین میگین وقتی به جای $id = $_POST['id']; یه عدد میزارین php خروجی درست رو داره میده حالا یه تست بکنین اول همون [POST[id_$ رو چاپش کنین ببینین داخلش چیزی هست یا نه اگه نبود که مطمئنا نباید باشه تحت این شرایط که میگین ولی تستش کنین ، اشکال از کد php نیست و شما دارین با POST_$ یک حالا ورودی رو دریافت میکنین خب از سمت اندروید تا چیزی به روش POST و با نام id که شما تعریف کردین به این صفحه php ارسال نشه خب داخل متغر id همیشه خالی هست اشکال از اونوره که نمیتونه چیزی رو تحت عنوان متد POST با نام id به صفحه php شما ارسال کنه و شما هم با POST_$ بگیرینش و بخونینش (9 سال پیش)
پاسخ به سوال 
علی  9 سال پیش
0 0

اینو تو وب سرویس تعریف کردید؟ من در کد بالا که گذاشتید نمی بینم .

  conn.setRequestMethod("POST");

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .