11 C> \ wamp \ www \ gcm_server_php \ check_user.php 中未定义的索引:phone_no 得到此错误,但PHP代码在浏览器中正常工作并获得响应代码200
Android代码
package com.pushnotification;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class JsonArray extends Activity {
Button btnAsonArray;
JSONObject listOfNumbers = null;
String listNumber;
String browserString = "?phone_no=";
String url = CommonUtilities.LOCAL_CHECK_USER_URL;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.josn_array);
btnAsonArray = (Button) findViewById(R.id.josnArray);
btnAsonArray.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
readNumberAndNAme();
// Log.e("", "In Onclick Methos :- " + jsonObject);
}
});
}
private void readNumberAndNAme() {
try {
Log.e("", "in Read Numbers And Name Method :- ");
listNumber = "9465383066";
HttpResponse re = HTTPPoster
.doPost(url, browserString + listNumber);
String temp = EntityUtils.toString(re.getEntity());
Log.e("", "=======Task Comleted sucessfully ========" + temp);
int j = 0;
while (j != 5) {
Toast.makeText(this, "Length of Result :- " + temp.length(),
Toast.LENGTH_LONG).show();
j++;
}
if (temp.compareTo("SUCCESS") == 0) {
Log.e("", "Sending complete!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
另一类android
package com.pushnotification;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
import android.util.Log;
public class HTTPPoster {
public static HttpResponse doPost(String url, String c)
throws ClientProtocolException, IOException {
Log.e("", "URL from Http Poster Class :- " + url
+ "Data to send server :- " + c);
HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
request.setHeader("Content-type", "application/json");
HttpEntity entity;
StringEntity s = new StringEntity(c.toString());
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
"application/json"));
entity = s;
request.setEntity(entity);
HttpResponse response;
response = httpclient.execute(request);
Log.e("", "================Method Executed sucessfully================"
+ response);
return response;
}
}
PHP代码
$phone_no = $_REQUEST["phone_no"];
include_once 'GCM.php';
include_once 'db_functions.php';
$gcm = new GCM();
$db = new db_functions();
$result = $db->isPhoneExisted($phone_no);
if($result>0)
{
$message = array("product" => "abc");
echo "true";
}
else
{
$message = array("product" => "abc");
echo "false";
}
?>
答案 0 :(得分:0)
您的变量$phone_no
未设置或定义,因此您会看到此错误
使用isset
$phone_no = $_REQUEST["phone_no"];
if(isset($phone_no)){
include_once 'GCM.php';
include_once 'db_functions.php';
$gcm = new GCM();
$db = new db_functions();
$result = $db->isPhoneExisted($phone_no);
if($result>0)
{
$message = array("product" => "abc");
echo "true";
}
else
{
$message = array("product" => "abc");
echo "false";
}
}else{
echo "phone no. is empty";
}
?>
答案 1 :(得分:0)
您需要设置$phone_no
变量
if(isset($_REQUEST["phone_no"])) {
$phone_no = $_REQUEST["phone_no"];
}