بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

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

مدیریت گفتگو
محمدرضا طبری 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام. من با استفاده از این کد میخوام یک مقداری رو به سمت سرور بفرستم و اونجا با استفاده از این مقدار یک مقدار دیگری رو بهم برگردونه ( آی دی رو میفرستم و در 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

علی 10 سال پیش

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

    OutputStream os = connect.getOutputStream();
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
                writer.write(params);
                writer.flush();
                writer.close();
                os.close();

نظرات

hossein_hr10 10 سال پیش
سلام یه جای $_POST از $_REQUEST استفاده کنید ببینید حل نمیشه
محمدرضا طبری 10 سال پیش

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

نظرات

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

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

  conn.setRequestMethod("POST");

نظرات


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