مشکلی عجیب در ارسال و دریافت مقدار به سمت سرور !
سلام. من با استفاده از این کد میخوام یک مقداری رو به سمت سرور بفرستم و اونجا با استفاده از این مقدار یک مقدار دیگری رو بهم برگردونه ( آی دی رو میفرستم و در 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']; وقتی عدد آی دی مورد نظر رو میزارم قشنگ خروجی سن رو میده ! و در برنامه اندرویدی هم مطمئن هستم که آی دی صحیح رو تا زمان رایت شدن در سرور میفرسته. مشکل کجاست ؟؟؟!
فکر کنم باید اینجوری تعریف کنید در وب سرویستون :
OutputStream os = connect.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
writer.write(params);
writer.flush();
writer.close();
os.close();
مشکل فکر کنم اینجاست که در php مقادیر ارسالی رو نمیگیره !! نمیفهمم کجای کار تو php مشکل داره
اینو تو وب سرویس تعریف کردید؟ من در کد بالا که گذاشتید نمی بینم .
conn.setRequestMethod("POST");
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .