بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
گرفتن مقدار در PHP از اندروید
دوستان من میخام مقداری که کاربر در EditText وارد میکند بگیرم. و اونو اضافه کنم ببه اول فایلش و بفرستم به سرور . کدهای زیر برای این کارن ولی نمیدونم چرا کار نمیکنه. در کد اندروید مقادیر ست میشن و مشکلی نیست و فایل هم ارسال میشه به سرور و در پوشه ذخیره میشه ولی اون مقداری که کاربر وارد کرده (tel$ در کد php ) ست نمیشه و تهی هست.
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("mobile",CustomerMobile));
sendData(params);
-------------------------
private void sendData(ArrayList<NameValuePair> params){
String result = Webservice.readUrl(UploadServerURL, params);
}
---------------------------------------
PHP Code :
<?php
$file_path = "files/";
$dates = date('YmdHis');
$tel=$_REQUEST['mobile'];
$file_path = $file_path . $tel . $dates . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else{
echo "fail";
}
?>
برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال
علی
10 سال پیش
+1
0
چرا مقداری که توسط تابع sendData برگردونده میشه یعنی خط زیر fail هست ؟ کجای کار اشتباهه ؟
String result = Webservice.readUrl(upLoadServerUri , params);
پاسخ به سوال
mostafa1393
10 سال پیش
+1
0
امروز این زدم جواب گرفتم
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", edtName.getText().toString()));
params.add(new BasicNameValuePair("email", edtEmail.getText().toString()));
params.add(new BasicNameValuePair("phone", "" + edtPhone.getText().toString()));
params.add(new BasicNameValuePair("mtnnazar", actText.getText().toString()));
<?php
if (isset($_REQUEST['action'])){ mysqli_query("SET NAMES 'utf8'"); $action = $_REQUEST['action']; } else { echo "Invalid Data"; exit; } if ($action=="insert"){ insertData(); } /** * */ function connectToDatabase(){ $connection=mysqli_connect("localhost", "root", "", "sssssss"); mysqli_set_charset($connection, 'utf8'); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } return $connection; } function insertData(){ $connection = connectToDatabase(); $as_version=$_REQUEST['as_version']; $berand=$_REQUEST['berand']; $width=$_REQUEST['width']; $height=$_REQUEST['height']; $model=$_REQUEST['model']; $imei=$_REQUEST['imei']; $result = mysqli_query($connection, "INSERT INTO amar VALUES(0, '$as_version','$berand','$width',
'$height','$model','$imei' )"); mysqli_close($connection); }
@Override
public void onCreate() {
super.onCreate();
DisplayMetrics displayMetrics = G.context.getResources().getDisplayMetrics();
TelephonyManager telephonyManager = (TelephonyManager) G.context
.getSystemService(Context.TELEPHONY_SERVICE);
ArrayList<NameValuePair> params1 = new ArrayList<NameValuePair>();
params1.add(new BasicNameValuePair("width", "" + displayMetrics.widthPixels));
params1.add(new BasicNameValuePair("height", "" + displayMetrics.heightPixels));
params1.add(new BasicNameValuePair("berand", Build.BRAND));
params1.add(new BasicNameValuePair("model", Build.MODEL));
params1.add(new BasicNameValuePair("as_version", Build.VERSION.RELEASE));
params1.add(new BasicNameValuePair("imei", telephonyManager.getDeviceId()));
insert2(params1);
}
public static void insert2(ArrayList<NameValuePair> params) {
Webservice.readUrl("http://server.ir/insert.php?action=insert", params);
}
پاسخ به سوال
علی
10 سال پیش
+1
0
بله کد درسته . کد خودمم درسته ولی من مشکلم داخل تابع readUrl هست
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost(url);
Log.i("LOG", " Parameters is = " + params.get(4).getName() + " " + params.get(4).getValue());
if(params!=null) {
method.setEntity(new UrlEncodedFormEntity(params));
}
HttpResponse response = client.execute(method);
InputStream inputStream = response.getEntity().getContent();
Log.i("LOG" , " InputStream Length is = " + inputStream.available());
String result = ConvertInputStreamToString(inputStream);
Log.i("LOG", " Method String Result is = " +result);
return result;
ولی این تابع مقادیر رو ست نمیکنه . آدرس url سایت هم درسته . چون عکسم آپلود میشه داخل سایت اما متغیر tel$ ست نمیشه. در تابع بالا هم مقادیر response به بعد ست نشده اند.
پاسخ به سوال
علی
10 سال پیش
0
0
<?php
$file_path ="files/";
$dates = date('YmdHis');
$tel=$_REQUEST['mobile'];
$file_path = $file_path . $tel . $dates . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)){
echo "success";
}else{
echo "fail";
}
?>
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .