我有一個保留表格,它必須保存信息到MySQL
數據庫。在第一個Axtivity用戶填寫表格,然後惠特意圖我保存的信息和passit第二個活動,其中是按鈕保存。當我點擊按鈕保存什麼都不去數據庫。 這是活動1活動不會保存信息到MySQL數據庫
static String Name;
static String Email;
static String Phone;
static String Comment;
static String DateTime;
static String numberOfPeople;
private EditText editText1, editText3, editText2, editText4, datePicker, editText5; //, txtTime;
private Button btnMenues, btnTimePicker, btnCalendar;
CustomDateTimePicker custom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reservation);
custom = new CustomDateTimePicker(this,
new CustomDateTimePicker.ICustomDateTimeListener() {
@Override
public void onSet(Dialog dialog, Calendar calendarSelected,
Date dateSelected, int year, String monthFullName,
String monthShortName, int monthNumber, int date,
String weekDayFullName, String weekDayShortName,
int hour24, int hour12, int min, int sec,
String AM_PM) {
((EditText) findViewById(R.id.datePicker)).setText(calendarSelected.get(Calendar.DAY_OF_MONTH)
+ "/" + (monthNumber+1) + "/" + year
+ ", " + hour12 + ":" + min
+ " " + AM_PM);
}
@Override
public void onCancel() {
}
});
/**
* Pass Directly current time format it will return AM and PM if you set
* false
*/
custom.set24HourFormat(false);
/**
* Pass Directly current data and time to show when it pop up
*/
custom.setDate(Calendar.getInstance());
findViewById(R.id.btnCalendar).setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
custom.showDialog();
}
});
editText1 = (EditText) findViewById(R.id.personName);
editText3 = (EditText) findViewById(R.id.personPhone);
editText2 = (EditText) findViewById(R.id.personEmail);
editText4 = (EditText) findViewById(R.id.personComment);
datePicker = (EditText) findViewById(R.id.datePicker);
editText5 = (EditText) findViewById(R.id.editText5);
btnCalendar = (Button) findViewById(R.id.btnCalendar);
btnMenues = (Button) findViewById(R.id.continueWithReservation);
btnMenues.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Reservation.this, ReservationSecond.class);
String Name = editText1.getText().toString();
String Email = editText2.getText().toString();
String Phone = editText3.getText().toString();
String Comment = editText4.getText().toString();
String DateTime = datePicker.getText().toString();
String numberOfPeople = editText5.getText().toString();
intent.putExtra("Name", Name);
intent.putExtra("Email", Email);
intent.putExtra("Phone", Phone);
intent.putExtra("Comment", Comment);
intent.putExtra("DateTime", DateTime);
intent.putExtra("numberOfPeople", numberOfPeople);
startActivity(intent);
}
});
}
這是活動2
String getName;
String getEmail;
String getPhone;
String getComment;
String getDateTime;
String getnumberOfPeople;
private Button btnMenues;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reservation_second);
btnMenues = (Button) findViewById(R.id.finish);
btnMenues.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle extras = getIntent().getExtras();
if (extras != null) {
getName = extras.getString("Name");
getEmail = extras.getString("Email");
getPhone = extras.getString("Phone");
getComment = extras.getString("Comment");
getDateTime = extras.getString("DateTime");
getnumberOfPeople = extras.getString("numberOfPeople");
Log.e("err", getName + " " + getEmail + " " + getPhone + " " + getComment + " " + getDateTime + " " + getnumberOfPeople);
}
new SummaryAsyncTask().execute((Void) null);
startActivity(getIntent());
}
});
}
class SummaryAsyncTask extends AsyncTask<Void, Void, Boolean> {
private void postData(String getNameToData, String getEmailData, String getPhoneData,
String getCommentData, String getDateTimeData, String getnumberOfPeopleData) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://link.to.site/saveReservation.php");
try {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("Name", getNameToData));
nameValuePairs.add(new BasicNameValuePair("Email", getEmailData));
nameValuePairs.add(new BasicNameValuePair("Phone", getPhoneData));
nameValuePairs.add(new BasicNameValuePair("Comment", getCommentData));
nameValuePairs.add(new BasicNameValuePair("DateTime", getDateTimeData));
nameValuePairs.add(new BasicNameValuePair("numberOfPeople", getnumberOfPeopleData));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
}
catch(Exception e)
{
Log.e("log_tag", "Error: "+e.toString());
}
}
@Override
protected Boolean doInBackground(Void... params) {
postData(getName, getEmail, getPhone, getComment, getDateTime, getnumberOfPeople);
return null;
}
}
我已經把第二個活動的意圖部分日誌檢查Log.e("err", getName + " " + getEmail + " " + getPhone + " " + getComment + " " + getDateTime + " " + getnumberOfPeople);
和LogCat
我看到這個錯誤時按鈕保存到數據庫點擊
11-08 17:04:44.654: E/err(1112): Test [email protected] 33733721 Hello 26/11/2014, 4:50 PM 3
這是第一個活動
XML<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/personName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="@string/NameForReservation"
android:inputType="textPersonName"
android:maxLength="25" />
<EditText
android:id="@+id/personPhone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="@string/ContactPhone"
android:inputType="phone"
android:maxLength="16" />
<EditText
android:id="@+id/personEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="@string/CustomerEmailContact"
android:inputType="textEmailAddress"
android:maxLength="50" />
<EditText
android:id="@+id/personComment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="@string/CustomerCommentar"
android:maxLength="100" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1" >
<Button
android:layout_height="wrap_content"
android:layout_weight="0"
android:id="@+id/btnCalendar"
android:text="@string/ReservationDate"
android:layout_width="100dp" />
<requestFocus></requestFocus>
<EditText
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.27"
android:inputType="datetime" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/numberOfPeople"
android:layout_width="190dp"
android:layout_height="36dp"
android:layout_weight="0.04"
android:layout_marginLeft="10dp"
android:text="@string/numberOfPeople" />
<requestFocus></requestFocus>
<EditText
android:id="@+id/editText5"
android:layout_width="10dp"
android:layout_height="41dp"
android:layout_weight="0.02"
android:ems="10"
android:inputType="number"
android:maxLength="2"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/continueWithReservation"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:gravity="center"
android:text="@string/reservationContinue" />
</LinearLayout>
</LinearLayout>
任何想法我在這裏想念什麼?
UPDATE從服務器端php
文件
<?php
$icon = mysql_connect("localhost","user","pass");
if(!$icon)
{
die('Could not connect : ' . mysql_erroe());
}
mysql_select_db("db", $icon)or die("database selection error");
echo json_encode($data);
$Name=$_POST['Name'];
$Phone=$_POST['Phone'];
$Email=$_POST['Email'];
$Comment=$_POST['Comment'];
$DateTime=$_POST['DateTime'];
$numberOfPeople=$_POST['numberOfPeople'];
date_default_timezone_set("Europe/Bucharest"); // time zone
$DateTime= date("Y-m-d H:i:s");
mysql_query("INSERT INTO reservation (Name, Phone, Email, Comment, DateTime, numberOfPeople)
VALUES ('$Name', '$Phone', '$Email', '$Comment', '$DateTime', '$numberOfPeople')",$icon);
mysql_close($icon);
您可以登錄什麼是傳遞到你的PHP文件,並檢查你的Apache日誌,看看是否anaything是錯以上? – marshallino16 2014-11-08 23:53:22
你得到的HttpResponse是什麼?這是嚴格在你有的服務器上完成的,因爲就我所見,你的Android代碼沒有任何錯誤。 – mobilepotato7 2014-11-08 23:59:21
@goro你爲什麼要花這麼多時間來回答 – 2014-11-09 00:04:32