登录表单在棉花糖中成功,但在kitkat os中没有

时间:2016-12-25 11:59:30

标签: php android mysql login passwords

我已经在marshmallow中创建并测试了一个登录表单,我收到了成功消息。

但是当我尝试在kitkat操作系统中运行相同的应用程序时,它会出错"登录错误"我从数据库返回。 (PHP)

任何想法为什么会发生这样的事情?

我看到的是密码字段在两个操作系统中都不同。

即当我键入marshmallow密码字段时,只显示点,但在kitkat os中按下的键将显示一秒钟。这是错误吗?

在这种情况下,我已经尝试了操作系统及其工作正常的注册表格(包括密码字段)。

d_login.php



<?php
	$host='mysql7.000webhost.com';
	$uname='a5502952_dds';
	$pwd='000dds';
	$db="a5502952_dds";

	$con = mysql_connect($host,$uname,$pwd) or die("connection failed");
	mysql_select_db($db,$con) or die("db selection failed");
	$user = $_POST['user'];
     $pass = $_POST['pass'];
	
	$r=mysql_query("SELECT Count(password) as c,role,username from login WHERE username='$user'and password='$pass' and approve='approve'");

	while($row=mysql_fetch_array($r))
	{
		
		$flag[role]=$row['role'];
		$count=$row['c'];
		$flag[user]=$row['username'];
		
	}
if($count==1){
	 
	print(json_encode($flag));
}
else{
		$flag[role]="5";
		$flag[user]="5";

		print(json_encode($flag));

}
	mysql_close($con);
?>
&#13;
&#13;
&#13;

&#13;
&#13;
public class LoginActivity extends AppCompatActivity  {

    EditText ed1,ed2;
    Button btn1,btn2;
    String useracc=null;
    //Fetch//
    String role=null;
    String approve=null;
    InputStream is=null;
    String result2=null;
    String line=null;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        ed1=(EditText)findViewById(R.id.user);
        ed2=(EditText)findViewById(R.id.pass);


        btn1=(Button)findViewById(R.id.sign);
        btn2=(Button)findViewById(R.id.reg);


        btn1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                if (ed1.getText().toString().length() == 0 || ed1.getText().toString().length() < 3) {
                    ed1.setError("Enter valid username");
                    return;
                } else if (ed2.getText().toString().length() == 0 || ed2.getText().toString().length() < 3) {
                    ed2.setError("Enter valid password");
                    return;
                }
                else {
                    if (isNetworkAvailable()) {
                        Toast.makeText(getApplicationContext(), "Please wait", Toast.LENGTH_SHORT).show();

                        insert();

                    } else {
                        Toast.makeText(getApplicationContext(), "Please check the internet connection", Toast.LENGTH_LONG).show();

                    }
                }
            }
        });

        btn2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                    Intent intent2 = new Intent(LoginActivity.this, RegisterActivity.class);
                    startActivity(intent2);
            }
        });
    }

    private boolean isNetworkAvailable() {
        ConnectivityManager connectivityManager
                = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }

    public void  insert() {


        String user = ed1.getText().toString();
        String pass = ed2.getText().toString();
        insertToDatabase(user,pass);
    }

    private void insertToDatabase(final String user,final String pass) {
        class SendPostReqAsyncTask extends AsyncTask<String, Void, String> {
            @Override
            protected String doInBackground(String... params) {

                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("user", user));
                nameValuePairs.add(new BasicNameValuePair("pass", pass));



                try
                {
                    HttpClient httpclient2 = new DefaultHttpClient();
                    HttpPost httppost2 = new HttpPost("http://www.diamonddiscretions.tk/d_login.php");
                    httppost2.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    HttpResponse response2 = httpclient2.execute(httppost2);
                    HttpEntity entity2 = response2.getEntity();
                    is = entity2.getContent();
                    Log.e("pass 1", "connection success ");


                }
                catch(Exception e)
                {
                    Log.e("Fail 1", e.toString());
                    Toast.makeText(getApplicationContext(), "Invalid IP Address"+e.toString(),
                            Toast.LENGTH_LONG).show();
                }

                try
                {
                    BufferedReader reader = new BufferedReader
                            (new InputStreamReader(is,"iso-8859-1"),8);
                    StringBuilder sb = new StringBuilder();
                    while ((line = reader.readLine()) != null)
                    {
                        sb.append(line + "\n");
                    }
                    is.close();
                    result2 = sb.toString();
                    Log.e("pass 2", "connection success ");
                }
                catch(Exception e)
                {
                    Log.e("Fail 2", e.toString());
                }

                try
                {
                    JSONObject json_data = new JSONObject(result2);
                    role=String.valueOf(json_data.getInt("role"));
                    useracc=json_data.getString("user");

                }
                catch(Exception e)
                {
                    Log.e("Fail 3", e.toString());
                }

                return "success";

            }

            @Override
            protected void onPostExecute(String result) {
                super.onPostExecute(result);

                if(role=="0") {

                    Intent intent1 = new Intent(LoginActivity.this, MyProfile.class);
                     intent1.putExtra("Value", String.valueOf(useracc));
                    startActivity(intent1);
                }
                else if(role.toString()=="5" && useracc.toString()=="5") {
                    Toast.makeText(getApplicationContext(),"Incorrect Login", Toast.LENGTH_LONG).show();
                }
                else{
                    Toast.makeText(getApplicationContext(),"Incorrect Login", Toast.LENGTH_LONG).show();

                }


            }

        }
        SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask();
        sendPostReqAsyncTask.execute(user, pass);
    }
}
&#13;
&#13;
&#13;

activity_login.xml

&#13;
&#13;
<android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="80dp">

                <EditText
                    android:id="@+id/user"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="username"
                    android:inputType="text"
                    android:maxLines="1"
                    android:textColor="@color/black"
                    android:singleLine="true" />

            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"


                android:layout_marginTop="10dp">

                <EditText
                    android:id="@+id/pass"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textPassword"
                    android:maxLines="1"
                    android:singleLine="true"
                    android:textColor="@color/black"

                    android:hint="password" />

            </android.support.design.widget.TextInputLayout>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

这是一个愚蠢的java错误。

我正在使用if(useracc ==&#34; 5&#34;)这是错误的。我们应该总是使用.equals来比较字符串。

所以它总是返回到else并给出登录错误。

:D